Programmer's GPL study
GNU Public Licenseは正しい、のである。
汚染だのウィルスだの散々に言われているGPLだが、少なくとも、「プログラマーの手触り」という観点で考えれば、GPLは至極当然のことを言っているに過ぎない。
GPLが難しいのは、それが契約書、法律文書として書かれているからだ。
ごくごく大雑把に、GPLの考えていることをまとめてしまうと、こうなる:
1、プログラムとはソースコードだ
1、手元にあるソースコードは自由に使って良い
1、ただし、使うのは自己責任で
プログラマにとって、プログラムとはソースコードだ。ソースコードとは、完成品でありながら道具箱でもある。必要に応じて必要な部分を取りだして、新しい自分のプログラムに使ってしまえる。なんといっても、プログラムを書くときの最高の参考書はソースコードだ。
バイナリでは駄目だ。バイナリは、道具箱にはなってくれない。
自動車を部品取りに使うことを考えれば近いかもしれない。自動車は完成した品だが、バラして部品を取るのに使うこともできる。そんなことをすれば部品を取られたほうは壊れるが、部品を取るほうには最初から壊れた車を使えばいい。
ところがプログラムの場合には、片方を壊してしまう危険はない。部品はそっくりそのままコピーできる。コピーは一瞬だ。息をするみたいに自然にできる。警告のブザーが鳴ったりすることもない。ただ、メモリをちょっぴりとハードディスクをちょっぴり消費するだけで、万事うまくいく。
ただし、ライセンスがそれを邪魔しなければ、だ。
目の前にある自分の自動車から、部品を取ることは自由なはずだ。
同じように、目の前にあるソースコードから部品を取ることも自由なはずだ。
ソースコードでものを考えるプログラマにとって、ごくごく自然な発想だろう。
ところがライセンスは、すべてをぶち壊しにする。目の前にあるこのソースコードを他に流用してはいけないという。明らかにその方が効率がいいとわかっているのに、とかく駄目だという。ひどい場合には秘密保持契約とやらでさらにひどい制限を課される。見てしまったソースコードを、他のところで思い出してしまうのも駄目だと言われる。
------もちろんそれが正しい舞台もあるだろう。
だが、プログラマにとっては正しくない。少なくとも、手触りとはかけはなれている。
GPLが成立したのは、まさしくそのような事件によってであった。emacsというソフトウェアのソースコードが、ある日突然「これは使えない」と言われたのが原因だった。
昨日まで普通にさわっていじって直していたソースコードを、だ。
これはまったく自然じゃない。おまけに公正でもない。
そしてその「自然」な発想を誰にも邪魔されない形で記述したもの------こそが、GPLだ。
誰もが触り、誰もが使うソースコードは、たとえ誰かのものであっても、自由に触れる方がいい。その方が自然で、楽で、効率的だ。たとえ自由に触れたとしても、実際に触れるのはプログラマだけだ。だから全てのプログラマが明日から路頭に迷うことなんてない。
もし世界がプログラマの理屈だけで動くなら、これは至極正しいのだ。
そしてもちろん世界はそんなふうにはできていない。
実際には著作権をはじめとする知的財産権ビジネスはぐんぐん幅を利かせようとしている。
だが、急速なインフラ化が進んでいるコンピュータを活かすためには、すべてのソフトウェアをパテントとして囲い込むより、一定部分はインフラとして解放したほうがよいだろう。
もちろん「一定部分」の範囲はそれぞれによって違うだろうが――なんのことはない、世界は資本主義の流れの中にあるのだから、無料で良いものと、有料でもっと良いものを比較すればよいだけのことだろう。
「神の見えざる手」ではないが、本当に妄言であるのなら、GPLなど廃れるだけのことなのだ。