逆コンパイル容認法の制定を

 フリーソフトウェアをソース込みで公開した場合のデメリット〜盗用されるおそれがある〜というものをかつて指摘いたしました。ASCII NetworkProのコラムに「デメリットはないと断言できる(もしあれば教えてほしい)」と書いてあったので、きっちりと反論させていただいたわけです。
 編集部にもメールしましたところ編集者はきちんと応対してくれました。実際にコラムを書いた人にも連絡してくれたようですが、この方の反論はあまりにも予想通りでした。

 筆者の連絡先は相変わらず分からないので、全文掲載の許可がいただけないのが残念であるが、この人の反論、どう考えても「ソフトは無料で配布しているのだから、経済的不利益をうることはない」としか読めない。
 やっぱりそう考えていたか、というのが正直な感想である。この人、自分の作ったソフトを無料で公開している人の気持ちが分からないらしい。経済的見返りを求めてではないのだから、経済的な利益/不利益などどうでもいいということが実感できないようだ。
 このひと確かに勉強はしている。例えば「プログラミングの心理学」を一応読んでいる。「ハロウィーン文書」も目を通してはいる。でもプログラムを書いたことはないらしい。ソースコード盗用に対しては、ファイルのタイムスタンプである程度トレースできると思っている。ファイルのタイムスタンプを変えるのは簡単なことだし、だいたいコンパイルしたらどうやって確認するんだ。つまりこの人「プログラムはコンパイルする」ということすら知らなかったということになる。

 ちなみに私の場合、プログラミングをはじめたのは社内教育で、であるが、仕事でコーディングをしなくなってからもコツコツ書いている。その理由は「画期的アイディアは、形にしないと理解してもらえない」と悟ったからである。せめてプロトタイプは作って見せないと分かってもらえそうもない、と書き始めた。「そんなにうまくいくもんか」に対して「うまくいくよ」と説明しなければならなかったわけである。唯一の問題は「そんなにうまくいくのなら、なぜもっと早くやらなかった」と無視されることである。でも実際に困っている部署はすぐに乗ってくれた。だって、1年で支払いが2億円減るんだから。

 そんな経緯があるから、私は自分の考えたことが自分の手から離れるのを嫌がる。形ができるまえに自分自身の知らないところで動いてしまうと、たいていアイディアが死んでしまうからだ。プロトタイプが完成したとしても、完成までに、いろいろと考えたことを全て反映できるわけではない。ビジョンは私の頭の中なのだ。

 公開している自作ソフトにそこまでのこだわりがあるものはないが、万が一盗用されてどっかの製品として出回るようなことになると嫌だ。制御ができなくなる。もちろん正当な評価もしていただきたい。オープンソースコミュニティではそんなことはまず起こらないそうだが、企業が絡むかとそれが守られないわけである。もちろんLinuxやApacheのような大物となると、企業自体もルールを守ってはくれるだろうが。

 製品となったものにソース盗用の疑いがあっても、証拠を発見することはできない。タイムスタンプがあればある程度わかる、ということはないのだ。かつて例に挙げたPsion Series5用のメールソフトは、逆コンパイルができる言語だから動かぬ証拠を突きつけることができた。ということは同じように逆コンパイルができないと辛い。技術的にどの程度ソースコードが復元できるかは別として、少なくとも逆コンパイルの権利が認められなければならないことになる。商品の集積である資本主義社会に、商品でない使用価値のあるものを投げ込むわけだから、何か守ってくれるものを持っていなければならない。
 それのためには少なくとも、ソースコード盗用の証拠を探す権利、つまり例えば逆コンパイルの権利を認めてもらわなければならないであろう。
 だいたいのソフトウェア使用許諾契約に逆コンパイルの禁止がうたわれているが、大丈夫なのだろうか。なあに、たいしたことはない。盗聴法が通ったんだ。ソフトウェア盗用の可能性がある場合は、現場の判断で逆コンパイルしても問題ないでしょう。このようなお墨付きがほしいわけだ。

 私が噛みついた、かのコラムの筆者も正直に言ってくれればいいのだが、メリット/デメリットという熟し切らない表現をつかったから曖昧になってしまった。
「フリーソフトウェアは初めから経済的利益を求めないわけであるから、ついでにソースを公開しても、経済的には不利益とならないではないか」と素直に書いていただければよかったわけだ。そうすると「いやでもソースまで出したくない理由があるんだ」という根拠が分かってくるかもしれない。例えば、勤務中に作った個人用ライブラリというグレーなものを使っているから、といった事情とかがわかってくる。

 確かにソースを出したくない理由のうちには筆者も触れていた「ソースが汚い」と いうものもあるだろう。
 しかしながらそれに対して「BSDのUNIXはもっときたないよ」と言われてもそれだけでは公開する気にはなれまい。「だれそれちゃんはもっと悪いことをしているよ」と言い合っている小学生の言い訳じゃないんだから。それにUNIX、例えソースは汚くても設計は超一流だろう。
 だからここで必要なのはむしろ「どんなにソースが汚くても、公開した君の行動に僕は拍手を送る」という激励だろう。でもプログラマの気持のわからない筆者に、多分その発想はできないだろうなあ。

 そうそう、フリーソフトウェアを公開する理由として重要なものを忘れていた。私の場合はインターネットを使う対価として公開しているという感覚がある。
 インターネットはそれを支えているソフトも含め誰かが作って無償で提供してくれている。ならば利用している身としても何か便利なものを作ったら無償で提供すべきでしょう。

 インターネットはFreeだけれど、使うからにはそれなりの貢献が必要でしょう。聞いてむかっと来たのが、大和証券が国際電話にインターネット電話を導入したというもの。関連の講演会が無料であったら、間違いなく行って次の質問をしたでしょう。
「御社がインターネットを利用して経費を削減したのは分かりました。では、御社はインターネットに対してどういう貢献をなさるおつもりですか?」
これに追い打ちをかけてくれる人がいると嬉しい。
「私の会社はインターネット関連のベンチャー企業ですが、上場の際には御社にお願していいのでしょうか。もちろん手数料は無料ですよね。だってインターネットは無料と思ってらっしゃるのでしょ?」

 帯域を食いまくるインターネット電話、インターネットラジオ、インターネットテレビ局。彼らは帯域を占有するに匹敵する貢献をどこかでやってくれるのだろうか。もし、インターネットを実際に支えているプログラマやサーバー管理者が腹を立てて、彼らのパケットを片っ端から潰してしまうようにしても、今のままでは文句が言えないということをもう少し自覚して、感謝とともに使ってほしいなと思う。

コンピュータネタ、目次
ホーム