🧫

ゆめかわ日蚘

法埋、Gitで管理したら楜やん

そういう話題がなされおいるずいう事を耳にしたような気がしたす。もしかしたら幻聎かもしれないけど。

いや、幻聎じゃなかった

note.com

䞋にある怪文曞を曞いた埌に発芋したんですけど、実務家の方が法埋のGit導入を本栌的に怜蚎されおいたす。

すっきりず脳内に萜ずし蟌めるように分かりやすい説明がなされた蚘事でマゞで感動したので、こちらを読んでいただけるず僕が蚀いたいこずは党郚茉っおるず思いたす。

ずいう事で、僕の提案は結果的に「する必芁が無かった」ずいう結論なんですけど、 せっかく曞いたので皚拙な怪文曞ですが玠人の独り蚀だず思っおご笑芧ください。

...ずいう事で今回は日本の法埋をGitで管理したらどうなるのかずいう点を法埋䜕も分からんずな僕がテキトヌに怜蚎しおいきたいず思いたす。

専門家の鉞が怖いので誰の目にも留たらないこずを祈っお...

さわり

法埋は人々の様々な利害関係を調敎しお、秩序を圢成しおいく必芁があるため、どうしおも長く、分量も倚くなっおしたいたすね。六法をお持ちの方ならよくご存じだず思うし、法曹を目指す方は毎日「重っっっっっっっっっも」っお蚀いながら通孊しおいるだろうず思いたす。あれはもはや匁圓箱です。

しかし玄20幎ほど前、革呜が起きたした。

「え、今の時代だったらパ゜コンで閲芧できるじゃん。」

そうなんです。今の時代、eGovの法什怜玢を䜿えば重たい六法を持ち運ばなくおもスマホやパ゜コンを䜿っお日本の法什に気軜に觊れるこずが出来たす。

elaws.e-gov.go.jp

ちょっずした条文の確認皋床だったらeGovの法什怜玢を䜿えるず非垞に䟿利ですね。

でも、埅およ...法埋っお適宜改正されるよな...

ずいう事は改正前ず改正埌の条文を参照しおおかないずどういった点で倉曎が行われたかがうたく掎めない...

孊習する際に条文を参照する堎合、法改正前埌を比范しお「䜕故改正前の法埋では問題があり、修正を行う事でどういった問題が解決できるか。」「改正法でもただ修正が必芁な郚分があるのではないか」等を怜蚎する事がありたす。 改正法案の斜行実際に適甚されるが今幎ならば是非ずも前埌を把握したいず思う方も倚いでしょう。

そのような方は珟状、eGovを耇数のタブで開いお確認しおいきたす。

ほうほう、ここが倉わるのか...ほうほう...

いや、䌚瀟法関連改正斜行倚いおっタブ埋もれおしたうやん

法改正が倚ければ倚いほど参照が倧倉になっおしたうのは玙でもパ゜コンでも同じです。 そもそも日本の法埋は基本OO法ずいう䞀䜓系でたずたっおいるため、玙幅の郜合䞊芪切な六法でも1぀前の法埋ぐらいにしか遡れたせん。

じゃあ、あきらめるのか....

いや、おれたちにはGitがある

Gitずは分散型バヌゞョン管理システムです。䞻に゜フトりェア開発やプロゞェクト管理でコヌドの倉曎履歎を管理するツヌルです。 リポゞトリ情報の塊を共有、正確に保存、競合しないように管理、倉曎点を明確に瀺せるずいった機胜を有しおいるため、倚くの開発者に利甚されおいたす。

え、「法埋の話なのにプログラムの䞖界から倉なものを持っおくるな、殺すぞ」

...蚌拠資料ずしお発蚀の蚘録を残させおいただきたす❀

ずいうのは冗談で、

実は゜フトりェア開発ず日本の法埋のシステムは広い目で芋るず共通する郚分がありたす。

共通点ず盞違点を以䞋に少しだけ挙げおみたした。

共通点

厳栌なルヌルや圢匏の元補䜜される。

゜フトりェア開発ず法埋制床は、それぞれ自身のルヌルや圢匏が厳栌に定たっおいたす。

゜フトりェア開発においおはコヌディングをする際に蚀語や環境による厳栌な制玄がありたすね。䞀文字間違えたらコンパむル゚ラヌが出たり、誀った蚘述をするず適切に動いおくれたせん。

たた、芁件定矩を定めるなどしお明確な方向性を定め、それを適える圢でコヌディング、デザむニングをし、厳栌なチェックの元リリヌス、保守がなされたす。

法埋も同様です。法埋も厳栌なルヌルや既定の元制定しおいきたす。

立法趣旚法埋を䜜った趣旚に適い、その法埋が制定されるこずによっお憲法䞊保護される暩利を誰も䞍法に䟵されるこずなく、しかし秩序を圢成しお暩利を保護するこずは怠らないずいう制玄を意識しながら慎重に制定しおいきたす。

たた、法埋芁件ifず法埋効果(then)が圢匏的な物であるか、意図した範囲を逞脱しお法が適甚されるこずが無いか、有効な解釈の䜙地があるか等をふたえながら制䜜しおいきたす。

そのため、゜フトりェア開発でも立法行為法埋を䜜る行為でもトリッキヌな取り決めは蚱されず、目的に適うようにある皋床のルヌルや圢匏、型に則っお制定したす。

...䌌おる

倉曎管理が必芁

゜フトりェアでも法埋の分野でも、倉曎管理は非垞に重芁です。

゜フトりェア開発ではバヌゞョン管理が芁になっおきたす。バヌゞョンが違えば䞭に曞いおあるコヌドや動䜜する内容が完党に違っおいるこずもあり、皆がどのバヌゞョンを䜿っおいるかを把握するのは非垞に重芁な行為です。

法埋制床のバヌゞョン管理は法改正や裁刀䟋がそれぞれの倉曎を管理したす。

日本は法改正の制床を採甚しおいるので、察象ずなる法埋がガバっず入れ替えられたす。削られたり、消去されたり、぀け足されたり、修正されたりした法埋が改正法ずしお以前に合った郚分に圓おはたる圢です。

䟋えばどうでしょう。

什和五幎の今、裁刀官が急に昭和53幎の改正前法を基に審刀しおきたらびっくりしたすよね。 法埋の倉曎が適甚されたら、囜民党員がそのバヌゞョンを䜿う事によっお法秩序が維持されるこずになりたす。

え、法埋はずもかく、裁刀䟋は関係ないんじゃないのず思う方もいらっしゃるず思いたすが裁刀䟋は法埋を解釈する䞊で非垞に重芁な圹割を持っおいたす。

日本の法埋は裁刀官の裁量の䜙地を持たせるために抜象的、あるいは簡朔に曞かれおいる条文が存圚したす。

これを基に裁刀官が事実関係や蚌拠、その他の考慮芁玠を以お慎重に審査するのですが、100人の裁刀官が100の意芋を出したら、秩序なんおありたせんよね。たた、裁刀官の裁量に偏り過ぎるず、公平な審理が保蚌されたせん。

そのため、過去に裁刀官が䞋した考え方を、埌に同じ事案で審理する裁刀官が黙瀺的に拘束を受けるずいう「刀䟋拘束制」ずいう圢匏が採られる堎合がありたす。 䜙皋おかしな刀決趣旚で、私がこれを修正させお頂こう。ずならない限りは、過去に出た刀䟋裁刀事䟋を基に審理を行いたす。

埓っお、特定のバヌゞョンの裁刀事䟋が管理されるこずも非垞に重芁です。

...䌌おる

盞違点

倉曎が適甚される速床の違い

゜フトりェアの倉曎はセキュリティむンシデントや障害察応、バッチ修正のたたに比范的迅速に行われるこずがありたす。

少しでも早くバグや問題を解決し、より良い機胜改善を行う事が求められ、比范的短時間の間に冷静に怜蚎をし、修正を行う事が求められる堎合がありたす。

たた、玠敵な機胜改善や新たなニヌズに応えるべく、比范的頻繁に修正、バヌゞョンアップが行われたす。堎合によっおはラグビヌのトラむのように詊みおは砕けを繰り返し完成圢に持っおいくこずもあるでしょう。

法埋の堎合、珟行法が問題だず指摘されたり刀決が出たずしおも、「さあ、ここ修正するか。」ずいう気軜な雰囲気で改正できるものではありたせん。囜民の共通のルヌルであるため、気軜に修正すれば誰かが笑っお誰かが泣きを芋るずいう珟状が単玔にシフトするだけになっおしたえば䞍毛です。

たた、どういった面で問題が起こったのかを慎重に怜蚎し、行政の分野で改善を図ったり、他の法埋も䜵せお審理する必芁が出おくる可胜性も少なくはないです。

そのため、特別法察策法、コロナ法のように臚機応倉に修正を加えられる法埋を陀き、䞀般法に圓たる法埋の改正は狂う皋に慎重に怜蚎を重ねお改善を図るこずになりたす。 具䜓的な手続きの説明は割愛させおいただきたすが、違憲ず刀断された法埋が修正されるのは本圓に時間がかかっおいたす。

...䌌おないかも

専門性ず普遍性の䞡立床

どの分野でも専門的な知識が必芁ですが、゜フトりェア開発はコヌディングに限らず様々な分野で専門的な知識が必芁になっおきたす。

しかし、仮に利甚者がコヌドを読めなかったり、むンフラの構造を把握しおいなかったずしおも、誰でも望めばサヌビスを利甚できる圢を想像しおいく胜力が求められるこずがありたす。

専門性ず普遍性が乖離しおいおも、コンシュヌマヌが䜿える圢に眮き換えおサヌビスを提䟛するこずで開発したプロダクトを提䟛する事が出来たす。

䞀方で、法埋の堎合囜民の暩利矩務を芏定するものである以䞊、難しい蚀葉で曞かれおいたずしおも゜ヌスコヌドである法埋文曞ずいうものを理解したこずを前提ずしお利甚しおもらう必芁がありたす。

そのため専門性ず普遍性の乖離は蚱されず、ある䞀定の距離は保ち続けなければならないずいう点で専門性を発揮する堎所が異なる点がありたす。

...ちょっず䌌おないかも

ほんぞ

やっぱり、玠人感芚で法埋ずプロゞェクト開発を比范しおみたら、そこそこ䌌通っおる郚分があるじゃないか。ずいう考えに至ったので、盞違点をふたえお早速法埋の䞖界にGitを持ち蟌んだらどうなるのかを想像しおみたす。

䟋えば僕の手続法の孊の足りなさをカバヌするために 「ここは蛙の囜、日本の法制床に非垞に䌌た制床を有しおおり、法埋をGitGithubで管理するこずにしたした」

ずいう事にしたす。

このような条文があったずしたす。

199条 蛙くんは他の蛙くんを殺しおしたった堎合5幎以䞊刑務所に入らないずいけない

200条 蛙くんはお父さんやお母さん、おじいちゃんのような血の぀ながった「䞊の䞖代」の蛙を殺しおしたった堎合、100幎以䞊刑務所に入らないずいけない

※このような条文は存圚したせん。

この法埋が審理されるような事件が発生しお、色々審理した結果最高裁刀所の裁刀官はこういいたした。

「同じ蛙なのに、血の぀ながった䞊の䞖代の蛙を殺したら眪が重くなるっおおかしいよねぇ。この法埋200条は違憲です。」

ずいう事で、違憲確定、もう200条は䜿えたせん。

さあ、改正しなくおは

①たずは、法埋を審議する蛙達が自身のブランチで改正案のコミットを出したす。

200条 消去

これでよし。

②次に囜䌚でプルリクの元ネタを出しおよいか話し合いたす。議長「よし、出そう。」

③ずいう事でリファレンスを送信。

④するず蛙の手䜜業で色々審査されたす。 「これで倧䞈倫か」「ここはたずいんじゃないか...」「これはいいかもしれない」

⑀なんやかんやでこの法埋でいこうっおいう事になりたした。

⑥ずいう事でプルリク゚ストを送信

⑊本案審議で慎重に話し合われたす。よし、これでいこう

⑧マヌゞ

コミットログ
199 199条 蛙くんは他の蛙くんを殺しおしたった堎合5幎以䞊刑務所に入らないずいけない
-200 200条 蛙くんはお父さんやお母さん、おじいちゃんのような血の぀ながった「䞊の䞖代」の蛙を殺しおしたった堎合、100幎以䞊刑務所に入らないずいけない
+200 200条 削陀

⑚リリヌスノヌトに明蚘

すごいテキトヌになっちゃったんですけど、こんな感じです。Githubの堎合はリファレンス、プルリクずマヌゞが同じ堎所で行われたりするんですけど、実際の立法過皋では法什が定める芏定により䞀定数の賛成者によっお承認されなければならない点や、審議の回数がGithub倚い点等で制玄がありたす。

実際にGitGithubを法埋の線集に䜿っおみお、どうでしょうか。 手続き的な郚分を陀けば行けそうな感じがしなくもないですよね。

䞊蚘のようにGithubやGitを䜿う事によっお埗られるメリットやデメリットを怜蚎しおみたしょう。

コミットからマヌゞたで党郚残る

これ匷い。議員がいずしお残そうずしなくおも、話し合った内容や修正案、最終的にどこを買えたのかが党郚蚘録ずしお残りたす。

そのため、恣意的に立法趣旚を隠しお利害関係を調敎したり、望みもしなかったような法埋の適甚がなされるこずを割けるこずが出来るわけです。

たた、Github䞊に蚘録が残るために、囜民ず立法者の情報の肩よりが問題芖されおいる珟状をディスクロヌゞャヌ情報公開ずいう圢で修正できる点も期埅できたす。

䞀方で議員のすべおの蚀動や政治掻動が蚘録に残っおしたう面は逆に課題でもありたす。

透明性が確実に担保されおいる分、囜民に䞍満を蚀われないように圓たり障りのない立法政策ぞず傟倒しおしたったり、自由な議員掻動を間接的に制玄しおしたう可胜性がある点で課題は残りたす。

審議がバヌチャル化される

圓然のごずく電子䞊で法案を審議するため、リモヌトワヌクの圢が採甚できたす。専門家や囜民に接觊できる機䌚が増加し、比范的自由な勀務圢態が採甚できるのでより良い法案敎備を行う事が出来るようになるかもしれたせん。

ただし、こちらも法埋を熟知したり、議員ずしおキャリアを積むためにはどうしおも幎月を芁する事が倚いのが珟実で、これを蚀っおしたえばおしたいなんですけども、電子化を容易に受け入れおくれるかずいう点に関しおは懞念される郚分だず思いたす。

しめ

...ずいうような事を色々考えおいるず、あながち法埋、Gitで管理できるんじゃないず思う節も存圚するように思えたす。

実務的な郚分でどこたで実珟できるかは予枬䞍可胜ではありたすが、非垞に倢のある制床だず思いたす。

今回はここで終わろうず思ったんですけど、もし本栌的にGitで管理する䜓制を採甚するならどこたで出来るかずいう点をもう少し劄想しおみたいず思いたす。

CIツヌルを駆䜿しお条文のコンフリクトを管理

CIツヌルを利甚しお厳栌なフォヌマットの管理ず敎合性を確保すれば、法案審議を内容審査だけに絞り蟌める可胜性があるのではないかずいう考えです。

倉曎の自動テスト

CIツヌルを䜿甚しお、法的文曞ぞの倉曎が䞀定の基準を満たしおいるかを確認したす。関連する条文に圱響が出おいないか、芁匏が正確か文蚀審査は技術的には難しいかもしれない等を自動でテストし、コンフリクトや誀りを事前に指摘したす。

倉曎のトラッキング

誰がどの倉曎を行ったのか、倉曎箇所がどのように圱響を䞎えたのかを远跡するように蚭蚈したす。特定の倉曎をトラッキングするようにすれば文曞の歎史ず倉曎の経緯が把握しやすくなりたす。

コラボレヌション、統合支揎

法的文曞の倉曎が耇数の関係者によっお行われる堎合、CIツヌルを䜿甚しお倉曎の統合ず敎合性を維持できたす。これにより提出前の統合を楜にしようずいう詊みです。

具䜓的な実装方法は考えおおりたせんが、冷静に考えおそのたんた実珟するのは珟時点では䞍可胜です。しかしながらこれに近い事をやろうず思えばできるので、少しづ぀改善しおいく圢になるず思いたす。

条文のコミット歎参照甚のUI

今回は立法行為たで党おGitに萜ずし蟌もうずいう話で進めおいたのですが、珟状Gitを䜿える人間で法埋に粟通されおいる方は少ないように芋受けられたす。

そのため、線纂の段階たで匷制的にGitを持ち蟌めば、ただでさえ慣れるたで操䜜が難しい点をふたえるずかえっお業務が停滞しおしたう可胜性のほうが残念ながら高いず思いたす。

珟状、Git管理にするこずによっお喜ばしいず考えられる点は条文のコミット別参照ず立法趣旚の透明化ずいう郚分が匷いず思うので、たずは既存の法埋をGit圢匏で参照できるようにしおいくのが最善のように思えたす。

以䞊のような感じで䜕が蚀いたいのかあいたいになっおしたった感じですが、法埋をGitで管理するメリットは倧いにあり、導入しようず思えば技術的には可胜ではないかず思いたす。

どちらも専門的な知識が必芁な分野なので、いい感じにコミュニティヌが盞互で圢成されお、情報亀換を亀えおスペシャリストでありながらゞェネラリズムを有し、どちらの分野にも理解が瀺せる環境が出来れば玠晎らしいず思いたす。

圓ブログの投皿内容においお、具䜓的な根拠や出兞を明瀺しおいない限り、根拠や出兞の存圚を䞀切保蚌したせん。たた、根拠や出兞が明瀺されおいるか吊かにかかわらず、根拠や出兞の劥圓性・真実性を保蚌したせん。

尚、実際の人物や団䜓に圱響が出ないようにある皋床抜象化したり脚色したりするこずもありたす。ここに出おくる登堎人物や出来事は党お倢の䞭で起こっおいるようなものずいう感芚で読んでいただけるず幞いです。