その他の資料
法令文書とバージョン管理

2023/3/27

法令文書とバージョン管理

本稿では、法令文書とバージョン管理にまつわる事情を技術的側面から解説します。

改正法令と施行期日

公布と施行

  • 法令は、成立後、官報に掲載されます。これを「公布」と呼びます。
  • 成立・公布された法令は、内容が確定されています。
    • 法令の内容を変更するには、他法令による改正を行う必要があります。
  • 法令の効力を発生させることを「施行」と呼びます。
  • 施行期日は、「公布の日」や「何月何日」、「政令で定める日」といったように指定することができます。
    • 「政令で定める日」のような指定を行う場合、具体的にいつ施行されるかは、公布の段階では確定していないことになります。

公布と施行

改正法令の施行

  • 改正法令は、他の法令を改正します。改正のタイミングは、改正法令の施行期日です。
  • 下の図は、「AA法」という被改正法令が、「PP法」及び「QQ法」という法令により順次改正される様子を表しています。
  • 過去時点の被改正法令の内容は一意に特定することができます。例えば、下の図では、 TQT_{Q}日や TPT_{P}日は既に確定した過去の日付なので、これらの過去時点でのAA法の内容は一意に特定できます。

改正法令の施行

施行期日が前後しうる場合

  • しかし、未来の日付については、その時点の被改正法令の内容を一意に特定できるとは限りません。
  • 例えば下の図では、2つの改正法令(PPQQ)の施行期日が前後しうる場合、2つの施行期日の中間での状態が、 APA_{P}及び AQA_{Q}の2種類存在します。
    • このような現象は、(1)公布済み(=内容が確定)で未施行(=効力が未発生)である複数の改正規定が存在して、(2)しかも施行期日が未確定で前後しうる場合に発生します。
    • なお、下の図でいう APA_{P}AQA_{Q}の内容は異なるのが通常ですが、 APQA_{PQ}AQPA_{QP}については両者を一致させることが通常であると考えられます。

施行期日が前後しうる場合

被改正法令の未来の状態

  • ただし、未来の状態が一意に特定できないといっても、内容が曖昧であるわけではありません。
  • 公布済みの改正法令の内容は確定されているため、被改正法令の未来の状態は、改正法令の施行期日順のパターンごとに事前に確定します。
    • 下の図でいうと、 APA_{P}APQA_{PQ}AQA_{Q}AQPA_{QP}の内容はそれぞれ曖昧性なく確定しているので、それぞれの内容が実社会に適用されて問題ないかを事前に確認できます。
    • ところで、改正法令(下の図のPPQQ)は、内容が確定されているにもかかわらず施行期日の前後により問題を生じないよう、工夫する必要があります。その工夫については後ほど「調整規定」の項目で述べます。

新たな改正法令を検討するとき

新たな改正法令を検討するとき

  • 新たな改正法RRを検討する場合は、RRがどのパターンのどの時点に適用するかにより、条文の内容が変わることになります。
  • そのため、改正法令の検討時には、未来の法令内容の状態を正確に把握する必要があります。
    • なお、パターンの数は施行期日の前後する法令の数が増えると急激に増大するので、通常の法制事務においては、特定の施行期日の順序(例えば TP<TQT_{P}<T_{Q} )を前提としてしまうことも多いです。ただし、この場合、万が一実際の施行順が入れ替わってしまうと(例えば TQ<TPT_{Q}<T_{P} )、事前に想定していないパターン( AQA_{Q})が適用されてしまうので、そのような事態は避けなければなりません。

被改正法令の未来の状態

改正法令の競合

法令の改正規定

  • 法令の改正は、曖昧性をなくすため、改正箇所と改正内容を文字単位で明示する方法を用います。
    • 「改め文」と呼ばれます。
    • 改正規定が適用されて法令の文章が更新される文字操作を「溶け込ませる」と呼び、このようにして生成された文章を「溶け込み」と呼ぶことがあります。

法令の改正規定

改正規定が溶け込まない例

  • 改正規定で指定している改正箇所や改正内容が改正前の法令とミスマッチしている場合は、改正規定を溶け込ませることができません。
    • この状態で改正法令が公布されると、誤りとなってしまいます。

改正規定が溶け込まない例

複数の改正規定が連続する場合

  • 複数の改正規定が連続するとき、それぞれの改正規定は一つ前の改正規定が溶け込んだ条文に対して適用されます。

複数の改正規定が連続する場合

改正規定の順序が前後した場合

  • 意図せず改正規定が前後すると、適用する改正規定と適用先の規定の内容に齟齬(競合)が生じ、溶け込まない事態が発生してしまいます。

改正規定の順序が前後した場合

調整規定

  • 施行期日が前後する場合の競合を解決する工夫の一つが「調整規定」です。
  • 「調整規定」は、施行期日が前後しうる他の改正法令がある場合に、両者の施行順に応じて改正の内容を読み替えます。
  • 下の図では、PPの第 P2P_{2}条が調整規定です。PPQQの施行順に応じて、改正規定である第 P1P_{1}条を読み替えることで、齟齬が生じないようにします。

調整規定

時系列に対する変更

法令の時系列

  • ある法令が順次改正される様子を、下の図のように時系列で表すことができます。
  • 過去の時系列が修正されるのは、基本的に誤字の訂正(正誤)などに限られます。
  • 一方、未来の時系列は、改正法令が策定されることにより変更されます。また、未公布時点での編集作業まで考慮に入れると、法令案の編集によっても時系列の変更が発生することになります。

法令の時系列

後に施行する改正法令の追加

  • 未施行の改正を前提とした改正法令を時系列上の後に追加することができます。

後に施行する改正法令の追加

割り込み施行

  • 未施行の改正法令の前に施行する改正法令を追加することもできます。このように、先に施行する改正法令が後から登場することを「割り込み施行」と呼ぶことがあります。

割り込み施行

未施行の改正法令の改正

  • 公布済みで未施行の改正法令の内容を変更したい事情が生じた場合は、改正法令の改正を行います。
  • 例えば、割り込み施行が生じたために、既に公布済みの改正法令が前提としていた被改正法例の内容が変わってしまい、これに伴って公布済み改正法令の内容を調整しなければならなくなることがあります。このような場合は、改正法令の改正を行います。

未施行の改正法令の改正

複数の改正規定からなる改正法令

複数の法令を改正する改正法令

  • 一つの改正法令で、複数の法令を改正することができます。
  • 通常、それぞれの被改正法例に対応する改正規定を、別々の条として改正法令の中に記述します。

複数の法令を改正する改正法令

複数の施行期日を持つ改正法令

  • 一つの改正法令の中で、改正規定ごとに施行期日を分けることができます。
  • このとき、後に施行する改正規定が前に施行する改正規定の内容に依存することがあります。このような場合は、それぞれの改正規定を別々の条として改正法令の中に記述します。
    • このような改正方法を「n段ロケット」(例えば「2段ロケット」)と呼ぶことがあります。

複数の施行期日を持つ改正法令

複数法令の改正・複数施行期日の組み合わせ

  • 一つの改正法令において、複数の法令に対する改正規定や、一つの法令に対する複数の施行期日の改正規定を組み合わせることができます。

複数法令の改正・複数施行期日の組み合わせ

一部施行済みの改正法令

  • 複数の施行期日を持つ改正法令の場合、時間の経過と共に一部のみ施行されることがあります。
  • なお、改正法令はその全部が一体として公布されるので、公布済みと未公布の規定が同じ法令の中で共存することはありません。

一部施行済みの改正法令

新規制定法令の附則による改正

  • 法令を新規に制定するとき、その新規制定法令の附則で他の法令を改正することができます。
  • 当該改正規定は施行して他の法令に溶け込むことで役目を終えますが、新規制定部分は存在し続けます。

新規制定法令の附則による改正

改正法令の改正規定以外の部分

  • 改正法令についても、改正規定以外を含む場合(経過措置等)、その部分については新規制定法令と同様のライフサイクルが始まります。

改正法令の改正規定以外の部分

複数の改正法令の依存関係

  • 複数の改正法令が同一の法令を改正する場合、それらの改正法令は他の改正法令の内容に依存することになります。
  • 下の図では、AA法を改正するQQ法中の改正規定 Q2Q_{2}は、前に施行するPP法中の改正規定 P1P_{1}に依存します。また、BB法を改正するQQ法及びCC法では、 Q3Q_{3}Cs1C_{s1}Q1Q_{1}のように相互に依存することになります。

複数の改正法令の依存関係

編集によるバージョン

法令案の編集

  • 法令文書は、法令改正による時系列上の変化に加え、編集によっても変化します。本資料では、便宜上これを「バージョン」の変化として説明します。
    • 例えば下の図では、被改正法例 A0A_{0}P1P_{1}によって改正されて AP1A_{P_{1}}になる時系列上の変化に加えて、法令案 P1P_{1}を編集して P2P_{2}とする変化が同時に発生しています。
    • P1P_{1}の編集に伴って、溶け込んだ被改正法例の内容も変化し、 AP1A_{P_{1}}AP2A_{P_{2}}になります。下の図では、これらをまとめて、バージョン V1V_{1}からバージョン V2V_{2}への変化として表しています。
  • 現状、法令案の編集段階における統一的なバージョン管理の手法は定まっておらず、各々の部署で、ファイルのバックアップなどの任意の方法で管理されています。

法令案の編集

正誤

  • ときには、公布後の法令について、誤字修正等を目的として官報正誤による修正が行われることがあります。この場合も、新たな編集バージョンとして考えることができます。

正誤

時系列上の修正

  • 時系列上で改正規定を追加・削除する場合も編集バージョンの追加が発生します。

時系列上の修正

編集バージョンの分岐

  • あるバージョンを元に改正法令案の編集を開始した後、別のところでも編集が行われることでバージョンが分岐することがあります。
  • 例えば下の図では、バージョン V0V_{0}を元に編集を始めてバージョン Vα1V_{\alpha_{1}}を追加したところ、新たに改正法令が公布されてバージョン Vβ1V_{\beta_{1}}が別途追加された様子を表しています。

編集バージョンの分岐

編集バージョンのマージ

  • 法令案の編集中に新たに改正法令が公布されたなどの場合は、公布された改正法令を編集中の法令案の検討に反映する必要があります。
  • 例えば下の図では、バージョン Vα1V_{\alpha_{1}}で改正法令 P1P_{1}を編集していたところ、新たに改正法令QQが公布されたバージョン Vβ1V_{\beta_{1}}が生じた様子を表しています。
  • 単にQQを時系列に追加するだけでは、改正の競合などにより、時系列上の整合性が確保されません。下の図では、時系列上の整合性を確保するため、 P1P_{1}P2P_{2}に更新し、新たなバージョン Vα2V_{\alpha_{2}}を追加した様子を表しています。

編集バージョンのマージ

バージョンの分散管理

  • 編集中の法令案は、必要に応じた情報管理が行われます。
  • 各部署では、主に公開されているバージョンを元に編集を開始し、各部署内で編集を行った後、閣議決定や官報掲載などの手続により編集結果を公開します。
    • 繰り返しですが、現状、法令案の編集段階における統一的なバージョン管理の手法は定まっていません。現状は、概念的にはこのようなバージョン管理が行われていると考えますが、その具体的な方法は多くの場面で手作業であると考えられます。

バージョンの分散管理

Appendix

参考文献

本資料の作成に当たっては、下記資料を参考にしました。

Created: 2023/3/27