システム技術者にもわかる法律の議論の仕方

最近、ネット上の著作権がらみで議論がよくある。
だけど一般人と法律の専門家との間でいまいち話がかみ合ってなかったりすることも多い。
あれは法律をひとつの業務システムとして考えてみると状況がわかりやすい。
一般人はシステムのユーザーで、法律家はシステムエンジニアだ。
 
 ユーザー「こういう風に考えれば書籍スキャン代行は合法だよね」 ←あるべき仕様の話をしてる
 エンジニア「現行システムでは違法と出力されます」 ←実装されたコードの話をしてる
 ユーザー「歌詞をつぶやくのは引用として認められるはず」 ←あるべき仕様の話をしてる
 エンジニア「引用の定義はそう書かれてはいません」 ←実装されたコードの話をしてる
 
こんな風に、法律がどうあるべきか(仕様検討の話)と、既に稼動中の法律条文がどう書かれているか(実装された内容の話)の区別がついてない議論は結果として平行線のままであることが多い。
 
 ユーザー「USTREAMのDJが違法とかおかしいだろ」
 エンジニア「そんなこと言われても、設計当初そんな利用方法想定できなかったし」
 ユーザー「バグじゃん。さっさと直せばいいのに」
 エンジニア「いやいや、24時間365日運用してるから影響範囲を検討して最小限のパッチにしないと」
 
という感じで、ユーザーから見ると専門家は融通がきかなくて実利の無い思考実験に終始しているようにも思えるのだが、彼らはその問題の原因はどこにあり、解決するためには何をしなければならないのかを理解した上で話すためにこうなってしまう。
 
そんなわけでシステム屋の皆さんは、このユニットテストも用意されていない常時稼動のレガシーシステムをメンテして運用し続ける法律家の人の苦労を想像してみよう、というお話でした。
 
ところで、この実装言語のシンタックスには致命的な欠陥がある。インデントがないのだ。それゆえに選択構造や例外処理が大変読みづらい。誰だこんな言語で書いた奴は。
助けて、グイド・ヴァンロッサム。