スペインの全法律がGitリポジトリになった。8,600本の法律、改正はcommit、条文はMarkdown
スペインの8,600本以上の法律をGitリポジトリとして再構成。法改正はcommit、条文はMarkdown。git diffで法改正の差分が見え、git logで履歴をたどれる。Hacker Newsで694ポイントを獲得。
法律をgit logで読む時代
スペインのエンジニア、Enrique Lopezが公開した「legalize-es」は、スペインの全法律をGitリポジトリとして再構成したプロジェクトだ。8,600本以上の法律がMarkdownファイルとして格納され、法改正のたびにcommitが刻まれる。
つまり、`git diff`で法改正の差分が見える。`git log`で改正履歴をたどれる。`grep`で条文を横断検索できる。法律が、コードと同じワークフローで扱えるようになった。
仕組み
データソースはスペイン政府官報(BOE)のオープンデータAPIだ。1960年以降の全法令が対象で、憲法、基本法、一般法、勅令法など網羅的にカバーしている。
各ファイルにはYAMLのフロントマターがついていて、法律名・公布日・最終更新日・施行状態などのメタデータが構造化されている。改正は個別のcommitとして記録され、コミットメッセージには改正の公式識別番号とソースへのリンクが含まれる。
例えば、スペイン憲法第135条(財政安定条項)がいつ、どう変わったかを知りたければ:
``` git log --oneline -- spain/BOE-A-1978-31229.md git diff 6660bcf^..6660bcf -- spain/BOE-A-1978-31229.md ```
これだけで、2011年の財政安定化改正の正確な差分が見える。
なぜこれが重要か
法律は本来バージョン管理されるべきものだ。どの条文が、いつ、どう変わったか——これは法律家にとっても市民にとっても基本的な情報だが、多くの国では散在したPDFや官報を自分で追いかけるしかない。
Gitにすることで、法改正が「差分」として可視化される。プルリクエストのように改正案を議論することもできるし、条文変更の通知を受け取ることもできる(legalize.devのAPIで予定)。
Hacker Newsでは694ポイントを獲得し、「すべての国がこれをやるべき」「法律のバージョン管理は民主主義のインフラだ」といったコメントが相次いだ。
日本にも欲しい
日本のe-Govにも法令データのAPIはあるが、改正履歴の差分表示は充実しているとは言い難い。六法全書をGitで管理する——そんなプロジェクトが日本からも出てきたら、法律へのアクセスは大きく変わるだろう。
legalize-esはMITライセンスで公開されており、法令テキスト自体はパブリックドメインだ。
この記事が役に立ったら共有してください