2012.12.22
法律はソースコードに似ている
法律というものは、いくつかの点でソースコードに似ている。

1. どちらも「コード」と呼ばれる
2. 構成・パッケージ構造が階層(ツリー)型になっている
3. しばしば内容が巨大である
4. しばしば複数の人によって書かれる
5. ときどきバージョンアップされる

このうち、3の「しばしば内容が巨大である」、4の「しばしば複数の人によって書かれる」、5の「ときどきバージョンアップされる」という特徴が、管理をむずかしくする。

ソフトウェアの世界では、この「管理」というテーマをずっと追求してきた。いまのところ、Git(ギット)Mercurial(マーキュリアル)などの分散型バージョン管理システムが、それに対する「回答」である。実際、GitHub(ギットハブ)(Gitをベースにしたソースコード管理サービス)がこれだけ成功しているということが、その「回答」の正しさを証明していると言えるだろう。

いっぽう、法律というものはどうやって管理されているのだろうか。私は法律の世界に詳しくないが、おそらくIT化が遅れていて、全体的な把握や検索、変更追跡などに苦労しているものと想像できる。

IT化が遅れている分野は山ほどあるだろう。しかし、社会のルールそのものである法律という分野では、IT化の遅れはより深刻なものになる。なぜならば、IT化の遅れによって、法律全体の管理・把握がよりむずかしくなるからだ。

法律全体の管理・把握がむずかしくなれば、法律を扱うのに大きなコストがかかったり、おかしな法律ができやすくなったり、問題のある法律が放置されやすくなる。これはそのまま社会的コストになるので、ダメな法律のために、社会が沈みかねない。

こういった構造は、ソフトウェアとそっくりである。ソフトウェアでも、古くて大きいシステムは、しばしば管理・把握がむずかしい状態に陥っている。こういうシステムは、ちょっとした変更にやたらコストがかかったり、よくわからない古いコードがたくさん残っていたりするので、なかなか手出しできない。

立法とは、法律という「コード」を書くことだ。それも、わたしたちの社会を規定するルールそのものにあたる、重要な「コード」である。この「コード」の良し悪しを議論することは、もちろん必要である。しかし同時に、いまの法律全体を把握・管理しやすくする仕組みも、是非とも必要だろう。この環境改善が、「良いコード」につながるのだ。

いずれ法律も、GitHubのような仕組みの上で管理されるようになればいいと思う。いつ、誰が、どの部分を、どのような目的で書き込んだのか、すぐに追いかけられる。専門家からフィードバックをもらって、それを取り込むこともしやすい。いつでも、任意の時点での法律全体を復元できて、任意の2つの時点での差分も一目瞭然になる。

このように、ITによって解決できる社会の問題は、きっとたくさんある。ITに詳しくない人は、「これはITで解決できる」ということ自体がわからない、ということが少なくない。だから、ITに詳しい人は、もっと前へ出て行く必要があると思う。


関連エントリ:
GitHubはオープンソースの世界をどう変えたか
http://mojix.org/2011/03/09/github-open-source