c3e / grundgesetz-dev

DocPatch Dev Repo
99 stars 18 forks source link

Grundgesetz für die Bundesrepublik Deutschland (grundgesetz-dev)

Dieses Repository ermöglicht das Nachvollziehen aller Veränderungen am Grundgesetz für die Bundesrepublik Deutschland seit seinem Inkrafttreten im Jahr 1949. Es enthält den vollständigen Gesetzestext zuzüglich vieler Informationen, die damit in Verbindung stehen. Somit steht ein umfassendes Werk zur Verfügung, die Entwicklung der deutschen Verfassung transparenter zu machen.

Hintergrund

Dieses Projekt ist Teil der Open-Data-Bewegung und unterliegt der Open Definition. Unser Ziel ist, öffentliche Daten leicht zugänglich zu machen; unser Weg ist, freie Software und freie Formate für unsere Arbeit zu verwenden; unsere Idee ist, das Grundgesetz für die Bundesrepublik Deutschland als das Beispiel für öffentliche Daten wie Verfassungen und Gesetzestexte von unfreien Formaten zu "befreien" und umfassend zu erschließen.

Gesetzestexte sind wie Software: der "Quelltext" ist gut strukturiert mit einfacher Syntax und Änderungen sind auch nichts anderes als Patches, um Fehler zu beseitigen oder neuen Anforderungen zu genügen. Das jedenfalls dachten wir uns vor einiger Zeit. Wie wäre es, ein Gesetz wie ein Stück Software zu behandeln, zu versionieren und zu patchen? Softwareentwickler benutzen dafür Versionskontrollsysteme wie git. Damit kann man nachvollziehen, wer wann was und warum geändert hat. Als Syntax nahmen wir das leicht verständliche und weit verbreitete markdown, das sich wie einfacher Text liest. Um die Gesetzestexte in schöne Formate konvertieren zu können, entschieden wir uns für das mächtige pandoc, das unser verwendetes markdown mit sinnvoller Syntax anreichert. Die Patches haben wir mit dem kleinen, aber feinen Tool quilt erstellt. Den letzten Schliff gaben wir dem Projekt mit der selbst geschriebenen Software DocPatch.

Wir beschränken uns nicht auf den reinen Text und die Änderungen, sondern gehen einen Schritt weiter: Mit Hilfe von weiteren strukturierten Daten ("Metadaten") stellen wir den Text als solches und alle Änderungen in einen größeren Kontext: Wann wurde eine Änderung verabschiedet? Wer hat sie initiiert, wer unterschrieben? Das sind alles Fragen, die wir versuchen zu beantworten.

Handhabung

Beschäftigen Dich eine oder mehrere der folgenden Fragen, dann bist Du hier genau richtig: Wie gehst Du am Besten vor, wenn Du ...

Voraussetzungen

Bevor wir Dir die oben gestellten Fragen konkret beantworten können, solltest Du Dich vorher intensiv mit DocPatch und unseren Zielen auseinandergesetzt haben. Auch schadet es nicht, sich mit dem Gesetzestext und dem nötigen Vokabular zu beschäftigen.

Bitte installiere DocPatch mit allen Abhängigkeiten und wechsle in das Hauptverzeichnis dieses geklonten Repositories.

Dateistruktur

Dieses Repository enthält die folgende Dateistruktur:

Neue Gesetzesänderung hinzufügen

export DOCPATCH_NO=64
export DOCPATCH_ARTICLES="1 2 3"
nano "./meta/${DOCPATCH_NO}.meta"
nano "./etc/meta.json"
cd src/
quilt push -a
quilt new "$DOCPATCH_NO"
for article in $DOCPATCH_ARTICLES; do quilt edit "${article}.md"; done
quilt refresh
# Optional review of your changes:
quilt diff
quilt pop -a
cd ../
git add "src/patches/${DOCPATCH_NO}"
git commit -a -m "Add new patch no. ${DOCPATCH_NO}"

Bitte anschließend einen Pull Request stellen, der von anderen Projektteilnehmern geprüft werden muss, bevor die Änderungen ins Repository aufgenommen werden.

Erstellen eines versionierten Grundgesetzes aus den Quellen dieses Repositories

Laut der Anleitung von DocPatch benötigst Du dafür nur folgenden Aufruf in der Kommandozeile:

docpatch build

Das Repository wird unter repo erstellt. Mehr Optionen verrät Dir die Hilfe docpatch build --help bzw. die Man Page man docpatch-build.

Erstellen verschiedener Ausgabeformate aus den Quellen eines versionierten Grundgesetzes

Der vorherige Schritt gilt als Voraussetzung für diesen. Mit dem Kommando

docpatch create --format pdf --revision last

erstellst Du im Ordner out/ den Gesetzestext im PDF-Format mit allen Änderungen. Alle unterstützten Formate und Optionen sind in der Hilfe docpatch create --help bzw. in der Man Page docpatch-create zu finden.

Veröffentlichung des versionierten Grundgesetzes

Das versionierte Grundgesetz wird von uns in einem eigenen Repository veröffentlicht. Dazu haben wir folgende Befehle verwendet:

git clone https://github.com/c3e/grundgesetz-dev
cd grundgesetz-dev
docpatch build --valid-dates
git remote add github git@github.com:c3e/grundgesetz.git
git push --force github master

Mitwirken und Entwicklung

Wir sind ständig auf der Suche nach Menschen und Maschinen, die uns tatkräftig unterstützen möchten -- sei es durch kreative Mithilfe, Spenden von Dienst- oder Sachleistungen. Melde Dich, wenn Du Dich für die "Befreiung Deiner Grundrechte" interessierst ;-)

Hast Du eine tolle Idee, was wir unbedingt umsetzen sollten? Hast Du einen Fehler gefunden? Hast Du Vorschläge, wie wir etwas besser machen können? Wir benutzen den GitHub-eigenen Issue Tracker für jegliche Anfragen solcher Art.

Quellen

Roadmap/ToDo

Mitwirkende

Hinter DocPatch stehen Freiwillige, die sich in ihrer Freizeit tatkräftig einsetzen:

Kontakt

Wer mit uns in Kontakt treten möchte, möge sich bitte direkt an Benjamin Heisig wenden oder indirekt die üblichen Kommunikationskanäle des Chaospott Essen bemühen.

Sonstiges

Siehe auch

Lizenzen und Urheberrecht

Laut UrhG §5 genießen amtliche Werke wie das Grundgesetz für die Bundesrepublik Deutschland kein Urheberrecht. Allerdings gilt dies nicht für die vom Bundesanzeiger Verlag herausgegebenen Bundesgesetzblätter, in denen die Gesetzesänderungen verkündet werden, die von der Juris GmbH aufbereiteten Inhalte sowie für die unter in den Quellen genannten Schriftwerke.

Von uns verwendete Software und Formate sind konsequent offen gelegt.

Selbst erarbeitete Inhalte stehen unter einer Creative-Commons-Lizenz CC BY-SA 3.0 DE.