可視化法学

とかく複雑な法律を情報技術の力を使って分析するプロジェクトです

デジタル改め文

プログラミングと法制執務両方分かっている人向けの説明

改め文は、patch に切り替えたほうが良いではないか?

概要

法案作成時に、五点セットと言って、法律案概要,法律案要項,法律案,新旧対照表,参照条文を作る。その中で法案の中心になるものは、三番目の法律案だ。法律案は、法案の改正時には、改正前の法令に対して、 - xxの行は削除して、 - xxの行を追加する のような書式で書かれており、法律案は元になる法令を改正するため、「改め文」と呼ばれる。改め文は人間にはおよそ読みづらい代物だ。そのため、法案を審査する議員などは、新旧対照表 を使う。そして法改正では新旧対照表と改め文両方を手作業で修正する。この記事の主張は、法律案 は元となった法令に機械的に法案を適応していけば、改正された法令になることを目的としているのだから、法案を機械判別可能な形に替えませんか?という主張だ。

具体例

具体例を見ていこう。法律を改正する場合、次の方は法律案が出される。

令和2年に出された「著作権法及びプログラムの著作物に係る登録の特例に関する法律の一部を改正する法律案」を見てみよう。

法律案の本体はこちら。-> 著作権法及びプログラムの著作物に係る登録の特例に関する法律の一部を改正する法律案

実際の法律改正は、元になる著作権に対して、次のような文言を適応する(上記PDFp1最下部)。法案自体は

第四十七条の三第一項ただし書中「第百十三条第二項」を「第百十三条第五項」に改める。**

この様に書かれている。

これによって、変更前の著作権法、第四十七条の三は

第四十七条の三 プログラムの著作物の複製物の所有者は、自ら当該著作物を電子計算機において実行するために必要と認められる限度において、当該著作物を複製することができる。ただし、当該実行に係る複製物の使用につき、第百十三条第二項 の規定が適用される場合は、この限りでない

↓下のように変更される

第四十七条の三 プログラムの著作物の複製物の所有者は、自ら当該著作物を電子計算機において実行するために必要と認められる限度において、当該著作物を複製することができる。ただし、当該実行に係る複製物の使用につき、第百十三条第五項 の規定が適用される場合は、この限りでない。

この様は作業を著作権法全体に行って法律改正を行う。法案の本体はこの改め文である。 私達が法案の呼んでいるものは、元になる法令->(一連の操作)->新しい法令 の一連の操作を記述したものだ。完全に新規の法案は、元になる法令がないので、(一連の操作)->新しい法令 だけがあり、単に法律文を全部書いた文章になる。 見てわかるように複雑で今回の法案ミスでもこの改め文でミスが見つかった(それ以外の参考資料でもミスは見つかっているが)。

プログラマーはどの様に解決しているか?

プログラマーも機能追加などを行う場合、ソースコードに対して変更を加える。しかし法案(改め文)の様に人力で差分を抽出したりしない。元になるソースコードと変更したソースコードから 機械的 差分を抽出し変更を加える。そうすることで、差分の適応間違いや、元の法令に対して、一連の操作をしたが新しい法令にならなかったというミスは無い。

良い例が、lawhubだろう。これは、法案をプログラマーがよく使うバージョン管理ツールであるgithubに登録し、法律の差分を管理するプロジェクトだ。lawhubについてはこちらの記事が詳しい。

法案の変更点をGitHubのように比較する「LawHub」、Twitterで注目も実は開発停止中 - ITmedia NEWS

例えば上記の著作権の修正は次のようにハイライトされる。

f:id:shibacow:20210617014350p:plain

これだけだと法案の作成の際に作られる新旧対照表と変わらないと思われるが、この差分は機械的も表される。

プログラマーの用語では patch という。上記の変更は次のように表される。

@@ -419,7 +418,7 @@
(中略)

 (プログラムの著作物の複製物の所有者による複製等)
-第四十七条の三 プログラムの著作物の複製物の所有者は、自ら当該著作物を電子計算機において実行するために必要と認められる限度において、当該著作物を複製することができる。ただし、当該実行に係る複製物の使用につき、第百十三条第二項の規定が適用される場合は、この限りでない。
+第四十七条の三 プログラムの著作物の複製物の所有者は、自ら当該著作物を電子計算機において実行するために必要と認められる限度において、当該著作物を複製することができる。ただし、当該実行に係る複製物の使用につき、第百十三条第五項の規定が適用される場合は、この限りでない。
 2 前項の複製物の所有者が当該複製物(同項の規定により作成された複製物を含む。)のいずれかについて滅失以外の事由により所有権を有しなくなつた後には、その者は、当該著作権者の別段の意思表示がない限り、その他の複製物を保存してはならない。

 (電子計算機における著作物の利用に付随する利用等)
@@ -433,8 +432,8 @@

紫が削除される文。水色が新たに追加される文だ。それぞれ文頭に+と-がついている。プログラマーのやりたかに従えば( patch を当てれば)、元の著作権法は、改定された著作権になる。ポイントは人間が新しい法案を作れば、機械が元の法案との差分を自動で抽出してくれるという点になる。

人が読むものと、機械が読むものを分ける。新旧対照表と改め文

こうしてみていくと、新旧対照表と改め文で違う役割を担っても良いのではないかと考える。新旧対照表 は人が新しい法令ではなにが変わったかを知ることに適しており、改め文 は、「元法令から法案に書いてある操作を行えば新しい法令になる」が最も大きな役割だ。改め文の役割が、元法令->(法案に書いてある一連の操作)->新しい法令 ならば、(法案に書いてある一連の操作)は人間が担当せず、機械が担当しても良いことになる。つまり、改め文は元法令と新しく作る法令の機械的な差分として提出しても良いはずだ。あの複雑な改め文を人力で作ろうとするからミスが起こるのであって、法案作成者は新しい法案だけに注力し、元になる法令との差分は機械的に抽出すれば良いのではないだろうか?

図にすると下記のようなイメージになる。

f:id:shibacow:20210617022612p:plain

デジタルの肩に乗る

改正法案は結構合理的は選択だと思う。元法令->(元法令に対する一連の操作)-> 新しい法令で、その一連の操作を法律にしてしまうというのは、ソースコードpatch でも同じ発想なのでそれ自体は納得できる。問題はそれを人間が作成保守する点にある。テキスト上の差分を管理するなどはデジタルの得意分野なので、できればデジタルの肩に乗って人間はらくしたほうが良いのではないかと考える。

5点セットの改良

法案を patch(機械で一意的に反映する) 方式にして、新旧対照表で審査してほしいという主張は、法案は改め文形式で提出されそれを議員が審査するという現在の制度では難しいだろう。しかしそれは実態を反映しているのだろうか?

NHKの調査によると、衆議院事務局、参議院事務局、内閣法制局内閣官房ともに、慣例としてやっており、根拠はないようだ。また与党議員も野党議員も大半の議員はいらない・読んでないとのことらしい。

f:id:shibacow:20210619102035p:plain

WEB特集 官僚の劣化? 相次ぐ法案ミス | NHKニュース

それだったら、いっそのこと、5点セット自体を改良する。国会ので法案審査の実態に近づけていく方が良いのかも知れない。

追記

改め文 機械化」で検索していたら、角 田 さんの、改め文作成の機械化に向けた基盤 というPDFを見つけた。この論文でも、改め文の作成は機械的な手順が多いのだから、改め文のフォーマットを機械処理可能な形にして、最終的にはソフトウェア化したほうが良いのではないかと主張している。