/grundgesetz-dev

DocPatch Dev Repo

Primary LanguageTeX

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 ...

  • aus den Quellen dieses Repositories ein versioniertes Grundgesetzes erstellen möchtest?
  • aus den Quellen eines versionierten Grundgesetzes verschiedene Ausgabeformate erstellen möchtest?
  • Dich an der Entwicklung beteiligen möchtest?

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:

  • etc/: Konfigurations- und weitere Dateien
    • btwmeta.json: Metadaten zu Legislaturperioden des deutschen Bundestags
    • docpatch.conf: Konfigurationsdatei für DocPatch
    • meta-info.txt: Beschreibung der Metadaten über eine Gesetzesänderung
    • meta.template: Vorlage einer Metadaten-Datei für Gesetzesänderungen
    • meta.json: Meta-Informationen im JSON-Format
  • meta/: Dateien mit Metadaten über Gesetzesänderungen nach dem Schema [n].meta, wobei n die fortlaufende Nummer der Änderung darstellt
  • out/: aus den Quellen des versionierten Gesetzestextes erstellte Ausgabeformate
  • ref/: Referenzen, Quellenangaben, mitgelieferte Quellen
  • repo/: aus den Quellen dieses Repositories versioniertes Grundgesetz
  • src/: Gesetzestexte; pro Datei ein Artikel nach dem Schema [n].md, wobei n die Artikelnummer mit füllenden Nullen und md die Dateiendung für in Markdown verfasste Texte ist
  • tpl/: Vorlagen für die Ausgabeformate

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

  • Neues Logo?
  • "Überschriften" der Artikel berücksichtigen
  • Professionelle Vorlagen erstellen/verwenden
  • Referenzen im bibtex-Format
  • Git Commit Messages durch meta.json erstellen
  • Automatische Übersetzungen
  • Artikel des Tages (fortune)
  • Zeitleiste
    • Historische Einordnung
    • Bilder, Videos usw.
    • Wikipedia: passender Jahres-/Monats-/Tages-Artikel
  • Meta-Informationen
    • Personenverzeichnis
    • Wikipedia-Artikel
    • Hintergründe/Kontext recherchieren (Warum gab es eine Änderung?)

Mitwirkende

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

  • Initiiert durch eine Diskussion zwischen Hauro und Lars Sobiraj
  • Erste wichtige Schritte durch Benjamin Heisig, Björn und Hauro
  • Software von Benjamin Heisig
  • Patch-Marathon mit Benjamin Heisig, Gammlaa und Schnitzel
  • Webseite von Benjamin Heisig, Haggis McMutton und Schnitzel
  • Zahlreiche Vorschläge und Verbesserungen von Bernhard Físseni
  • Öffentlichkeitsarbeit durch Lars Sobiraj
  • Mit vielen Ideen aus dem Umfeld von Chaospott Essen und foobar e. V.

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

  • Der aktuelle Gesetzestext trotzt der Rechtschreibreform von 1996 und verwendet sowohl die alte als auch die neue deutsche Rechtschreibung nebeneinander.
  • Das Entfernen von Artikeln durch das Ersetzen des Artikelinhalts durch "[aufgehoben]" weicht nur an einer Stelle ab: In der 12. Revision wird der Artikel 96 durch den Inhalt von 96a ersetzt und 96a vollständig entfernt.
  • Das Wort "Liebe" steht nur einmal im Grundgesetz, nämlich im Wort "Kriegshinterbliebenen".

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.