ほー原人のブログ

原人からヒトへと進化するための考察。法律関係がメインとなると思います。

共謀罪批判で取り上げられた設例はあり得ないような極論なのか

 肥満の目安となる指標値にBMIというものがある。Body Mass Index(ボディ・マス・インデックス)の略称である。
 計算式は、体重(kg) ÷ 身長(m)の2乗。
 身長はcmではなくmで計算することになっていることに注意が必要だ。ちなみに日本肥満学会では、BMIが22を標準体重としているそうである。その他に興味がある方は、下表を参考にしてください。

日本肥満学会の肥満度判定基準  
BMI 肥満度判定
18.5未満 低体重(やせ)
18.5~25未満 普通体重
25~30未満 肥満(1度)
30~35未満 肥満(2度)
35~40未満 肥満(3度)
40以上 肥満(4度)


 突如BMIの話が始まったが、タイトルのつけ間違いではない。最後に話がつながるので、もう少しお付き合いください。
 ここで身長と体重の入力をすると自動でBMIを計算して表示してくれるコンピュータープログラムを考えてみよう。

 BMIを知りたい人がキーボードで自分の体重を入力する。これをプログラム内部では変数(入力値を記憶しておく容器のようなもの)Wで受け取る。次に身長の入力を変数Hで受け取る。身長は通常cmで表記するから、これを100で割ってm単位に換算するのを忘れずに。

BMI = W / H2

 この計算結果を表示しておしまいだ。実に簡単なプログラムである。

 しかし、体重にマイナスの値が入力されたらどうか。あるいは身長500cmなどとあり得ない数字が入力されたらどうか。
 このことは特に身長Hに0(ゼロ)が入力された場合を考えると重大な問題であることが分かる。BMIの計算式はW / H2。したがって、H = 0 だと0による除算が生じることになる。これは数学的に未定義だから、このプログラムは暴走してシステムごとダウンさせてしまうかもしれない(*1)。
 よって、キーボードからの入力値が不正な値でないか、計算式の前でチェックすべきである。実際、入力値をチェックすることはプログラミングの当然の作法となる。

// 体重の入力値確認
0 < W < 700 を満たしているか?範囲外なら再入力を促す。(*2)
// 身長の入力値確認
0 < H < 300 を満たしているか?範囲外なら再入力を促す。(*3)
// 身長をcmで入力受付したのでm単位に換算する
H = H / 100  
// 計算する
BMI = W / H2

 これで完成だ。ところで、この入力条件は正しく動作するだろうか。公開する前に当然テストするだろう。
 Wについては、0以下の値、0 < W < 700の値、700以上の値の3つに分けて様々な数字を入力し、正しく動作するか確認する。
 Hについては、0以下の値、0 < H < 300の値、300以上の値で検査する。特に境界付近の値は念入りに確認することになるだろう。
 不等号 < のつもりが ≦ になってたら問題だ。Hで0を間違って受け付けてしまうと、稼働システム全体を巻き込んでダウンさせてしまう。必ず0を入力してみて、再入力を促してくれるかどうか確認するべきだ。

 いわゆる共謀罪(テロ等準備罪、より正確には組織犯罪処罰法改正案)の衆議院法務委員会審議で野党が持ち出した設例、あるいは一部マスコミが報道した設例が極論であると批判する向きがある。

 「キノコとか竹とか山の幸を無許可で採ってもテロの資金源だから共謀罪、という話があった。海産物、海の幸はなぜ入っていないのか」(民進党山尾志桜里
 「音楽教室著作権料を支払わずに楽譜を使って演奏し、著作権法違反になれば、普通の団体も組織的犯罪集団に当たるのでは」(民進党枝野幸男

 法案を所掌する法務省幹部に言わせると、保安林内のキノコ狩りを処罰することが目的ではなく、テロ資金源となり得る樹木や土砂の不法採取を抑止することが目的だという。
 あるいは著作権法違反は組織的犯罪集団の資金源になっているCDやDVDなどの海賊版の製造販売などを対象と考えているという。
 法案賛成派は、野党の持ち出す設例は極論でいたずらに不安を煽る、反対のための反対であると批判する。

 どちらの言い分が正しいのだろうか。
 ここで問題となる条文は、改正法第6条の2、「テロリズム集団その他の組織的犯罪集団による実行準備行為を伴う重大犯罪遂行の計画」というものだ。
 法学部で学んだ経験がない人は、国会あるいは法務省のホームページに掲載されている改正法案を一目見て挫折するぐらい細々としたことが書かれている。
 その上、犯罪の主体となるテロリズム集団その他の組織的犯罪集団の定義には別表三列挙の犯罪、処罰の対象となる犯罪は別表四に列挙の犯罪、別表四の一で別表三の大部分の犯罪を引用しているなど、正しくたどるのに神経を使うかなりトリッキーな構造になっている。
 話を単純にするために(と言っても、かなり長いが)上の野党議員が提示して、政府(法務省幹部)が反論した2つの例の部分だけ引用する。

別表三
二十五 森林法(昭和26年法律第249号)第198条(保安林の区域内における森林窃盗)、第201条第2項(森林窃盗の贓物の運搬等)または第202条第1項(他人の森林への放火)の罪
五十五 著作権法(昭和45年法律第48号)第119条第1項または第2項(著作権等の侵害等)の罪

 これらの「遂行を2人以上で計画」し、「その計画をした者のいずれか」が、「計画をした犯罪を実行するための準備行為」をしたときは罰するとされている(*4)。

 ここから明らかなように、条文上は保安林の区域内における森林窃盗すべてが対象なのであり、政府が主張するような、樹木や土砂のみが対象とは書かれていない。あるいは著作権、出版権、著作隣接権著作者人格権、実演家人格権、営利目的での自動複製機器供与を広く対象としているのであり、政府が主張するようなCDやDVDなどの海賊版の製造販売のみが対象とは書かれていない。
 批判が極論だと言うなら、そのような絞り込みを条文上明示すべきなのだ。
 正常な数字を入力する限りプログラムは暴走しない。しかし異常値を入力したら最悪システムごとダウンさせる重大な被害を引き起こす。手違い、勘違いで異常値を入力することもあるだろうし、悪意のあるハッカーがシステムを攻撃する意図で異常値を入力することもあるだろう。
 法律も同じことだ。
 政府の説明は、プログラムに入力値の判定ルーチンを入れないと危険ですよね、という指摘に対して、

「私たちは体重にマイナス値を入力するなんてことはしません。なんで身長に500cmなんて数字を入力するんですか。だって私たちが入力するんですよ。そんな値を入力するわけがないんだから、判定ルーチンなんて組み込む必要はないんです。」

と言うに等しい。
 法律が適切に機能し、悪意のある者が異常値を入力しても問題が起こらないように制度設計する。そのために字義通り無限に存在する数字の中で、あえて0を入力して、それでもシステムがダウンしないことを確認する必要がある。
 野党の指摘は極めてまっとうなものだ。条文に書かれていない僕ちゃんの頭の中にだけある話を法律であるかのように語る政府は間違っている。参議院審議で大幅修正を受け入れない限り、廃案にするのが適切である。

以上

 *1 プログラミングの知識がある人から、ねえよ!とツッコミがあるかも。処理系によって取り扱い方は様々だが、現在のプログラム言語では0での除算が発生した程度でプログラムが停止したり、システムをダウンさせたりするような重大なエラーは生じない。ただし未定義なので、絶対に正しい結果を戻さない計算式であることに違いはない。

*2  体重の世界記録はジョン・ブラワー・ミノックさん(1941 – 1983)の635kgだそうです。

*3 身長の世界記録はロバート・ワドローさん(1918 - 1940)の272cmだそうです。

*4 本稿では、対象となる犯罪を問題としている。犯罪の主体である「テロリズム集団その他の組織的犯罪集団」の議論はまた別である。機会があったら考察してみたいが、一言でいうと定義がトートロジーとなっていて機能しない。条文上は何らの絞り込みも入っていないのである。