Zum Wochenende: Lex Git - Gesetze diffen

  Ralf Hersel   Lesezeit: 5 Minuten  🗪 5 Kommentare Auf Mastodon ansehen

Der Autor fragt sich, ob man Git für synoptische Vergleiche von Gesetzen verwenden kann. Lassen sich Gesetze mit Software vergleichen?

zum wochenende: lex git - gesetze diffen

Da das Wochenende ansteht und dieser Artikel dazugehört, darf ich mal wieder herumspinnen. Falls ihr – wie ich – Hörer:innen des Podcasts Lage der Nation seid, wird euch Folgendes bekannt vorkommen. Philip und Ulf beschweren sich des Öfteren darüber, dass die Änderungen in Gesetzestexten schwer nachvollziehbar sind.

In D.A.CH. gibt es amtliche Publikationen für die Veröffentlichung von Gesetzen und deren Novellen. Für Deutschland ist das der Bundesanzeiger, in der Schweiz heisst es Bundesblatt und in Österreich ist es das Bundesgesetzblatt.

Änderungsbefehle

Nach meiner Schulzeit habe ich eine Ausbildung im Bundesministerium für Bildung und Wissenschaft in Bonn genossen. Dort war ich im Referat für Kabinetts- und Parlamentsangelegenheiten beschäftigt und hatte mehrere Reihen von Regalen in meinem Rücken, die mit tausenden Ordnern voller Gesetzesblätter gefüllt waren. Aus dieser Zeit weiss ich, wie Gesetzesänderungen dokumentiert werden.

Solche Anpassungen von Paragraf Version 1 zu Version 2 werden (in Deutschland) mit Änderungsbefehlen dokumentiert. Hier ist ein Beispiel (von Felix Herbert im Verfassungsblog):

Änderungsbefehle sind Normen in Änderungsgesetzen, deren Zweck darin besteht, den Wortlaut anderer Normen in bestimmter Weise zu ändern. Sie beinhalten dabei immer nur die jeweilige Änderung, ohne den Zusammenhang wiederzugeben, auf den die Änderung sich auswirkt. Infolgedessen ergeben vorgeschlagene Änderungen erst in einer Zusammenschau mit den zu ändernden Normen Sinn.

Hier ist ein Beispiel aus dem Art. 1 Nr. 3 des 3. Bevölkerungsschutzgesetz § 4 des Infektionsschutzgesetzes:

„a) In Absatz 1 Satz 7 werden die Wörter ‚§ 14 Absatz 1 Satz 3‘ durch die Wörter ‚§ 14 Absatz 1 Satz 7‘ ersetzt. b) In Absatz 3 Satz 4 wird das Wort ‚schwerwiegenden‘ durch das Wort ‚bedrohlichen‘ ersetzt.“

Alles klar? Wisst ihr jetzt, was die Änderung in § 4 bedeutet? Nein, wisst ihr nicht. Eben darum fordern Philip und Ulf im Podcast gelegentlich, dass man die Änderungsbefehle durch synoptische Vergleiche ersetzt oder ergänzt.

Synopsenpflicht

Halt, was ist denn eine Synopse? Das altgriechische Wort bedeutet: "das Ganze zusammensehen". Die Wikipedia erklärt es so:

Eine Synopse ist eine zusammenfassende und vergleichende Übersicht und Gegenüberstellung gleichartiger Daten und Texte in zwei oder mehr Dokumenten.

Den Leser:innen dieses Artikels geht ein Licht auf: "Ach so, der Ralf meint diffen!" Ja, dazu komme ich noch.

Nun ist es so, dass die deutsche Bundesregierung am 6. März 2024 einen Gesetzentwurf beschloss, wonach künftig bei allen Gesetzgebungsverfahren „Synopsenpflicht“ besteht. Ob und wie das umgesetzt wurde, weiss ich nicht. Allerdings gibt es kommerzielle Anbieter, welche die Synopsenpflicht umsetzen, z. B. REWIS. Das sieht dann so aus:

Ob die Synopsenpflicht in Deutschland auch von amtlicher Seite umgesetzt wurde, weiss ich nicht. Ich gehe davon aus, dass das nicht der Fall ist, sonst würde der ehemalige Richter Ulf Buermeyer (Lage der Nation) das Thema nicht immer wieder erwähnen. In der Schweiz ist der synoptische Vergleich Standard, wie man an diesem Beispiel sieht:

Lex Git

Vermutlich ahnt ihr, worauf ich hinauswill. Die oben gezeigten Beispiele schreien geradezu nach Git. Was Git ist, muss ich nicht erklären, mache es aber trotzdem:

Git ist ein verteiltes Versionskontrollsystem, mit dem Versionen von Quellcode oder Daten verwaltet werden können. Es wird häufig von Programmierern zur Verwaltung von Quellcode eingesetzt, die gemeinsam an der Entwicklung von Software arbeiten. Zu den Entwicklungszielen von Git zählen Geschwindigkeit, Datenintegrität und die Unterstützung verteilter, nichtlinearer Arbeitsabläufe – also Tausende paralleler Zweige, die auf verschiedenen Computern laufen.

Möchte man überprüfen, ob zwei unterschiedliche Konzepte zusammenpassen, schreibt man eine vergleichende Studie oder eine Evaluation. Da ich das heute Nachmittag bereits im Büro zu einem anderen Thema gemacht habe, erspare ich mir die Arbeit. Deshalb bitte ich um Nachsicht, wenn das Folgende gar kurz gehalten ist.

Demokratien mit Gewaltenteilung kennen die Legislative als gesetzgebendes Organ (Parlament). Das Gesetzgebungsverfahren ist ein definierter Prozess, an dessen Ende die Verkündung des rechtsgültigen Gesetzes steht. Auch die Anpassung von Gesetzen (Novelle) ist ein Prozess. Gesetze sind hierarchisch strukturiert; in etwa so:

Von oben nach unten:

  • Verfassung/Grundgesetz – Höchste Rechtsnorm
  • Gesetze – Vom Parlament beschlossen
  • Verordnungen – Von Exekutive/Behörden erlassen
  • Satzungen/Verwaltungsvorschriften – Von lokalen Behörden

Innerhalb eines Gesetzes:

  • Gesetz (z.B. "Bürgerliches Gesetzbuch")
    • Abschnitte oder Teile
      • Kapitel
        • Artikel (bei manchen Gesetzen, besonders bei Novellen)
          • Paragrafen (§) – Die eigentlichen Rechtsnormen
            • Absätze (1, 2, 3...)
              • Nummern (1, 2, 3...)
                • Buchstaben (a, b, c...)

Vergleicht man diese Struktur mit der Taxonomie von Git-Repositories, zeigen sich Ähnlichkeiten. Doch wie sieht die Struktur bei der Versionsverwaltung von Software aus?

  • Plattform (GitHub, GitLab Org, usw.)
    • Repository (Das Projekt)
      • Branch (Der Entwicklungszweig, z. B. main)
        • Commit (Ein spezifischer Zustand des Codes)
          • Tree (Die Dateistruktur zu diesem Zeitpunkt)
            • Blob (Der Inhalt einer einzelnen Datei)

Nun versuche ich, die beiden Strukturen zu mappen:

Gesetze Software - Git
EU, Staat, Bundesland, Gemeinde Plattform-Instanz (Git-Deutschland, Git-Zürich, ...)
Gesetz Repository
Abschnitte oder Teile Branch
Kapitel Modul-Sammlung
Artikel Datei
Paragraf Funktion
Antrag zur Gesetzesänderung Pull Request
Angenommener Antrag Merge
Gesetzgeber Committer

Mir ist klar, dass dieser Vergleich hinkt und viele Aspekte nicht berücksichtigt. Es ist nicht meine Absicht, diese Idee vollständig zu erklären. Es ist lediglich die Präsentation einer Idee, über die es sich nachzudenken lohnt.

Fazit

Was meint ihr? Kann man Gesetze wie Software behandeln? Ist Git ein Mittel, um die Synopsenpflicht umzusetzen? Ich bin auf eure Kommentare gespannt.

Entspannt euch am Wochenende.

Titelbild:

https://git-scm.com/community/logos

https://pixabay.com/vectors/ai-generated-justitia-lady-justice-8716080/

Quellen:

https://lagedernation.org/

https://www.bundesanzeiger.de/

https://www.ris.bka.gv.at/

https://verfassungsblog.de/die-lesbarkeit-von-gesetzentwurfen/

https://de.wikipedia.org/wiki/Synopse

https://www.brak.de/newsroom/news/kabinett-beschliesst-synopsenpflicht-und-exekutiven-fussabdruck/

https://rewis.io/aktuell/synopsen/

https://de.wikipedia.org/wiki/Ulf_Buermeyer

https://www.fedlex.admin.ch

https://en.wikipedia.org/wiki/Git

https://de.wikipedia.org/wiki/Legislative

https://de.wikipedia.org/wiki/Gesetzgebungsverfahren_(Deutschland)

https://de.wikipedia.org/wiki/Taxonomie

Tags

Gesetze, Vergleich, Synopse, Git

Robert
Geschrieben von Robert am 17. April 2026 um 17:50

Der Chaos Computer Club Essen hatte mal das Grundgesetz schön aufbereitet mit Commits von Bundespräsidenten der BRD: https://github.com/c3e/grundgesetz/commits/master/, z.B.

Siebenundzwanzigstes Gesetz zur Änderung des Grundgesetzes
- Herabsetzung des aktiven Wahlalters vom 21. auf das 18. Lebensjahr; Angleichung des passiven Wahlalters
- Einbeziehung der pädagogischen Hochschulen und der Fachhochschulen in die mitwirkende Zuständigkeit des Bundes für Gemeinschaftsaufgaben
-- Metzenbach et al., Änderungen des Grundgesetzes seit 1949 (WD 3 - 380/09), 2009

Signed-off-by: Gustav Heinemann, Bundespräsident
Signed-off-by: Willy Brand, Bundeskanzler
Signed-off-by: Hans-Dietrich Genscher, Bundesminister des Inneren

Source: BGBl. I, p. 1161
Passed: 1970-06-18
Date: 1970-07-31
Announced: 1970-08-05
Effective-since: 1970-08-06
Election-period: 6
Votes-yes: 441
Votes-no: 0
Votes-abstentions: 10
Initiative-of: Drei Entwürfe, davon eine Regierungsvorlage, zwei von CDU/CSU-Fraktion und Abgeordneten der CDU/CSU

Leider schon seit sieben Jahren nicht aktualisiert :(

Und auch der Bundestag hat da mal was gemacht (wenn auch nicht so schön), aber auch schon seit 4 Jahren nicht aktualisiert: https://github.com/bundestag/gesetze

Rainer
Geschrieben von Rainer am 17. April 2026 um 18:37

ich meine hierzu gab es schon einige Anläufe, z.B. https://bundestag.github.io/gesetze/ https://github.com/bundestag/gesetze

Thorakon
Geschrieben von Thorakon am 17. April 2026 um 22:03

Ich arbeite auch viel mit Gesetzen. Gerade heute hatte mein Team einen Fall, wo so eine Synopse hilfreich gewesen wäre; wir konnten auf die Schnelle keine finden, und ich glaube auch, dass der deutsche Gesetzgeber meist nicht von sich aus dafür sorgt. Ich Frage mich manchmal, ob nicht wenigstens die Politiker im Gesetzgebungsprozess Zugriff auf sowas haben - aber selbst wenn sind das natürlich dann nicht die endgültigen Fassungen. Ein Teammitglied hat (da es immerhin nur wenige Änderungen waren) kurzerhand die Änderungen als Kommentare in die pdf-Datei der alten Fassung abgetippt.

Wir haben eine Online-Gesetzesdatenbank abonniert, die einen solchen Vergleich (zumindest der letzten 2-3 Versionen) zulässt. Das Problem ist aber, die Zeit, welche benötigt wird um Neuerungen dort einzupflegen. Es dauert noch mehrere Monate bis die geänderte Version in Kraft tritt, und da hat man es scheinbar nicht so eilig damit. Dabei brauchen die Betroffenen oft einigen Vorlauf,s ich auf die neue Rechtslage einzustellen.

REWIS kannte ich bisher nicht - aber mal eben das heutige Gesetz (Änderung wurde am 12.2.26 publiziert) eingetippt und es kommt auch nichts. Vielleicht nutzt das Portal auch nur die staatliche Seite gesetze-im-internet.de und vergleicht, was sich dort ändert. Nur: dort werden (um den Normalverbraucher nicht zu verwirren) die Änderungen vermutlich erst eingetragen, wenn sie wirklich in Kraft treten, also in dem Fall im September 2026. Somit ist die Seite immernoch hilfreich um die Änderung der Gesetze im Laufe der Zeit nachzuvollziehen, aber eben nicht in der Vorbereitung.

In vielen Fällen würde mir auch schon eine "konsolidierte Fassung" genügen. Hierbei werden einfach alle Änderungen die es seit Erlass des Gesetzes gab, in den Originaltext eingepflegt, und das kann man natürlich auch mit schon bekannten, erst in Zukunft gültigen Änderungen machen. Die EU ist hier oft vorbildlich - auch wenn sie rechtlich keine Garantie für die konsolidierten Fassungen übernimmt - und stellt solche Fassungen für zig Amtssprachen zur Verfügung. Hier z.B. am Beispiel der sich häufig ändernden Verordnung über Lebensmittelzusatzstoffe gezeigt: https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:02008R1333-20260218

Chris
Geschrieben von Chris am 18. April 2026 um 07:34

Wir konsolidieren seit über 25 Jahren automatisiert Bundesrecht. Die Synopse der alten und neuen Fassung des Normtextes ist ein "Abfallprodukt" dieser Konsolidierung. Wir haben dem BMJV schon vor vielen Jahren den Einsatz unserer Software genau für diesen Zweck - die automatisierte Erstellung von Synopsen schon während des Gesetzgebungsverfahrens - angeboten. Das BMJV war nicht interessiert. Problematisch bei gesetze-im-internet.de ist, dass diese Textfassungen häufig nicht dem im BGBl. I verkündeten Wortlaut des Gesetzes entsprechen: Zum einen gibt es Konsolidierungsfehler, zum anderen werden Fehler der Verkündung in der Regel nicht transparent dokumentiert sondern nur auf der Website, nicht aber im Gesetzblatt, berichtigt.

vf
Geschrieben von vf am 21. April 2026 um 10:48

Es müsste doch anders herum laufen. Die Gesetze sollten in einem zwei Fenster Editor umgeschrieben werden. Links: Bestandsrecht Rechts: Bestandsrecht mit Änderungen

Wenn die Legistinnen und Legisten alle Änderungen abgeschlossen haben, kommt die entsprechend gezüchtete KI zum Einsatz, die (für D) das Handbuch der Rechtsförmigkeit sowie alle Änderungsgesetze der letzten 10 Jahre kennt. Hieraus müsste diese für den Großteil der Änderungen sinnvolle Änderungsbefehle erstellen und somit viel LegistInnen Arbeit erledigen. Zum einen würde dann unmittelbar im Zieldokument gearbeitet und gleichzeitig entstünde die Synopse von allein.