Xウィンドウ・システムの罠
リチャード・ストールマン著コピーレフトにすべきか、せざるべきか。これは、自由ソフトウェアのコミュニティにおける主要な論争点の一つです。コピーレフトとは、わたしたちが銃撃には銃撃をもって戦わなければならないということ、すなわち、わたしたちのコードが自由で有り続けるために著作権を利用すべきだという考えを意味しています。GNU GPLはコピーレフトのライセンスの一例です。
自由ソフトウェア開発者の一部は、コピーレフトでない配布形態を好んでいます。XFree86やBSDライセンスのようなコピーレフトでないライセンスの基本になっているのは、誰に対しても(あなたの成果を元として、ほかの人々を制限しようと狙っている人に対してでさえも)、決して否と言わない、という考え方です。コピーレフトでないライセンシングは間違ったこととまでは言えませんが、しかしそれでは、ソフトウェアを変更し配布できるというわたしたちの自由を積極的に保護する機会を、みすみす失っているということになります。保護するためには、コピーレフトが必要なのです。
何年にも渡って、Xコンソーシアムはコピーレフトに反対する急先鋒でした。道義的な勧告と圧力の両方を駆使し、自由ソフトウェアの開発者たちが自分のプログラムにコピーレフトを使うのをやめさせようとしてきたのです。Xコンソーシアムは、否と言うのは良くないことだ、と示唆して開発者の倫理観に訴え、一方コピーレフトのソフトウェアはXの配布物に含めない、という規則を定めることで圧力をかけたのでした。
どうしてXコンソーシアムはこのようなポリシーを採用したのでしょう。それは、彼らの定義するところの成功と関係がありました。Xコンソーシアムは、「成功」とは普及すること、特に、コンピュータ企業がXウィンドウ・システムを使うようになることと定義していたのです。こんな定義をしてしまったばかりに、Xコンソーシアムの主導権はコンピュータ企業が握ることになりました。Xコンソーシアムは、コンピュータ企業が欲することはなんでも、それを得る手助けをしなければならなくなったのです。
コンピュータ企業は通常、プロプライエタリなソフトウェアを配布しています。プロプライエタリな用途でも自由ソフトウェアが利用できるように、企業は自由ソフトウェアの開発者が自分たちの成果をそのような利用のために差し出すことを望んでいますが、もし企業が直接こんなことを要求しても、一笑に付されてしまうでしょう。しかし企業の代わりにXコンソーシアムが前面に出て、この要求を利他的なものであるかのように提示してくればどうでしょうか。コンソーシアムは、「わたしたちと共に、成果をプロプライエタリな開発者に寄贈しましょう」などとこれがあたかも崇高な自己犠牲であるかのように示唆しました。また彼らは、「いっしょに人気を得ようじゃありませんか」と言って、これは犠牲ですらないとほのめかしたのです。
しかし、自己犠牲は問題ではありません。コピーレフトが提供する、コミュニティ全体の自由への防御を投げ捨てることは、自己犠牲よりももっと深刻な問題です。Xコンソーシアムの要請を受け入れた人々は、コミュニティの将来をXコンソーシアムの善意に託したということになります。
この信頼は見当違いでした。組織としての最後の年、Xコンソーシアムは発表間近のX11R6.4リリースに関して、利用に制限を加え、Xを自由ソフトウェアではなくする計画を立てました。彼らはプロプライエタリなソフトウェア開発者のみならず、わたしたちのコミュニティにも否と言い始めたのです。
皮肉なことに、Xコンソーシアムがコピーレフトにするなと言ってきたときあなたがイエスと答えたばかりに、XコンソーシアムはXのコアのコードと共にあなたのプログラムのあるバージョンに関しても利用許諾や制限を課すことができるようになってしまったというわけです。
Xコンソーシアムはこの計画を実行に移しませんでした。代わりにコンソーシアムは解散し、Xの開発はOpen Groupに委譲されましたが、そのスタッフも今また似たような計画を実行に移そうとしています。公平を期すため一応述べておくと、わたしがOpen Groupに、X11R6.4を彼らの計画する制限的なライセンスと並行してGNU GPLの下でもリリースしてくれないかと頼んだとき、彼らはそのアイデアを検討することはやぶさかではないと答えたのです。(彼らは、ともかく従来のX11の配布条件から脱却するということについては固く決意していました)。とはいえ、彼らがわたしの提案にイエスともノーとも言わないうちに、この案は他の理由でつぶれてしまいました。XFree86グループがXコンソーシアムの従来のポリシーに従い、コピーレフトのソフトウェアを受け入れなかったからです。
1998年9月、X11R6.4が自由ではない配布条件の下でリリースされてから数ヶ月後、Open Groupは決定を覆してX11R6.3に使われたライセンスと同じ、コピーレフトでない、自由ソフトウェアライセンスの下でXを再リリースしました。ですからOpen Groupは結局は正しいことを実施したのですが、一般的な問題が修正されることはありません。
たとえXコンソーシアムやOpen GroupがXを制限するようなことを計画しなかったとしても、他の誰かがそうすることは可能でした。コピーレフトでないソフトウェアは、誰かが十分な資源を投じてプロプライエタリなコードを使った相当に重要な機能を追加すれば、自由ではないバージョンが支配的になってしまうことを許すという点であらゆる方向からの攻撃に脆弱と言えます。ソフトウェアを、それが与える自由ではなく技術的な特徴から選択するユーザは、短期的な利便性から自由ではないバージョンを使うよう簡単に丸め込まれてしまうでしょう。
XコンソーシアムとOpen Groupは、もはや否というのは間違いだなどという道義的な勧告をすることはできません。これによって、Xに関連したご自分のソフトウェアにコピーレフトとするとあなたが決断するのは容易となるでしょう。
XサーバやXlib、XtといったXのコアにあたるプログラムの作業をしているならば、コピーレフトとしないことに現実的な理由があります。X.orgグループはこういったプログラムを維持管理するという、コミュニティにとって重要な仕事を行っており、わたしたちの変更点にコピーレフトを適用することは、その利点よりも、それによって開発が分裂してしまうという害の方が大きいのです。ですから、X.orgグループといっしょに作業し、これらのプログラムへのわたしたちの変更にはコピーレフトとしないほうが良いと言えます。また、xset
やxrdb
といった、Xコアに近く、大規模な改良を必要としないユーティリティも同様です。少なくとも、わたしたちはX.orgグループが、これらのプログラムを自由ソフトウェアとして開発し続けていくということに関して強固にコミットしていることは知っています。
アプリケーションやウィンドウマネージャ、追加的なライブラリやウィジェットといったXコア以外のプログラムについては話が違います。そういったものにコピーレフトとしない理由はありませんし、わたしたちはそれらにコピーレフトとすべきです。
X配布物に含めるかどうかの基準があることによって圧力を感じる人もいるでしょうが、GNUプロジェクトはXと共に動作するコピーレフトなパッケージの宣伝を引き受けます。何かにコピーレフトとしたいが、X配布物から排除されると普及が妨たげられるのではないかと心配している方は、ぜひわたしたちに助けを求めて下さい。
同時に、普及の必要性はそれほど重視しないほうが良いでしょう。商売人が「さらなる普及」をえさにあなたを誘惑しようとするとき、商売人は、彼があなたのプログラムを利用するということが、プログラムの成功にとって極めて重要だとあなたを説得しようとするかも知れませんが、そんなことを信じてはなりません! もしあなたのプログラムが優れていれば、どのみち多くのユーザを得るものです。あなたは特定のユーザ層を獲得しようと必死になる必要はありませんし、またそうしなければよりあなたの立場が強まるでしょう。「持ってけ、さもなくばほっとけ—あとは俺の知ったことじゃない。」商売人にはこう答えてやれば、形容しがたい喜びと自由の感覚が得られます。いったんあなたがはったりを見破れば、多くの場合商売人もあきらめてコピーレフトとともにプログラムを受け入れるものです。
自由ソフトウェア開発者の皆さん、古い過ちを繰り返してはなりません! もし自分のソフトウェアをコピーレフトとしなければ、わたしたちはソフトウェアの将来を、良心よりも資産の方が多いような誰かの慈悲にゆだねることになってしまいます。コピーレフトによって、わたしたちはわたしたち自身のためだけではなく、わたしたちのコミュニティ全体の自由を守ることができるのです。