『一部を改正』って、
どこが変わったの?
――git log で、改正の一覧が出る
写真はイメージ Photo by Matthew Fournier on Unsplash
日本の全法令がGitに 使い方と、「なぜ変わった」が追えない弱点
日本の法令8,982本の改正の歴史が、差分付きでGitHubに置かれている。和田浩平さんが作った「houritsu」というリポジトリだ。コミットは23,338個あり、1つが1本の改正法の施行にあたる。本人の解説記事が11月1日にZennに出て、一気に広まった。見るのは無料だ。
元のデータは、デジタル庁が運営するe-Gov法令検索の法令API。和田さんは、Rustで書いた「houritsu-builder」でMarkdownに直し、Gitの履歴に組み直した。データはCC BY 4.0で公開されている。
git log を1行打つと、改正の一覧が出る
で、何ができるのか。法令のファイルを指定して git log を打つと、いつ、どの改正法で書き換わったかが日付付きで並ぶ。git diff なら、「三年ごと」が「三年を目途として」になったような1語の差も、行単位で見える。git log -L で範囲を渡せば、第十六条だけの改正歴も出せる。
コミットのメッセージも濃い。改正法のID、本当の施行日、同時に書き換わった他の法令、議案へのリンクと提出者の名前まで入る。和田さんが例に出した個人情報保護法は、学術会議や防災庁の設立という関係なさそうな改正に巻き込まれて書き換わっていた。毎朝e-Govから差分を取る。コミットは自動で増えていく。
明治の法令は、全部1970年1月2日になる
じゃあ、明治の法令はどう並ぶのか。窓の杜が「意外な弱点」と書いたのはここだ。Gitにはコミットの日付を1970年より前にできない決まりがあり、和田さんもREADMEにそう書いている。明治に施行された法令317本は、日付が全部1970年1月2日になった。本当の施行日は、コミットの中の「Enforced」という行に残してある。

弱点はもう1つ。履歴が始まるのは2015年ごろで、e-Govの改正データがそのあたりからそろっているためだ。それより前の文言は、最初のコミットにまとめて入っている。git blameが示すのは「文言の古さではなく、収録の始まった時期」だと和田さんは注意している。
では、法令の確認にそのまま使っていいのか。それは本人が断っている。正式な法令文(正本)は官報のほうで、このリポジトリは法的な助言ではない、とREADMEにある。
ネットの評判
はてなブックマークでは、Zenn記事に359人がブックマークを付け、コメントは51件。多いのは素直に感心する声だ。「これは偉業だなあ」「法律はプログラミングに近いなと思ってた、なるほどgitで管理するのは理に適ってる」。
弱点を拾った声もある。1970年の話に反応して「git は 1970 年より前の日付ではコミットできません」と引いた人、「日付をバージョン番号のように扱うといい」と代案を出した人。
数は少ないが、別の方向の声もある。「経緯とかどこが主体となってとかもついてたらより良さそう」。GitHubのページには「これはこれですごいけど、法律の主旨が大事な気がしてきた」。どこが変わったかは見えるが、なぜ変わったのかは差分に書かれていない、という指摘だ。和田さん自身も、Zennの最後で、国会会議録のAPIとつなげて、議論までたどれるようにしたいと書いている。
11月5日午前の時点で、GitHubのスターは289。最後にコミットが入ったのは11月5日の未明で、毎朝の自動更新は動いている。手元で試すなら、コミットメッセージの「Bill-Url」という行を探すといい。衆議院のサイトの、その改正法の議案ページに飛べる。
のどかな場所なんだから、
もう勘弁してほしい
――ある住民が、週末の重低音に
港の32キロの砲弾を『ワインの瓶』と説明
在パプアニューギニア中国大使館の投稿
全国大会に20回以上出た高校生、ドームで賛否?!
Snow Man札幌公演の演出をめぐるファンの声
あなたへのおすすめ よく読むカテゴリーから
こちらの記事も
オフラインで使える無料のAIが大人気
――ウィキペディアもAIも、ネットなしで
Project NOMADは日本語で使える? 無料のオフラインAIサーバー
1万円のドメインが
いきなり17万?!
――販売会社のバリュードメインが、藪原太郎に
毎年1万円のドメインが17万円 値段を決めたのは、売った会社じゃない
うちの回線、また
『不審な動き』扱いされた
――Hacker Newsの書き込みから
IPアドレスで描いた世界地図、日本と「1000人に2個」の国を比べてみた
うちからは見えないし、
止められない
――VoiceStudioの開発者が、自分のアプリの規約に