German Laws Posted on GitHub in Markdown Format

GitHub now hosts a repository of all Germany's rules and regulations, all in Markdown:

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 the power of Git to be applied to the legislation 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’re a computer nerd like me, you’ll think this is pretty cool too.

I love Markdown.1 I’ve been writing with it for about a year now, and it’s fantastic. I’ve found my writing has become much more efficient since I’m not stopping to click little toolbar buttons to format shit. In fact, a side benefit of teaching myself Markdown is that I’ve embraced plain text, thus freeing me from apps like Word or Pages. Everything I write now -- from blog posts like this to papers for school -- is written in Byword in plain text. (And saved to Dropbox, of course.) It’s very liberating. Suffice it to say, if you write on the Web -- or write, period -- I highly recommend learning Markdown and/or using plain text for your files.

(via John Gruber)


  1. Though I still haven’t mastered creating tables.  ↩