Coder Social home page Coder Social logo

grundgesetz-dev's Introduction

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 Gesetztestext 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 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
    • docpatch.conf: Konfigurationsdatei für DocPatch
    • meta-info.txt: Beschreibung der Metadaten über eine Gesetztesä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

Erstellen eines versionierten Grundgesetzes aus den Quellen dieses Repositories

Laut der Anleitung von DocPatch benötigt 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.

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

  • Logo
  • Historie rund um den Vertrag von Lissabon
    • Inkrafttreten von Änderung 53
    • Nummerierung ab Änderung 58
  • Unterschriften von Änderung 17
  • "Ü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.

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.

grundgesetz-dev's People

Contributors

bheisig avatar escap0x avatar michaellass avatar

Watchers

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