Git laws

http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Git-logo.svg/200px-Git-logo.svg.png

My favourite versioning system is conquering the next environment: Politics.

The German project bundesgit has started putting the German law proposals into git. The Data activist Stefan Wehrmeyer has mounted the source into the repository and in that way created a historical logging of the changes in the laws.

The process is quite simple: The German Bundestag publishes it’s laws (finally) as in the XML format. These files are converted to markdown in order to make it better readable for humans.

Is there something like this in Norway as well? We should set it up…

To get access is quite simple:

  1. Install GIT manual

  2. Clone the repository to you local hard-drive:

    $ git clone git://github.com/bundestag/gesetze.git bundestag.gesetze
    
  3. For updates from the repository run:

    $ git pull origin master
    

After that you’ve got currently 415MB on you disc in > 6000 files. The thing is already growing after just a couple of days in production.

The README.md reveals some more information and background of the project:

[…] 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 to apply the power of Git to the legistlation 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. […]

If you check the history of the commits you get a pretty overview about the changes as well:

$ git log --no-merges
[...]
commit 46462c1dadc4758cb9899d5005d18de6f08f69f8
Author: Stefan Wehrmeyer <mail@stefanwehrmeyer.com>
Date:   Tue Aug 7 12:27:04 2012 +0200

Sechzehnte Verordnung des Luftfahrt-Bundesamts zur Änderung der Zweiten
Durchführungsverordnung zur Verordnung zur Prüfung von Luftfahrtgerät

04.07.2012: BAnz AT 04.07.2012 V2, Bundesministerium für Verkehr,
Bau und Stadtentwicklung, Vom 19. Juni 2012, FNA: 96-1-40-2

commit 0d70dc1a0fa43ec2e89f3ab6944c188e7fb82fc8
Author: Stefan Wehrmeyer <mail@stefanwehrmeyer.com>
Date:   Tue Aug 7 12:09:00 2012 +0200

Erste Verordnung zur Änderung der Verordnung über Ausnahmen
von straßenverkehrsrechtlichen Vorschriften für Fahrzeuge und
Fahrzeugkombinationen mit Überlänge

11.07.2012: BAnz AT 11.07.2012 V1, Bundesministerium für Verkehr, Bau und
Stadtentwicklung, Vom 5. Juli 2012, FNA: 9232-15

commit 9ccc90a3d0d27848dbb2e48fd0e2da0eb1502a99
Author: Stefan Wehrmeyer <mail@stefanwehrmeyer.com>
Date:   Tue Aug 7 12:08:55 2012 +0200

Verordnung zur Anordnung des Beginns der Mauterhebung auf Abschnitten von
Bundesstraßen (BStrMautErhebV)

04.07.2012: BAnz AT 04.07.2012 V1, Bundesministerium für Verkehr, Bau und
Stadtentwicklung, Vom 2. Juli 2012, FNA: neu: 9290-16-1
[...]

Links: