Giter Club home page Giter Club logo

gesetze's Introduction

Deutsche Bundesgesetze und -verordnungen

Dieses Git Repository enthält alle Deutschen Bundesgesetze und -verordnungen im Markdown-Format. Als Quelle dienen die XML-Versionen der Gesetze von www.gesetze-im-internet.de.

Warum Git?

Jeder Bürger kann den aktuellen Stand von Gesetzen sehr einfach online finden. Allerdings ist die Entstehung, die historische Entwicklung und die Aktualisierung von Gesetzen nicht einfach und frei nachvollziehbar. Das liegt daran, dass Gesetze nur in ihrer aktuellsten Version präsentiert werden und Änderungen an diesen Gesetzen nicht maschinenlesbar vorliegen. Dies soll hier geändert werden: die aktuellste Version eines Gesetzes wird hier mit Git versioniert gespeichert. Das erlaubt es, die Mächtigkeit von Git auf Gesetze und auf den Gesetzgebungsprozess anzuwenden. Das Einpflegen der kompletten deutschen Gesetzesvergangenheit in Git ist das ferne Ziel.

Warum Markdown?

Gesetze sind Prosa, sie enthalten keine maschinenlesbare Semantik. Eine Auszeichnungssprache wie XML verringert die Menschenlesbarkeit, erschwert die maschinelle Erkennung von Unterschieden und beinhaltet viel überflüssige Syntax.

Markdown ist eine intuitive Formatierung von Text, die ohne zusätzliche Programme für Menschen les- und schreibbar ist. Das passt zu Gesetzestexten, die nur minimale Formatierung benötigen. Weiterhin lässt sich Markdown in andere Formate wie HTML konvertieren und ist damit maschinen-formatierbar.

Pull Requests

Pull Requests können gerne geöffnet werden. Natürlich werden nur solche gemergt, die tatsächlich vom Bundestag verabschiedet wurden und Gesetz geworden sind.

Dennoch sind Änderungsvorschläge an Gesetzen von Parteien oder aus der Zivilgesellschaft als Pull Request nützlich. Die Änderungen lassen sich einfacher im Kontext verstehen, können direkt am Gesetz diskutiert und nachvollziehbar verändert werden.

Offizielle Gesetzesentwürfe, wenn öffentlich verfügbar, werden vom Fork der Bundesregierung als Pull Request an dieses Repository gestellt.

Fehler und Bitte um Mithilfe

Es wird kein Anspruch auf Korrektheit erhoben. Bitte verlassen Sie sich nur auf offizielle Quellen.

Die XML-Quelle ist nicht fehlerfrei und die Konvertierung von XML nach Markdown ist es auch nicht. Das liegt daran, dass die Gesetze im XML-Format das Markup auch für stilistische Auszeichnungen statt nur für semantische Auszeichnungen nutzen. Dies erschwert eine Konvertierung und führt zu fehlerhaftem Markdown. Da fehlerhaftes Markdown immer noch gut lesbar ist, führt dies erst bei einer Weiterverarbeitung zu Problemen.

Commits richten sich nach Möglichkeit nach den Veröffentlichungen im Bundesgesetzblatt und im Amtlichen Teil des Bundesanzeigers. Das funktioniert nicht immer problemlos und erfordert menschliche Unterstützung. Werkzeuge, die die Aktualisierung vereinfachen finden sich im gesetze-tools repository. Mithilfe ist erwünscht.

Um die Fähigkeiten von Git optimal zu nutzen, wird es nötig sein Commits, die Gesetzesänderungen einbringen, von Commits, die z.B. Korrekturen an der Syntax vornehmen oder die README verändern zu unterscheiden. Hier wird um Mithilfe bei der Ausarbeitung eines Git-Workflows für dieses Repostiory gebeten.

Rechtliches

Gesetze sind amtliche Werke und unterliegen nicht dem Urheberrecht.

Kontakt

Twitter: @bundesgit


(english version)

German Federal Laws and Regulations

This Git repository contains all German federal laws and regulations in Markdown format. The source is the XML version of the laws from www.gesetze-im-internet.de.

Why Git?

All German citizens can easily find an up-to-date version of their laws online. However, the legislation process, the historic evolution and the updates to laws are not easily and freely trackable. The reason is that laws are only published in their most recent version and changes to laws are not available in a machine-readable format. This should change: the current state of laws will be stored in this repository under Git version control. This allows the power of Git to be applied to the legislation process. Integrating the whole history of German law changes in Git is the ambitious goal.

Why Markdown?

Laws are prose, they do not contain machine-readable semantics. A complex markup language like XML reduces the human-readability, makes detection of differences harder and contains lots of unnecessary syntax.

Markdown is an intuitive formatting of text, that is readable and writable by humans without the need of additional tools. That fits the nature of laws that only need minimal formatting. Furthermore, Markdown is machine-formattable and can be converted to other formats like HTML.

Pull Requests

You are encouraged to open pull request. Of course only valid legislation voted on by the Bundestag will be merged.

However, law change proposals as pull requests coming from parties or NGOs can be useful to understand context, discuss changes directly where they will happen and keep changes accountable.

Official change proposals from our government will be opened as pull requests from the fork of the Bundesregierung as they become publicy available.

Mistakes and call for help

There is no guarantee on correctness. Please only trust official sources.

The source XML is not without mistakes and neither is the conversion to Markdown. That's because the source XML uses markup for style and not only for semantics. This makes conversion harder and comes down to faulty Markdown. However, faulty Markdown is still very readable and will only cause problems when processed further.

Commits will be based on published changes (Bundesgesetzblatt and Bundesanzeiger). That doesn't work without problems and requires human interaction. Tools that make updates easier can be found in the gesetze-tools repository. Help needed.

In order to make the most out of Git we need to distinguish between law change commits and commits that fix e.g. syntax mistakes. Please help shape a Git Workflow for this repository.

Legal Stuff

All laws are offical works and are not under copyright law.

Contact

Twitter: @bundesgit

gesetze's People

Contributors

philipp-kempgen avatar shapeshed avatar stefanw avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.