マイク・ユリツキー:私はマイク・ユリツキーです。スターン・スクール・オブ・ビジネス教授で、先端工学センターの共同所長の1人でもあります。私たちコンピュータ科学科のメンバー全員を代表して、皆さんを歓迎いたします。講演者はエドが紹介してくれることになっていますが、その前に私からも一言ご挨拶させていただきたいと思います。
大学の役割は、論争を促し、面白い議論をする場を提供することです。そして、大きな大学の役割は、特に面白い議論を提供することです。この講演会はまさにそのようなものになるでしょう。私は、オープンソースの議論は特に面白いと思っています。言わば……[聴衆の笑い]。
リチャード・M・ストールマン (RMS):私がしているのは、フリーソフトウェアです。オープンソースは別の運動です [聴衆の笑い][拍手]。
ユリツキー:私がこの分野に入った1960年代には、基本的にソフトウェアはフリーでした。私たちはそのサイクルに入っていきました。その後、ソフトウェアメーカーが市場拡大のために別の方向に引っ張っていきました。PCの登場以来着手されたさまざまな開発プロジェクトは、それとまったく同じサイクルに入っていきました。
フランスにピエール・レヴィという面白い哲学者がいます。彼は、この方向への移行について論評している人です。技術だけではなく、社会、政治面での改革にからめてサイバースペースへの移行を、人類の福祉を向上させる関係の変化として論じています。今回の討論がその方向になることを期待しています。つまり、いつもは大学内の安らぎの場として機能しているさまざまな学科を横断するものになることです。非常にスリリングな議論を期待しています。では、エド……。
エド・ションバーグ:私は、クーラントインスティテュート・コンピュータ科学科のエド・ションバーグです。このイベントにようこそ。通常、紹介者は公開講演会では無用の長物ですが、今回は非常に有意義な役割を果たされたと思います。マイクがいとも簡単に実証されたように、紹介者は、たとえば不適切なコメントを加えることによって、[講演者が] 整理して誤りを正せるようにするとともに[聴衆の笑い]、論点をはっきりさせてくれます。
では、ご紹介するまでもない人物について、できる限り簡潔に紹介させていただきましょう。リチャードは、ローカルな活動からグローバルな思考を始めた典型的な例を提供する人物です。彼の出発点は、大昔のMIT AIラボでプリンタドライバのソースコードを参照できないことから起きた問題にあります。彼は、ソフトウェアの製作形態について、知的財産権の意味について、ソフトウェアコミュニティが実際に何を代表しているかについて、私たち全員が再考を余儀なくされるような首尾一貫した哲学を打ち立てました。では、リチャード・ストールマンさん、どうぞ[拍手]。
RMS:誰か時計を貸してくれますか [聴衆の笑い]。ありがとう。この演台に立つ機会を与えてくれた Microsoft に感謝の意を表したいと思います [聴衆の笑い]。数週間前、私はどこかで思いがけず著書が発禁になった若者のような気分になりました[聴衆の笑い]*1。もっとも、その事件についてのすべての記事は、著者名を書き間違えていました。Microsoft は GNU GPL をオープンソースライセンスと呼んでおり、ほとんどの記者がそれに追随したからです。もちろん、ほとんどの方々は、私たちの仕事がオープンソースとはまったく無関係であることも、「オープンソース」なる用語が作られる前に私たちがほとんどの仕事を終えていたことも、無邪気にご存知ないのです。
私たちは、フリーソフトウェア運動に属しており、私はフリーソフトウェア運動とは何か、何を意味し、私たちが何をしてきたのかということを話していくつもりです。そして、今回のスポンサーにビジネススクールが含まれているということから、フリーソフトウェアがビジネスや社会生活のその他の分野とどのような関係を持つかということについて、いつもよりも突っ込んだお話をしたいと思います。
さて、皆さんの中にはコンピュータプログラムを書いたことがないけれども、料理なら作ったことがある人がたくさんいると思います。料理を作るとき、特に料理の得意なほうでなければ、たぶんレシピを使うはずです。そのレシピは、友達からもらったコピーの場合もあるでしょう。そして、まったくの初心者でなければ、レシピを書き換えた経験があると思います。レシピには一定のことが書かれていますが、まったくその通りに従う必要はありません。一部の材料はなしで済ませて、キノコ好きならキノコを加えるようなこともあるでしょう。また、医者に塩分を控えるように言われていれば、塩加減を調節するはずです。腕次第で、さらに大きな変更を加えることができます。そして、レシピをき換え、友達のために料理して気に入ってもらえたら、友達の中には、「ねえ、レシピをちょうだいよ」という人が出てくるかもしれません。そのようなとき、あなたはどうしますか。あなたが変更したレシピを書いて、友達のためにコピーを作ってあげるところでしょう。どのような分野のものであれ、機能的に役に立つレシピの扱い方としては、これが自然なものだと思います。
さて、レシピはコンピュータプログラムに非常に似ています。そして、コンピュータプログラムはレシピに非常に似ています。自分が望む結果を得るために、遂行すべき一連の手順を書いたものです。ですから、コンピュータプログラムでも同じことをする、つまり友達にコピーを手渡すのが自然なのです。プログラムがもともと書かれた目的と自分のしたい仕事にずれがあるなら、プログラムに変更を加えるでしょう。そのプログラムは、あなた以外の誰かのためにはすばらしい仕事をしたかもしれませんが、あなたのしたい仕事はそれではないのです。そして、あなたが書き換えたプログラムは、他の誰かにとっても役に立つかもしれません。彼らは、あなたがしているのと同じような仕事を持っているのです。そのような人は、「コピーをもらえるかな」と言うでしょう。もちろん、そう言われたら、意地悪な人でなければコピーを上げるでしょう。まともな人ならそうするものです。
ここで、レシピがブラックボックスの中に閉じ込められていたらどうなるか考えてみましょう。どんな材料が使われているかはわかりませんし、まして変更することはできません。さらに、友達のためにコピーを作ったら、あなたは海賊と呼ばれ、何年も牢屋に閉じ込められそうになります。そのような世界は、レシピの共有に慣れていたすべての人々の怒りを集めるでしょう。しかし、私有ソフトウェアの世界とは、まさにそういうものなのです。他者に対する当たり前の親切が禁じられ、妨害される世界なのです。
私がそれに気づいたのはなぜでしょうか。それは、幸運にも1970年代にソフトウェアを共有していたプログラマのコミュニティの一員だったからです。このコミュニティの起源は、基本的にコンピューティングの草創期までさかのぼることができます。しかし、1970年代には、ソフトウェアが共有されているコミュニティは、少しまれな存在になっていました。私が働いていた研究所はむしろ極端な例で、オペレーティングシステム全体がコミュニティのメンバーによって開発されたものでしたし、それをすべての人と共有していました。やってきた人はすべて歓迎され、ソースコードを見たり、コピーを取ったりして、自分がしたいことを何でもすることができました。これらのプログラムには、著作権表示は含まれていませんでした。私たちのライフスタイルは協力であり、そのスタイルで安全に暮らしていました。そのために闘うことはなかったし、闘う必要もありませんでした。ただ単に、そのように暮らしていただけです。そして、私たちが知る限り、私たちはそのように暮らし続けることができたはずです。ですから、フリーソフトウェアはありましたが、フリーソフトウェア運動はありませんでした。
しかし、私たちのコミュニティは、いくつかの災難のために破壊されてしまいました。そして、最後に止めをさされたのです。私たちが仕事のために使っていた PDP-10 コンピュータ*2は、製造中止になりました。私たちのシステム(Incompatible Timesharing System: ITS)は、60年代の初めから開発が始まったもので、アセンブリ言語で心かれていました。60年代にオペレーティングシステムを書くということは、そういうことだったのです。もちろん、アセンブリ言語は、ある特定のコンピュータアーキテクチャに縛られています。そのアーキテクチャが廃止されれば、すべての仕事は灰になります。使えなくなってしまうのです。私たちの災難とはそういうものでした。私たちのコミュニティの20年ほどの仕事が灰になったのです。
しかし、その前に準備をするというか、どうすべきかがわかるというか、こうなったときにどうすべきかという心構えができたというか、そういう経験をしました。どういうことかというと、Xerox が私の勤務先だったAIラボにレーザープリンタをくれたのです。これは本当にすばらしい贈り物でした。何と言っても、Xerox の社外に出た初めてのレーザープリンタだったのです。非常に高速で、1秒に1ページ印刷できましたし、そのほかさまざまな面で優れていました。ただ、ちょっと信頼性に欠けていたのです。それは、オフィス用高速コピー機をプリンタに改造したものだったからなのでしょう。そして、コピー機には紙詰まりがありますが、そうなっても誰かがそばにいて直すことができます。しかし、プリンタが紙詰まりを起こしたとき、プリンタを見ている人はいません。そのため、紙詰まりを起こしたまま、長時間放置されることがよくありました。
この問題の対処方法について、アイディアはありました。プリンタが紙詰まりを起こすたびに、プリンタ駆動マシンが私たちのタイムシェアリングマシンに通知を送り、そのマシンがプリントアウトを待っているユーザーに通知を送れば、ユーザーはプリンタのところに行って紙詰まりを直すでしょう。紙詰まりが起きているのを知っているのはそのユーザーだけですからね。プリントアウトを待っていて、プリンタが紙詰まりを起こしていることがわかっていば、永遠に座って待っているのはいやだから、直しに行くというものです。
しかし、ここのところで完全に暗礁に乗り上げてしまったのです。と言うのも、プリンタを駆動するソフトウェアがフリーソフトウェアではなかったからです。ソフトウェアはプリンタに付属していましたが、バイナリ形式だけでした。私たちは、ソースコードを手にすることはできませんでした。Xeroxは、ソースコードをくれようとはしなかったのです。ですから、私たちはプログラマとしての能力を持つにもかかわらず(私たちは自前のタイムシェアリングシステムを書いたほどなんですから)、プリンタソフトウェアにこの機能を追加することは不可能でした。
そして、私たちは黙って待っていなければなりませんでした。プリンタは、ほとんどの時間、紙詰まりを起こしていたので、プリントアウトが終わるまで1時間から2時間もかかりました。「プリンタが紙詰まりを起こすことはわかっているから、1時間待ってから、プリントアウトを取りに行こう」と思って1時間待ったあと、プリンタを見に行くと、その間ずっと紙詰まりを起こしていたというようなこともありました。その間、ほかの誰も直していなかったのです。そこで、紙詰まりを直して、もう30分待って戻ってみると、プリントアウトが終わる前にまた紙詰まりを起こしている。3分印刷して、30分紙詰まりで止まっている。イライラは極限まで達します。さらに頭に来るのは、自分たちならこの問題を直せるのに、誰か他人が自己中心主義のために私たちをブロックし、ソフトウェアの改良を妨害していることです。当然、私たちは憤りを感じていました。
その後、カーネギーメロン大学(CMU)の誰かがソフトウェアのコピーを持っているという話を聞きつけました。私は、しばらくしてからCMUに出かけ、彼のオフィスに行って言いました。「こんにちは、私はMITから来た者です。プリンタのソースコードのコピーをいただけないでしょうか」 彼は、答えました。「いいえ、私はあなたにコピーを上げないように約束しました」 [聴衆の笑い]。私は唖然としました。非常に腹が立ち、どうしたらよいのかわかりませんでした。私にできたことは、きびすを返して、オフィスを立ち去ることだけでした。ひょっとすると、ドアをばたんと閉めたかもしれません [聴衆の笑い]。そしてその後もそのことについて考えました。私は単なる孤立した馬鹿に出くわしたわけではなかったのです。これは重要で、多くの人々に影響を与える社会現象だったのでした。
私は幸いにも、ちょっと苦い味を味わっただけで済みました。他の人々は、始終この世界と折り合いをつけなければなりませんでした。ですから、私は長い間考えました。彼は、私たち MIT の仲間への協力を拒むと約束しました。彼は私たちを裏切ったのです。しかし、彼は私たちにだけそうしたわけではありません。あなたにもしたかもしれません [聴衆の1人を指して]。また、彼はきっとあなたにもそうしたと思います [聴衆の別の1人を指して] [聴衆の笑い]。そしておそらく、あなたにもそうしていたかもしれない [第3の聴衆を指して]。彼はおそらく、この部屋にいるほとんどの人々に対してそうしたはずなのです。1980年にまだ生まれていなかったごく一部の人々を除いて。彼は、地球上のほぼすべての人々との協力を拒むように約束したのです。彼は、NDA(情報非開示契約)に署名したのです。
これは、私にとってNDAとの初めての遭遇でしたが、重要な教訓を残しました。なぜ重要かというと、ほとんどのプログラマが未だにこの教訓を学んでいないからです。これが私にとってNDAとの最初の遭遇で、犠牲者は私でした。私と研究所全体が犠牲者になりました。そして、この事件から学んだ教訓とは、NDAには犠牲者がいるということです。NDAは無罪でも無害でもありません。ほとんどのプログラマは、署名を促されたときに初めてNDAと遭遇します。そして、そのようなときには必ず何らかの誘惑があります。署名すれば、何か見返りが得られるのです。そこで、言い訳をでっち上げます。彼らは言います。「どうせ彼はコピーを手に入れられないのだから、彼を欺く陰謀に加わってはいけないという理由はない」 あるいはこう言います。「みんなそうしているのに、自分だけ逆らえないよ」 あるいはこういいます。「私がサインしなくても、誰かがサインするさ」 さまざまな言い訳が、彼らの良心を抑えつけてしまうのです。
しかし、私自身がNDAにサインしないかと誘われたときには、私の良心はすでにこの問題に敏感になっていました。私を助けないように、ラボ全体の問題解決を妨害するような約束をした人間に対したときに、いかに腹が立ったかが蘇ってきました。ですから、私は180度方向転換して、私に何の害も与えていない他者にまったく同じことをするわけにはいきませんでした。憎んでいる敵と役に立つ情報を共有しないように約束してくれと言われたなら、イエスと言ったでしょう。悪いことをしている相手なら、共有を得られないだけの理由があります。しかし、見知らぬ他人は、私に対して何もしていません。どうしてそのような虐待を受けなければならないのでしょうか。自分がすべての人々に対して、ひどい仕打ちをすることを許してはなりません。そんなことをすれば、社会に対する略奪者になってしまいます。そこで私はこう言いました。「このすばらしいソフトウェアパッケージを私に提供しようとしてくれてどうもありがとう。しかし、あなたが要求している条件では、私は自分の良心にかけてそのパッケージを受け入れるわけにはいかないので、そのパッケージはいりません。どうもありがとう」というわけで、私はソフトウェアなどの有用な技術情報全般について、自ら承知した上でNDAにサインしたことはありません。
情報には、その他の種類のものもあります。それらはまた別の倫理的な問題を抱えています。たとえば、個人情報です。皆さんがボーイフレンドと自分の間に起きたことについて、私に話をしたいのだけれども、誰にも言わないでね、と頼むようなことがあります。それは一般的に役に立つ技術情報ではないので、私は皆さんのために秘密を守ることを約束するでしょう。
その情報は、少なくとも、おそらく一般的に役に立つものではありません[聴衆の笑い]。ごく小さな可能性、本当に可能性の問題ですが、皆さんが私にあるすばらしい新しいセックステクニックを教えてくれるかもしれません[聴衆の笑い]。そして、私は人類のその他の人々に対してその情報を伝えれば、皆が利益を得られるという倫理的義務感 [聴衆の笑い] を感じるかもしれません。そのような場合には、内緒にしてという約束に条件を付けなければならないでしょう。
誰がそれをほしがっていて、誰が誰に腹を立てていて、といった連続テレビドラマ的な些細な話なら、私は秘密を守ることができます。しかし、知ることによって人類がとてつもなく大きな利益を得られる情報なら、私は出し惜しみをするわけにはいきません。科学技術の目的は、人々がよりよく生きられるようにするために役に立つ情報を開発することです。そのような情報を隠す約束をするなら、あるいは情報を秘密にするなら、私たちは自らの使命に反することになります。そして、私はそのようなことはすまいと決心したのです。
しかし、その一方で私のコミュニティは崩壊し、私はまずい状況の中に取り残されました。PDP-10が陳腐化してしまったので、ITS 全体が陳腐化してしまいました。ですから、以前のようにオペレーティングシステム開発者として仕事を続けることは不可能になっていました。私の仕事はコミュニティの一員となって、コミュニティのソフトウェアを使い、改良することに依存していました。そのような可能性はもう閉ざされてしまったので、私は倫理的にジレンマに陥ってしまいました。自分はこれからどうしたらよいのか。もっとも簡単な可能性は、私の決心を覆すことでした。それは、世界の変化に自分を適応させるということです。世界が変わったことを受け入れ、自分の原則を放棄し、私有オペレーティングシステムのNDAに署名し、おそらくは私自らも私有ソフトウェアを開発するということです。そうすれば、楽しくコーディングでき、豊かになれることはわかっていました。特に、MIT以外のところで働けば。しかし、あとで人生を振り返ったときに、「私は、人々を分断する壁を立てるために人生を費やしてしまった」とつぶやきつつ、自分の人生を恥じなければならなくなってしまうでしょう。
そこで、私は別の選択肢を探し、簡単な方法が見つかりました。ソフトウェアの世界を離れて他の仕事をするのです。私には他に特別な技能はありませんでしたが、ウェイターにはなれただろうと思います[聴衆の笑い]。高級レストランには雇ってもらえないでしょうが [聴衆の笑い]、どこかでウェイターになることはできたでしょう。多くのプログラマは、私にこういうことを言います。「プログラマを雇う人間は、これとこれとこれを要求する。それができなければ、自分は飢え死にだ」 これは、彼らが使う用語そのままです。ウェイターなら、飢え死にすることはないでしょう [聴衆の笑い]。ですから、実際には彼らには何の危険もないのです。しかし、ここが重要なポイントですが、何かもっと悪いことが起きると言えば、他人を傷つけるような仕事をする言い訳になるのです。本当に飢え死にしそうなら、私有ソフトウェアを書く言い訳も立つでしょう [聴衆の笑い]。誰かが銃で狙っていると言うのなら、それも許されるでしょう[聴衆の笑い]。しかし、私は非倫理的なことをしなくても生き残れる方法を見つけましたから、それは言い訳にはなりません。もっとも、ウェイターになるのは私にとって面白いことではありませんし、オペレーティングシステム開発者としての技能を無駄にすることになります。しかし、自分の技能を悪用することは避けられたでしょう。私有ソフトウェアの開発は、自分の技能の悪用です。私有ソフトウェアの世界で生きることを他者に勧めるのも、自分の技能の悪用です。悪用するくらいなら無駄にしたほうがましですが、とても良いわけではありません。
そこで、私はまた別の選択肢を探すことにしました。状況を打開して世界をより良い場所にするためにオペレーティングシステム開発者ができることは何か。そして、必要なものは、まさにオペレーティングシステム開発者だということに気づきました。私にとっても誰にとっても問題でありジレンマであったことは、新しいコンピュータのオペレーティングシステムがすべて私有ソフトウェアだったことです。フリーオペレーティングシステムは、古い陳腐化したコンピュータのためのものでした。ですから、新しいコンピュータでは、新しいコンピュータを手に入れて使いたければ、私有オペレーティングシステムを使うことを余儀なくされたのです。では、一人のオペレーティングシステム開発者が別のオペレーティングシステムを書き、「すべての人よ、ここに来てこれを共有せよ。すべての人を歓迎する」と言ったらどうなるでしょうか。すべての人々がジレンマを克服し、新たな選択肢を手にすることができます。私は、問題を解決するために自分ができることがあることに気づいたのです。私は、それを実現できる技能をちょうど持っていました。そして、私の人生をかけてできることの中で、それは想像できる限りもっとも役に立つ仕事でした。そして、それは他の誰もがまだ解決しようとしたことのない問題でした。ただ存在し、悪化し、私以外に解決しようとする者のいない問題でした。ですから、私はこう感じました。「私は選ばれた者だ。私はこの仕事をしなければならない。私がしなければ誰がするというのだ」
そこで、私はフリーオペレーティングシステムを開発することにしました。でなければ、開発しようとして死ぬ……もちろん、歳を取ってからですが [聴衆の笑い]。
当然ながら、私はどのようなオペレーティングシステムを開発するかを決めなければなりませんでした。設計上の技術的な判断をいくつかしなければなりませんでした。私は、いくつかの理由から、Unix互換システムを作ることにしました。まず第1に、私は自分が本当に気に入っていたあるオペレーティングシステムが陳腐化するのを目の当たりにしましたが、それは特定のコンピュータ専用に書かれていたからです。また同じ目に遭うのはいやでした。ポータブルなシステムが必要だったのです。Unix はポータブルなシステムでした。Unixの設計に従ったことで、同じようにポータブルで仕事のできるシステムを作るチャンスを手にしました。さらに、細部で Unix に対する互換性を保つ必要がありました。それは、ユーザーが互換性のない変更を嫌うからです。私が自分の好きなようにシステムを設計していたら、きっとそういう仕事は楽しかったとは思いますが、互換性のないシステムを作っていたでしょう。細部が異なるものになっていたはずです。そのようなシステムを作ったら、ユーザーはきっとこう言っていたはずです。「ええ、確かにこれはすばらしいシステムですが、互換性がありませんね。必要な作業を考えると、切り替えは不可能です。Unix の代わりにあなたのシステムを使うためにそこまでする余裕はありません。ですから、私たちは Unix を使い続けるつもりです」
人々がいて、フリーシステムを使い、自由と協力のすばらしさを満喫するコミュニティがほしければ、人々が使えるシステム、人々が簡単に移行できるシステム、最初の時点で引っかかるような障害を持たないシステムを作らなければなりませんでした。そして、Unix に対して上位互換性を持つシステムを作ることにすると、さし当たっての設計上の判断はみな終わっていました。Unixはさまざまな部品から構成されており、それらは多少なりともドキュメント化されているインターフェイスを介して通信しているからです。ですから、Unixに対して互換性を保ちたければ、部品を1つずつ互換部品に取り替えていかなければなりません。他の設計上の判断は、1つの部品内の問題であり、あとでその部品を書く誰かが決めればよいのです。最初から決めておく必要はありませんでした。
仕事を始めるためにその他にしなければならないことは、システムの名前を決めることだけでした。私たちハッカーは、プログラムのためにウケを取れる名前を探すものです。名前が受けている様子を想像することは、プログラムを書く楽しみの半分を占めます [聴衆の笑い]。そして、私たちの間には、既存のプログラムに似ているものを書いていることを示すために、入れ子細工のような再帰的頭字語を使う伝統があります。これこれはあれではない (this one's not the other)という文句を考えれば、再帰的頭字語になります。たとえば、60年代から70年代にかけて、テキストエディタの Ticoがたくさんありましたが、一般に何とかTECO と呼ばれていました。そこで、ある賢いハッカーが自分のエディタにTintという名前を付けました。Tint Is Not TECO の頭文字を並べたわけです。これが最初の再帰的頭字語でした。私は1975年に最初の Emacs テキストエディタを開発しましたが、その後 Emacs を真似たエディタが無数に作られ、それらの多くは何とか Emacs と呼ばれていました。1つは Fine Is Not Emacsで、また Sine IsNot Emacs、Eine Is Not Emacs と呼ばれるものがありました。そして、MINCEは、Mince Is Not Complete Emacs です [聴衆の笑い]。これは、機能縮小版でした。Eine はその後ほとんど完全に書き換えられ、新バージョンは Zwei Was Eine Initially*3になりました[聴衆の笑い]。
そこで、私は何とか Is Not Unix という再帰的頭字語を探しました。26字全部を試してみましたが、単語になるものはありませんでした [聴衆の笑い]。うー。そこで他の方法を試しました。ちょっと縮めてみたのです。こうすれば、何とか's Not Unix という3文字名前を試すことができます。そして、「GNU」という単語に行き当たりました。GNUは、英語でももっとも面白い単語です[聴衆の笑い]。これだ。もちろん、面白いという理由は、辞書によれば「new」されることにあります。この単語がさまざまな言葉遊びに使われるのはそのためです。ご存知かもしれませんが、これはアフリカに生息する動物の名前です。そして、アフリカでの発音には、クリック音が含まれていました [聴衆の笑い]。おそらく、今でも残っているでしょう。ヨーロッパの植民地主義者どもは、アフリカに着いたとき、このクリック音の発音を学習しませんでした。そこで、発音自体は無視し、「自分たちは発音するつもりはないが、ここには別の音があったはずである」ということを意味する「g」を付けました[聴衆の笑い]。そこで、今晩私は南アフリカに発ち、クリック音の発音方法を教えてくれる人を見つけたいと思っています[聴衆の笑い]。そうすれば、GNUが動物を指すときの正しい発音方法がわかるはずです。
しかし、システム名としてのGNUの正しい発音は、「guh-NEW」です。「g」をハードに発音します。「new」 オペレーティングシステムを話題にすると、人に混乱を与えることになるでしょう。何しろ私たちはもう17年もこのシステムを開発しており、もうとても「new」 システムだとは言えないからです [聴衆の笑い]。しかし、このシステムは今も、そしてこれからも永遠に、GNUです。たとえ、多くの人々が間違えて Linux と呼んだとしても[聴衆の笑い]。
そこで、1984年の1月に私はMIT を辞職してGNUの部品を書き始めました*4。しかし、ありがたいことに、MITは従来通り設備を使えるようにしてくれました。当時の私は、すべての部品を書き、GNU システムを完成させたら、「こっちにおいで」と言って人々に使ってもらおうと思っていました。しかし、実際にはそうはなりませんでした。私が最初に書いたのは、Unixの一部の部品の代わりに使える良い部品で、バグも少なくなっていましたが、とてもすばらしいというほどのものではありませんでした。わざわざそれらを手に入れてインストールしようという人はいませんでした。しかし、1984年の9月になって、私はGNU Emacsを書き始めました。これは、私にとって2度目の Emacs の実装で、1985年の初めまでには動くようになっていました。これで、すべての編集作業で Emacs を使えるようになりました。私はUnixのvi エディタの使い方を学ぶ気にはなれませんでしたので、これでずいぶん気が楽になりました [聴衆の笑い]。それまでは他のマシンでファイルを編集し、ネットワーク経由で保存して、テストしていましたが、GNU Emacs が使える程度に動くようになってからは、他の人々も使いたいと思うようになりました。
そこで、私は頒布方法の細部を詰めなければならなくなりました。もちろん、anonymous FTPディレクトリにはコピーを置いておきましたし、ネットにアクセスできる人々にとってはそれで充分でした。tarファイル*5をほどくだけですから。しかし、1985年当時は、多くのプログラマでさえ、ネットへのアクセスを持っていませんでした。彼らは、「どうやったらコピーを手に入れられるの?」とメールしてきましたので、私は答え方を決めなければなりませんでした。「テープを書くのではなく、もっと多くのGNUソフトウェアを書くために時間を使いたいので、Internet にアクセスできる友達を見つけて、ダウンロードしてもらい、それをテープに書き込んでもらってください」と答えても良かったでしょう。遅かれ早かれ、彼らはそのような友達を見つけられたはずです。彼らはコピーを手に入れられたでしょう。
しかし、私は無職でした。実際、1984年1月にMITを辞職してからずっと、私は無職でしたから、フリーソフトウェアの仕事を通じてお金を稼ぐ方法を探していました。そこで、私はフリーソフトウェアビジネスを始めたのです。私は、次のように発表しました。「150ドル送っていただければ、Emacs のテープを郵送します」すると、ぽつぽつと注文が入るようになってきました。1985年の中頃には、ぽたぽたとしずくが垂れるような感じで注文が届くようになりました。
月に8本から10本の注文がありました。そして、必要なら、私はたったそれだけで生活していけます。私の生活費はいつも安く、基本的に学生のように暮らしています。このような生活は、何をすべきかがお金によって左右されないという点で気に入っています。やらなければならない重要に思うことをすることができるのです。私は、やる価値があると思うことをできる自由を手に入れました。普通のアメリカ人が慣れている消費過剰のライフスタイルに流されないようにすることは、非常に重要です。このライフスタイルに足をすくわれると、お金を持っている人々に生計を立てるための手段を支配されます。自分にとって本当に必要なことをできなくなってしまうのです。
まあ、それはいいでしょう。しかし、人々は私にこう尋ねました。「150ドルもするのにフリーソフトウェアというのはどういうことなんだね?」 [聴衆の笑い]。彼らがこのようなことを尋ねてきたのは、英語の「フリー」という単語が持つ複数の意味に混乱したからです。フリーの1つの意味は価格、もう1つの意味は自由です。私がフリーソフトウェアと言うときには、価格のことではなく、自由のことを言っています。ですから、フリービール(無料ビール)ではなく、フリースピーチ(言論の自由)のほうをイメージしてください [聴衆の笑い]。プログラマの収入を確実に減らすために人生のうちのこれだけの時間を費やしたりはしなかったでしょう。それは、私の目標ではありません。私はプログラマで、自分自身の収入は気にしていません。収入を得るために全人生を捧げたりはしませんし、収入を得ることについてはどうこう思いません。誰にとっても倫理が同じであれば、他のプログラマが収入を得ることに反対したりはしません。プログラマの値段が下がることを望んでいるわけではないのです。問題にしているのは、そんなことではありません。問題は自由です。プログラマかどうかにかかわらず、ソフトウェアを使っているすべての人々にとっての自由が問題なのです。
ここで、フリーソフトウェアの定義を明らかにしておく必要があるでしょう。ただ、「自分は自由を信じている」と言ったところで、中身は空っぽです。現実のディテールに触れておくべきでしょう。信じることのできる自由にはさまざまなものがありますし、それらは互いに矛盾を生じます。ですから、リアルな政治課題は、重要な自由とはどれなのか、すべての人々に確実に与えなければならない自由は何かということです。
では、ソフトウェアを使うという特定の分野でのこの問題に対する私の答えを明らかにしておきましょう。特定のユーザーとしての皆さんが次の自由を持つとき、そのプログラムは皆さんにとって「フリーソフトウェア」です。
皆さんがこれらの自由をすべて持っていれば、そのプログラムは皆さんにとってフリーソフトウェアです。これは非常に重要なことです。私がこういう言い方をするのはそのためですが、詳しくはあとでGNU一般公開使用許諾書(GPL)について説明するときに触れます。今は、より基本的な問いであるフリーソフトウェアとは何かということについて説明しておきます。
自由0は、ごく当然のことでしょう。好きなようにプログラムを実行する自由さえ認められていないとすれば、それは恐ろしく制限のきついプログラムです。しかし、ほとんどのプログラムは、少なくとも自由0だけは与えています。そして、法的には自由0は自由1、2、3の当然の結果として付随するものです。著作権法は、そういう仕組みになっています。フリーソフトウェアが典型的なソフトウェアと異なるのは、自由1、2、3の部分ですから、それらを詳しく説明し、なぜ重要なのかを説明していきましょう。
自由1は、自分のニーズに合わせてソフトウェアを書き換え、自分のために役立てる自由です。これは、バグの修正を意味する場合もありますし、新機能の追加を意味する場合もあります。異なるコンピュータシステムへの移植を意味することもありますし、すべてのエラーメッセージをナバホ語に翻訳することを意味することもあります。加えたいと思うあらゆる変更は、自由に加えられなければなりません。
プロのプログラマがこの自由を非常に効果的に活用できるのは当然ですが、この自由を謳歌できるのは彼らだけではありません。当たり前の知性を持つ人なら、誰でもちょっとしたプログラミングを学ぶことができます。プログラミングには難しい仕事とやさしい仕事があり、ほとんどの人々は難しい仕事をこなせるところまでは学習しないでしょう。しかし、簡単な仕事ができる程度までなら多くの人が学習できます。50年ほど前は、非常に多くのアメリカ人が車の修理を学びましたし、アメリカが第二次世界大戦で自動車化された陸軍を持ち、勝つことができたのはそのためです。簡単な修理ができる人がたくさんいるということは、非常に重要なことです。
皆さんが人間らしい方で、テクノロジーなどまったく学びたくないとすれば、きっとたくさんの友達をお持ちでしょうし、自分に好意を持たせるのは得意技の1つでしょう[聴衆の笑い]。おそらく、その中の何人かはプログラマだと思います。だとすれば、そのプログラマの友達に、「こいつを書き換えてもらえないかな? この機能を追加してくれるとうれしいんだけど」と頼むことができるでしょう。そうすれば、多くの人々の役に立ちます。
この自由がなければ、社会に現実的で物理的な害を与えます。ユーザーはソフトウェアに囚われてしまいます。それがどのようなものかは、レーザープリンタの例を使ってご説明した通りです。私たちにとっては満足のいかないものでありながら、ソフトウェアが私たちを囚われの身にしていたために、私たちはそれを直すことができませんでした。
しかし、これは人々の気持ちにも影響を与えます。コンピュータが使うたびにコンスタントにイライラするようなものなら、それを使っている人々もイライラを募らせていくことでしょう。そして、仕事にそのようなコンピュータを使っているのなら、仕事もイライラするものになります。人々は、仕事を嫌うようになるでしょう。そして人は、気にしないようにすることによってイライラから自分を守るものです。ですから、「今日は仕事に顔を出しました。私がしなければならないのは、それだけです。仕事が進まなくても、それは私の問題ではありません。上司の問題です」というような態度の人々が現れます。こうなったら、それらの人々にとって良くないことですし、社会全体にとっても良くないことです。これが自由1、自分自身を助けるという自由です。
自由2とは、プログラムのコピーを頒布して隣人を助ける自由です。思考、学習能力を持つ者にとって、役に立つ知識を共有することは友情の基本です。このような人たちがコンピュータを使うとき、友情はソフトウェアの共有という形を取ります。友達同士は、相手と共有し、相手と助け合うもので、これが友情というものの本質ではないでしょうか。実際、好意的精神、つまり自発的に隣人を助けるという精神は、社会のもっとも重要な資源です。生きられる社会と弱肉強食のジャングルを隔てるのは、まさにこれです。その重要性は数千年前から世界の主な宗教が認めてきたもので、これらは正面からこの考え方を育てようとしてきました。
私の幼稚園時代の先生たちも、この態度、共有の精神を実地訓練で私たちに教えようとしました。先生たちは、私たちが実際に共有すれば、私たちが学んだのだと判断しました。先生たちはこう言いました。「幼稚園にキャンディを持ってきたら、一人占めにすることはできませんよ。他の子と分け合わなければなりません」 社会は、この協力の精神を教えるように作られていました。なぜ、そうしなければならないのでしょうか。人間は、完全に協力的なものではないからです。人間にはこういう部分もあり、ああいう部分もあります。人間にはさまざまな性質があります。ですから、社会をより良いものにしたければ、共有の精神を育む仕事をしなければなりません。100%になることは決してないでしょうが、それは理解できることです。人は自分のことも心配しなければなりません。しかし、協力の精神を少し大きくできれば、私たち全員がよくなります。
今日の合衆国政府によれば、教師はまったく逆のことを教えるべきものとされています。「ジョニー、学校にソフトウェアを持ってきたのかい? 他の人にそれを分けてあげたらいけないよ。共有はいけない。共有するってことは、海賊だってことだよ」 彼らが「海賊」という言葉を使うとき、それはどういう意味なのでしょうか。彼らは、隣人を助けることは、船を攻撃するのと倫理的に同じだと言っているのです [聴衆の笑い]。
仏陀やキリストなら、どういったと思いますか。あなたのお気に入りの宗教指導者を考えてみてください。よくわかりませんが、マンソンなら違うことを言ったでしょう[聴衆の笑い]。L・ロン・ハバードならどういったでしょうか。しかし……。
質問者(Q):[聴取不能]
RMS:もちろん、彼は死んでいます。しかし、彼らはそれを認めないでしょう。それで?
Q:他の人たちも死んでいます [聴衆の笑い] [聴取不能]。チャールズ・マンソンも死んでいます [聴衆の笑い]。彼らは皆死んでいます。キリストも、仏陀も……。
>RMS:はい、そうですね [聴衆の笑い]。ですから、それについては推測の域を出ないわけですが、L・ロン・ハバードは、その点について、他の人たちよりも悪いということはないでしょう [聴衆の笑い]。いずれにしても……[聴取不能]。
Q:L・ロンは、いつもフリーソフトウェアを使っていました。フリーソフトウェアが彼をザヌーから解放したのです[聴衆の笑い]。
RMS:いずれにしても、私がソフトウェアはフリーでなければならないと思うもっとも重要な理由はこれです。私たちには、社会のもっとも重要な資源を汚染させてやっていけるほどの余裕はありません。これは、きれいな空気やきれいな水のような物理的な資源ではありませんが、間違いありません。心理的社会的資源ではありますが、汚染してはならないことは同じであり、私たちの生命に非常に大きな違いを残します。私たちが取る行動は、他の人々の考えに影響を与えます。私たちが、「分かち合うな」と言って歩き、人々がそれに耳を傾けたら、社会に影響を与えたということになります。もちろん、悪いほうのです。以上が自由2、隣人を助ける自由です。
ああ、そういえば、言い忘れていました。この自由がなければ、社会の心理的社会的資源に害を与えるだけではなく、浪費という物理的現実的害悪も引き起こすのでした。プログラムが所有権者を持ち、その所有権者が、ソフトウェアを使うためにはすべてのユーザーが料金を支払わなければならないような条件を設定したら、「気にすることはない。そんな条件がなくても、自分はそうしていたよ」という人がいるかもしれません。しかし、それが浪費なのです。意図的に仕組まれた浪費です。そして、ソフトウェアの面白いところは、ユーザーが少ないからといって材料を減らさなければならないというわけではないことです。車を使う人が少なければ、車の製造台数を減らしますが、これは節約につながります。車の製造には、資源を割り当てたり、割り当てなかったりすることができます。ですから、車が価格を持つのは良いことだと言えるでしょう。価格があるので、本当は不要な車を作るために無駄な資源が大量につぎ込まれることを防げます。しかし、新しく車を作るために資源がいらないのだとしたら、車を作らないことにしても何も良いことは起きません。もちろん、車のような物理的なものの場合には、新しいもの、新しいコピーを作るためには必ず資源が必要です。
ところが、ソフトウェアでは話が違ってきます。誰でもコピーを作れるのです。そして、コピーを作るのはごく簡単なことです。ごくわずかな電流を除き、資源はいりません。ですから、値段を吊り上げてソフトウェアを使いにくくしても、節約できる資源、より適切な分野に割り当てられる資源はありません。ソフトウェアには当てはまらない前提に基づいて構築された経済理論の結論の部分を説く人がよくいます。前提が当てはまる分野で有効な経済理論をソフトウェアの分野に持ち込み、結論の正しさを主張しようとするのです。彼らは結果だけを取り出し、ソフトウェアにも同じことが当てはまると言おうとするのですが、ソフトウェアに関する限り、この議論には根拠がありません。前提に誤りがあるのです。結論の正しさを判断する上で、そこに達する過程や依存している前提条件を検証することは非常に重要です。というわけで、これが自由2、隣人を助ける自由の説明です。
自由3は、ソフトウェアの改良版を公開してコミュニティの構築を助ける自由です。以前、私はよくこう言われました。「ソフトウェアがフリーなら、ソフトウェアのために必要な仕事をした人たちには、報酬が与えられないことになる。そうしたら、誰が働くと言うのだろうか」 もちろん、彼らはフリーの2つの意味に混乱しているわけで、彼らの理屈は誤解に基づいたものになっています。しかし、いずれにせよ、彼らはこの理屈を持ち出します。今は、彼らの理屈と経験から得られた事実を比較できます。そして、フリーソフトウェアの開発のために報酬を得ている数百人の人々を見つけることができますし、10万を越える人々が自発的に開発を行っています。さまざまな動機に基づいて、無数の人々がフリーソフトウェアの開発に携わっています。
私が初めて GNU Emacs、すなわち人々が本当に使いたがった初めてのGNU システムの構成要素をリリースし、GNUがユーザーを持ち始めたという手応えを掴んだ頃、「ソースコードにバグを見つけました。バグフィックスをお送りします」というメッセージが届きました。「新機能を追加するコードをお送りします」という別のメッセージも届きました。その後も、別のバグフィックス、別の新機能、別の何とか、さらに別の何とかが続き、ついにはこういったメッセージがあまりにも速いペースで届くために、すべてのメッセージを活用するのが私にとっては大仕事になってしまいました。Microsoftには、このような問題はありません[聴衆の笑い]。
そのうち、この現象は多くの人々に注目されることとなりました。1980年代には、フリーソフトウェアはあまりお金にならないから、非フリーソフトウェアほど優れたものにはならないだろうという考え方が主流でした。もちろん、自由とコミュニティを価値とする私のような人間は、「いずれにしても、私たちはフリーソフトウェアを使う」と言っていましたが。自由には、単純な技術的利便性を若干犠牲にするだけの価値があります。しかし、1990年頃には、私たちのソフトウェアのほうが実際に良いということが指摘され出しました。フリーソフトウェアは、私有ソフトウェアの類似品よりも強力で、信頼性が高かったのです。
1990年の初めに、ソフトウェアの信頼性を科学的に計測する方法を発見した人がいました。彼の方法はこういうものです。異なるシステムで同じ仕事、本当にまったく同じ仕事をするいくつかの類似するプログラムを取り出します。Unix 風の基本的なユーティリティは確かにいくつもあります。そして、これらのプログラムがする仕事は、多少なりとも同じ、あるいは POSIX 準拠のものです。ですから、これらすべてのプログラムは、する仕事という点では同じです。しかし、これらのプログラムは、別個に書かれ、別々の人々によって管理されています。コードは違うのです。ですから、これらのプログラムを取り出し、ランダムなデータを与えて実行し、クラッシュやハングの頻度を調べれば、信頼性が測れるはずです。彼らは実際に計測を行い、もっとも信頼できるのはGNU プログラムだという結論を得ました。市販されている私有ソフトウェアの類似品は、どれも GNUより信頼性が低かったのです。彼はこの結果を公開し、すべての開発者に知らせました。数年後、彼はそのときの最新バージョンを使って同じ実験をしましたが、結果は同じでした。GNUバージョンの信頼性がもっとも高かったのです。癌専門の診療所や911*6の中にはGNU システムを使っているところがありますが、それはGNU の信頼性が高いからです。言うまでもなく、これらの仕事では信頼性が非常に重視されます。
いずれにしろ、ユーザーにさまざまなことを認め、自由を与える最大の理由として、この利益に注目する人たちさえいます。もっとも、私のフリーソフトウェア運動についての話を聞いてこられた方はお気づきかと思いますが、私が言っているのは、物理的現実的利益だけではなく、倫理の問題や、どのような社会で暮らしたいか、よき社会を築くには何が必要かという問題もあります。両方が重要なのです。フリーソフトウェア運動とは、そういうものです。
別のグループの人々、オープンソース運動と呼ばれている人々は、実利だけを口にします。彼らは、これが正義の問題だとは思っていません。隣人と共有する自由やプログラムの動きを見て、気に入らないところに変更を加える自由が人々にとって大切だとは思いません。しかし、彼らは人々にそれを認めることは有益だと言います。ですから、企業に出かけて行ってはこう言うのです。「人々にこれをさせると、もっと金儲けができますよ」 ですから、2つの運動が人々をある程度似た方向に導くのは確かですが、その理由はまったく異なります。哲学が根本的に異なるのです。
あらゆる問題の中でもっとも深い部分にある倫理的な問題のところで、2つの運動は異なります。フリーソフトウェア運動の私たちは、こう言います。「あなたには、これらの自由を持つ資格があります。あなたがこれらのことをするのを他人が禁止するようなことは、あってはなりません」 オープンソース運動の彼らは、こう言います。「はい、そのつもりなら彼らはあなたを止めることができます。しかし、私たちはあなたがそれらのことをできるようにしておくようにしようと彼らが思うよう努力します」 オープンソース運動は確かに貢献してきました。かなりの数の企業に、かなりの量のソフトウェアをフリーソフトウェアとしてコミュニティにリリースするよう説得してきました。オープンソース運動は、私たちのコミュニティに大きな貢献を果たしており、実際のプロジェクトでは「彼らと] 協力しています。しかし、哲学的には、大きなずれがあります。
残念ながら、オープンソース運動は企業の支援を受けていますが、私たちの仕事を取り上げたほとんどの記事は、オープンソースという表現を使っているため、多くの人々は無邪気に私たちもオープンソース運動の一部だと考えています。私が両者を区別しているのはそのためです。私は、このコミュニティを作り上げ、フリーオペレーティングシステムを開発したフリーソフトウェア運動がまだここに存在することを皆さんに意識していただきたいと思っています。皆さんが他の人を無意識に誤解に導かないよう、皆さんには、ぜひこのことを知っていただきたいのです。
それは、皆さんがどの立場を取るかを考えるためでもあります。
皆さんがどちらの運動を支援するかは、皆さんが決めることです。フリーソフトウェア運動と私の考え方を支持してくださるかもしれませんし、オープンソース運動を支持するかもしれません。あるいは、どちらも支持しないかもしれません。皆さんの政治的な立場を決めるのは、皆さん自身です。
しかし、フリーソフトウェア運動に賛同していただけるなら――どの立場を取るかを決めることによって生き方が変わり、その中に発言に値する問題が含まれていることを理解していただけるなら――自分はフリーソフトウェア運動に賛同していると言っていただきたいと思います。そして、「フリーソフトウェア」という用語を使い、私たちが存在していることを人々に知らせることも、賛同の形態の1つに他なりません。
ですから、自由3は、現実的物理的にも心理的社会的にも非常に重要です。この自由がなければ、コミュニティによる開発が行われなくなり、強力で信頼性の高いソフトウェアが作られなくなるという現実的物理的な害悪が発生します。しかし、それだけではなく、科学的協力の精神、人類の知恵を前進させるために協力して働くという思想に悪影響を与えるという、心理的社会的害悪も発生します。科学の発展は、人々が協力して働けるかどうかに非常に大きく依存しています。しかし、最近は、科学者の小さなグループが、互いに相手の科学技術ギャングと戦争を起こしているかのような行動を取ることが目立ってきています。でも、彼らが知識を分かち合わなければ、彼ら全体が後退してしまうのです。
以上がフリーソフトウェアと典型的なソフトウェアを区別する3つの自由です。自由1は自分のニーズに合った変更を加えられる自助の自由、自由2はコピーの頒布によって隣人を助ける自由、自由3は変更を公開して他者も使えるようにすることによりコミュニティの構築を助ける自由です。皆さんがこれらの自由をすべて持つなら、そのプログラムは皆さんにとってフリーソフトウェアです。さて、私がそのように特定のユーザーを使ってフリーソフトウェアを定義するのはなぜでしょうか。それはあなたにとってフリーソフトウェアか [聴衆の1人を指して]。それはあなたにとってフリーソフトウェアか [聴衆の別の1人を指して]。それはあなたにとってフリーソフトウェアか [第3の聴衆を指して]。わかりますか?
Q:自由2と自由3の違いをもう少し説明していただけますか [以下聴取不能]。
RMS:はい、2つは確かに関連を持っています。再頒布する自由がなければ、変更版を配布する自由もありません。しかし、これらはまったく別の行為です。
自由2は、正確なコピーを作り、それを友達に渡して、友達がそれを使えるようにすることです。あるいは、正確なコピーを作り、それを無数の人々に販売し、それらの人々が使えるようにすることです。
自由3は、改良を加え、あるいは自分では改良だと思う変更を加え、誰か他の人があなたに同意することです。ですから、これらは違います。そうそう、それから1つ重要なポイントがありました。自由1と自由3は、ソースコードを操作できることと関連しています。バイナリのみのプログラムに変更を加えるのは、とてつもなく難しい [聴衆の笑い]。ソースがなければ、日付を表現するために4桁の数字を使うというような簡単な変更*7でも [聴衆の笑い] 大変なのです。ですから、現実的でやむにやまれぬ理由から、ソースコードアクセスはフリーソフトウェアにとっての必要不可欠な前提条件です。
それで、フリーソフトウェアを「皆さんにとって」というような言葉を使って定義する理由ですが、どうでしょう。それは、同じプログラムがある人々にとってはフリーソフトウェアでありながら、別の人々にとっては非フリーソフトウェアになってしまうからです。それはずいぶん逆説的な話に聞こえるかもしれませんが、どのようなときにそうなるか、例を挙げておきましょう。非常に大きな例、おそらく今まででもっとも大きな例は、MITで開発され、フリーソフトウェアにするというライセンスのもとでリリースされた X Window System です。MITのライセンスでMIT バージョンを入手した場合、自由1、2、3はすべてあります。それは、あなたにとってフリーソフトウェアです。しかし、コピーの入手者の中には、Unix システムを販売しているさまざまなコンピュータメーカーが含まれており、それらのメーカーは自分のシステムで動作するようにXに必要な変更を加えました。おそらく、Xの数十万行のうちの数千行ほどだろうと思います。メーカーは、変更後のシステムをコンパイルし、Unix システムにバイナリを追加して、Unix システムの残りの部分と同様のNDAのもとで販売しました。数百万の人々は、こうなったあとのコピーを手にしました。彼らは X Window System を持っていましたが、これらの自由をどれ1つとして持っていませんでした。このようなXは、彼らにとってはフリーソフトウェアではなかったのです。
どこから見るかによってXがフリーソフトウェアかどうかが変わるのは確かに変なことです。開発者グループの中から見れば、「私にはこれらの自由はすべてある。Xはフリーソフトウェアだ」ということになり、ユーザーから見れば、「ほとんどのユーザーはこれらの自由を持たない。これはフリーソフトウェアではない」ということになります。Xを開発した人々は、これを問題だとは思いませんでした。彼らの目的は、人気を集めること、つまりはエゴでした。彼らは、プロとして大成功を収めたかったのです。彼らは、「やった。たくさんの人々が自分たちのソフトウェアを使っている」と感じたかった。そして確かにそうなりました。多くの人々が彼らのソフトウェアを使っていましたが、自由はありませんでした。
GNU プロジェクトの場合、GNUソフトウェアに同じようなことが起きたらそれは失敗です。私たちの目的は、人気を集めることではなく、人々に自由を与え、協力を勧め、認めることだからです。人に協力を強制してはいけませんが、協力を求める人に対してそれを認め、その自由を与えることは絶対に必要です。数百万の人々が非フリーバージョンのGNUを実行しているなら、それは成功でもなんでもありません。目標からはかけ離れたところに道が逸れてしまったということになります。
そこで、私はこのようなことが起きないようにする方法を探しました。私が考え出した方法は、「コピーレフト」と呼ばれているものです。コピーライト(著作権)の一種のようでありながら反転しているからコピーレフトにしました[聴衆の笑い]。法的には、コピーレフトは著作権を基礎としています。私たちは既存の著作権法を使いながら、まったく異なる目標を実現しました。それはこういう仕組みです。まず私たちは、「このプログラムは、著作権法の保護を受けています」と言います。もちろん、デフォルトでは、これはコピー、頒布、変更を禁止すると言う意味です。しかし、そのあとでこう言います。「あなたには、これのコピーを頒布する権利があります。あなたには、これを書き換える権利があります。あなたには、変更版や拡張版を頒布する権利があります。あなたは、それを自由に変更できます」
しかし、これには条件があります。そして、その条件こそ、私たちがこのような面倒なことをしている理由です。この条件がなければ意味がないというほどのものです。その条件とは、このプログラムの一部を含む何かを頒布するときには、プログラム全体をまったく同じ条件で、条件を足したり引いたりしないで頒布しなければならないというものです。ですから、皆さんはプログラムを書き換え、書き換えたあとのバージョンを頒布できますが、そのときには、皆さんからプログラムを手渡された人々も、皆さんが私たちからもらったのと同じ自由を手にすることができなければならないということになります。しかも、それは皆さんが私たちのプログラムからコピーした部分だけではなく、皆さんがプログラムに付け加えたすべての部分に適用されます。彼らにとって、プログラム全体がフリーソフトウェアでなければなりません。
これで、プログラムを変更、再頒布する自由は、不可侵の権利になります。これは、独立宣言から借りてきた概念です。私たちが確保した権利は、絶対取り上げることのできないものです。コピーレフトのこのアイディアを具体化したライセンスがGNU一般公開使用許諾書(GPL)です。GPLは、私たちのコミュニティを寄生虫のように侵食しようとする人々にノーを突きつける強さを持った厳しいライセンスです。
白由の理想を尊重しない人々は無数にいます。彼らは、非フリープログラムをばら撒くための出発点として私たちの仕事を大喜びで取り込み、人々に自由を放棄させようとします。このようなことを許していたら、フリープログラムを開発しつつ、自分たちのプログラムの改良版と絶えず競争しなければならなくなってしまいます。これは面白くないことです。
「コミュニティに貢献するためなら自分の時間を差し出す気にもなるが、あの会社の私有プログラムを改良するために自分の時間を差し出す理由がどこにあるだろうか」と思う人は、たくさんいると思います。これを悪いとは思わないものの、そうするなら報酬がほしいと思う人もいるかもしれません。私自身は、そんなことなら何もしないでしょう。
しかし、どちらのタイプの人々も、つまり、私のように、「非フリープログラムが私たちのコミュニティに足がかりを持つのを手助けするのはいやだ」と思う人にも、「企業のために働くのはいいけど、もっといい報酬をくれなくちゃね」と思う人にも、どちらの人にでも、GNU GPLは役に立ちます。GPLは企業に対して、「私の仕事を取り込み、自由を抜き取って頒布することはできない」と規制しています。それに対し、コピーレフトではない X Window ライセンスのようなライセンスは、それを認めています。
ですから、ライセンスという観点から見ると、フリーソフトウェアは大きく2種類に分類できます。コピーレフトのようにすべてのユーザーに対してソフトウェアの自由を守るライセンスを持っているプログラムと、非フリーバージョンを認めるコピーレフトの保護のないプログラムです。後者のようなプログラムは、誰かが自由を取り除いてしまうことができます。そのようなプログラムは、非フリーバージョンという形で皆さんの手元にやってくるかもしれません。
そして、現在もこの問題は存在します。今でも、私たちのフリーオペレーティングシステムで使われている非フリーのX Window があります。非フリーバージョンの X Window 以外サポートしていないハードウェアさえあります。これは、私たちのコミュニティの大きな問題の1つです。にもかかわらず、私はX Windowを悪いものだと言うつもりはありません。Xの開発者は、できるはずの最良のことをしなかっただけです。しかし、私たちみんなが使える多くのソフトウェアを彼らがリリースしたことは間違いありません。
完璧ではないことと悪いことには大きな違いがあります。善と悪の問には、さまざまな色合いがあります。私たちは、最良のことをしなかったからお前は良くないと言いたくなる気持ちを断ち切らなければなりません。X Window の開発者は、私たちのコミュニティに大きな貢献をしたのです。しかし、もう少し良いことができただろうとは言えます。プログラムの部品をコピーレフトで守っていれば、彼ら以外の開発者が非フリーバージョンを頒布することを防げたでしょう。
さて、Microsoft が現在 GPL を攻撃しているのは、もちろん、GNU GPL が著作権法を使ってユーザーの自由を守っているからです。Microsoftは、私たちが書いたすべてのコードを取り込み、それを私有プログラムにして、誰かに何らかの改良を加えさせたいと思っています。あるいは、Microsoft が必要としているのは、互換性のない変更だけなのかもしれません [聴衆の笑い]。
Microsoft の営業力があれば、私たちのバージョンを駆逐するものは、私たちのバージョンよりも優れている必要はありません。単に私たちのものとは異なる互換性のないものにすればよいのです。あとは、すべての人のデスクトップにそれを置くだけです。ですから、Microsoftは、本当はGNU GPL を嫌っているわけではありません。GNU GPL があると、それができないから邪魔なのです。GNU GPLは、「取り込んで拡張」方式を認めません。GNU GPLは、「あなたのプログラムに私たちのコードを使いたければ、使ってかまわないが、あなたも同じように共有を認めなければなならない」と要求しています。皆さんが加えた変更は、誰もが共有できなければなりません。つまり、双方向の協力です。本当の協力は、そういうものです。
多くの企業は、IBMやHPのような大企業も含めて、この基礎を認めた上で私たちのソフトウェアを喜んで使おうとしています。IBMとHPは、GNUソフトウェアの改良に大きく貢献しています。そして、両社は新しいフリーソフトウェアの開発も行っています。しかし、Microsoft はそうしたくないので、企業は GPLを受け入れられないと放言しています。もし、その企業にIBMやHPやSun が含まれないのなら、Microsoft の言い分も正しいのかもしれません[聴衆の笑い声」。これについてはまたあとで触れることにしましょう。
そろそろ歴史の話を締めくくらなければなりません。私たちは、ただフリーソフトウェアを書くためにではなく、もっと包括的な仕事、つまり全体がフリーソフトウェアになっているオペレーティングシステムの開発をするために、1984年に立ち上がりました。そのため、私たちは次々に部品を書かなければなりませんでした。もちろん、私たちはいつも近道を探すようにしていました。仕事は非常に大きいものだったので、私たちの仕事は永遠に終わらないと言われていました。私は、少なくとも完成する見込みはあると思っていましたが、近道を探す価値は間違いなくありました。ですから、私たちは周囲を観察することを怠りませんでした。私たちが採用し、取り込めるようなものを誰かが書いていないだろうか。そうすれば、その部品についてはゼロから書かなくても済みます。たとえば、X Window Systemです。Xは確かにコピーレフトの対象にはなっていませんでしたが、フリーソフトウェアだったので、私たちはXを使うことができました。
私は、当初からGNUにウィンドウシステムを組み込みたいと思っていました。私はGNU を発足させる前に、MITで2つのウィンドウシステムを書いていました。そして、1984年の段階では、Unixはウィンドウシステムを持っていませんでしたが、私はGNUにはウィンドウシステムを搭載しようと思っていました。しかし、私たちがGNU ウィンドウシステムを書くことはありませんでした。それは、Xが登場したからです。私は言いました。「やった! 大きな仕事を1つやらずに済ませることができる。Xを使おう」 Xを採用して、GNU システムに組み込もうと言ったのです。そして、Xと共存できるようにGNUのほかの部分を適宜改造しました。また、私たちはテキストフォーマッタのTEXやバークレイのライブラリコードのように、他の人が書いたフリーソフトウェアを見つけました。当時、バークレイ Unix はありましたが、それはフリーソフトウェアではありませんでした。このライブラリコードは、もともと浮動小数点数の研究をしていたバークレイのほかのグループが作ったものでした。私たちはこれらの部品に合わせてシステムを改造しました。
1985年の10月に、私たちはフリーソフトウェア財団(FSF) を設立しました。ですから、GNU プロジェクトのほうが先だったのです。このことに注意してください。FSFは、GNU プロジェクトが発表されてから約2年後に設立されたのです。FSFは、ソフトウェアの共有と改造の自由を促進する資金を調達するための非課税組織です。そして1980年代に私たちが集めた資金で行った重要な仕事の1つは、GNUの部品を書くプログラマを雇うことでした。そして、シェルやCライブラリなどの重要なプログラムはこのような形で作られました。他の部分も同様です。絶対的に重要なtar プログラムは、まあ全然面白いものではありませんが[聴衆の笑い]、こうやってかれました。GNU grep もそうだったと思います。私たちは、このようにして目標に近づいていきました。
1991年までの段階で、主要な部品で足りないものは1つだけで、それはカーネルでした。ではなぜ、カーネルを後回しにしたのでしょうか。どのような順番で仕事を進めていくかという問題とはあまり関係がなかったと思います。少なくとも技術的な理由ではありません。いずれにせよ、システム全部を作らなければならないのです。理由の1つは、どこかにカーネルの出発点になるものがないかと思っていたことにあります。そして、そういうものはありました。カーネギーメロン大学で開発された Machです。Machは、カーネル全体ではなく、下半分だけでした。そのため、ファイルシステムやネットワークコードといった上半分を書かなければなりませんでした。しかし、Mach の上半分に当たるこれらのシステムは、基本的にユーザープログラムとして動作します。その分、これらのシステムはデバッグしやすくなるはずです。本物のソースレベルデバッガを同時実行してデバッグできるからです。こうやって仕事を進められれば、カーネルの上位レベルは短期間のうちに完成させられるだろうと思いました。しかし、実際にはそうはなりませんでした。これら、互いにメッセージを送り合う非同期マルチスレッドプロセスは、非常にデバッグが難しいことがわかりました。そして、私たちがブートストラップのために使っていた Mach ベースのシステムは、デバッグ環境が最低で、信頼性がありませんでした。GNU カーネルが動作するようになるまでには、何年もの時間がかかりました。
しかし、幸いなことに、私たちのコミュニティはGNUカーネルを待たなくても済みました。1991年にリーナス・トーバルズが Linux という別のフリーカーネルを開発したからです。彼は、古いモノリシック(一体型の)設計を使っていましたが、彼の仕事は私たちの仕事よりもはるかに速く進みました。ですから、この設計上の判断は、私のミスの1つです。いずれにしても GNU プロジェクトのことを知りながら、私たちに連絡を取ってきませんでしたので、私たちは Linux のことを知りませんでした。しかし、彼はネット上の他の人々と他の場には Linuxを発表しました。そこで、他の人々がLinux と GNU システムの他の部分を結合して完全なフリーオペレーティングシステムを作る仕事をしてくれました。基本的に、GNUとLinux の組み合わせを作ったわけです。
しかし、彼らは自分の仕事の意味を理解していませんでした。彼らは言いました。「私たちはカーネルを持っている。まわりを見てカーネルに組み合わせられるほかの部品を探そう」 そして、彼らはまわりを見回したところ、あらびっくり、必要なものはすべてすでにあることがわかりました。彼らは言いました。「なんて幸運なんだろう [聴衆の笑い]。それらは全部揃っている。私たちは必要なものをすべて見つけることができた。これらすべてのものを取り込み、1つにまとめれば、システムになる」
彼らは、見つけた部品の大半がGNU システムだったことを知りませんでした。自分たちがしていることは、GNU システムとLinux の隙間を埋めていくことだということを理解していませんでした。彼らはLinuxを取り出し、Linuxからシステムを作れると思っていました。そこで、彼らはシステムを Linux システムと呼びました。[ある聴衆の発言]「しかし、X Window System と Mach を見つけたのよりも、それは幸運だったのではないですか」 [RMS、答えつつ話を続ける] その通りです。違いは、XやMachを開発した人々には、完全なフリーオペレーティングシステムを作るという目標がなかったことです。そういう目標を持っていたのは、私たちだけでした。システムを実現したのは、私たちの膨大な作業でした。私たちは、他のプロジェクトよりもシステムの多くの部品を作ったのです。これは偶然ではありません。これらの人々、彼らが書いたのは、システムの役に立つ部品でしたが、彼らがそれらを書いたのは、システムを完成させるためではありませんでした。彼らには彼らの理由があったのです。
Xを開発した人々の場合、ネットワークをまたがるウィンドウシステムを設計したら良いプロジェクトになるだろうと考え、実践したわけです。彼らの仕事は、私たちが優れたフリーオペレーティングシステムを作る上で大いに役に立ちましたが、それは彼らが望んだことではありません。彼らは、そういうことについて考えもしなかったのです。偶然の事故のような利益です。しかし、彼らがしたことが悪いと言っているわけではありません。彼らは、大規模なフリーソフトウェアプロジェクトをやりました。これは、すばらしいことです。しかし、彼らには究極的なビジョンはありませんでした。ビジョンがあったのは、GNU プロジェクトです。
ですから、他の人が作らなかった小さな部品を隅々まで作ったのは、私たちです。私たちがそういう仕事をしたのは、それがなければ、完全なシステムにならないことがわかっていたからです。tarやmv*8のように本当に退屈でロマンのない仕事でも[聴衆の笑い]、私たちはしました。あるいはld。ldに特に面白いわくわくするようなところはありませんが [聴衆の笑い]、私はld を書きました。そして、ディスク I/O を最小限に押さえ、より高速で、より大きなプログラムを処理できるように考えて作りました。私はいい仕事をしたいと思っています。自分が書いているときには、プログラムのさまざまな部分を改良したいと思っています。しかし、私がそうしたのは、より良いld について優れたアイディアがあったからではありません。そういう仕事をしたのは、フリーのIdが必要だったからです。そして、私たちは、ほかの誰かがその仕事をしてくれるとは思っていませんでした。そこで、私たちは自分でそれをするか、それをしてくれる人を見つけなければなりませんでした。
現時点で、このシステムには数千の人々とさまざまなプロジェクトが貢献していますが、このシステムが存在するのはこのおかげだといえるプロジェクトは1つだけで、それは GNU プロジェクトです。それ[システム]は、基本的に GNUシステムであり、他のものをそれに追加したのです。
システムを Linux と呼ぶ習慣は、GNU プロジェクトがしてきたことが通常は言及されないということですから、私たちにとって大きな打撃です。カーネルである Linuxは、フリーソフトウェアの非常に役に立つ部品だと思いますし、Linuxについて言うべきことはいいことしかありません。いや、実際には、Linux にも悪いことはいくつかあります [聴衆の笑い]。しかし、基本的に、Linuxについてはいいというつもりです。しかし、GNU システムを「Linux」 と呼ぶ習慣は、誤りです。ここにお集まりの皆さんには、システムをGNU/Linux と呼ぶという小さな努力をしていただければと思います。そうすれば、私たちの活動が認められるきっかけになります。
[聴衆の中の1人が叫ぶ] 「マスコットが必要なんじゃないですか! ぬいぐるみの動物が」 [RMSの応答]はい、ありますよ。[同じ聴衆の応答] 本当に?[RMSの応答。大笑いを引き起こす] マスコットの動物、いますよ。ヌーです。そうそう、ペンギンを描いたら必ず隣にヌーも描いておいてください。しかし、質問は最後まで我慢してください。まだ、お話しなければならないことがあります。
なぜ、私はこのことにこだわっているのでしょうか。皆さんを煩わしい気分にさせ、皆さんの私に対する評価を下げるような[聴衆の笑い] クレジット問題のことなどを考えるのでしょうか。私がこのようなことをすれば、エゴを満足させたがっているからだと考えるほうがきっとおられることでしょう。もちろん、私は「Stallmanix」というように呼んでくれといっているわけではありません[聴衆の笑い] [拍手]。
私がこのシステムをGNUと呼んでほしいとお願いしているのは、GNU プロジェクトにクレジットを与えたいからです。そして、それには非常に具体的な理由があります。それは、誰かがクレジットをもらうこと自体よりもはるかに重要な意味があります。最近、私たちのコミュニティでまわりを見回せば、システムについて話し、システムについて書いているほとんどの人々は、GNUに言及せず、自由の目標、その政治的社会的理想についても言及しません。システムがGNUから生まれたものである以上、これらに触れないわけにはいかないのです。
Linux の思想、哲学はまったく異なります。それは、基本的にリーナス・トーバルズのノンポリ思想です。ですから、システム全体を Linux だと考えると、「すべてはリーナス・トーバルズから始まっているに違いない。彼の哲学は、私たちがしっかりと検討しなければならないものであるに違いない」というように考えがちです。そして、GNUの哲学を聞くと、「おいおい、これは理想主義が過ぎて、あまりにも非現実的だよ、俺は Linux ユーザーでGNU ユーザーじゃないんだ」と言います[聴衆の笑い]。
何たる皮肉でしょう。彼らが知ってさえいれば。彼らが気に入っていて、あるいはそれを越えて熱狂しているシステムは、私たちの理想主義的な政治哲学が生み出したものだということを知ってさえいれば。
知っていたとしても、彼らが私たちと同じ考えになるとは限りません。しかし、少なくともGNU を真剣に捉え、充分に検討し、チャンスを与える気にはなるでしょう。彼らは、GNUと自分の生活の関係を理解するでしょう。「自分が使っているのは GNU システムで、GNUには哲学がある。私がとても気に入っているこのシステムが存在するのは、この哲学のためだ」ということがわかれば、少なくともよりオープンな気持ちでGNUについて考えるようになるでしょう。だからといって、誰もが私たちと同じ考え方になるというわけではありません。人々にはそれぞれの考え方があります。それはかまわない。人々は、それぞれの意思を持つべきです。しかし、私はこの哲学が実現したことについて、この哲学にクレジットを与えておきたいのです。
私たちのコミュニティを見回せば、このシステムを Linux と呼ぶ習慣はほとんどすべての場所に浸透しています。大半の記者は、システムを Linux と読んでいます。正しくないのですが、彼らはそうするのです。システムをパッケージングする企業も、ほとんどがそう [Linuxと] 言っています。ほとんどの記者が、記事を書くときに、それが政治問題であるとか社会問題であるとは考えていないのです。彼らは一般に、純粋なビジネスの問題として、あるいはどの企業が成功するかという問題としてシステムを見ますが、そんなことは社会にとってごくごく小さな問題です。そして、人々が使えるように GNU/Linux システムをパッケージ化している企業も、大半がそれを Linux と呼んでいます。そして、彼らはパッケージにフリーではないソフトウェアを追加しているのです。
GNU GPLは、GPLの対象となっているプログラムからコードの全部または一部を取り出し、コードを追加してより大きいプログラムを作った場合には、そのプログラム全体をGPLのもとでリリースしなければならないと規定しています。しかし、同じディスク(ハードディスクであれCDであれ)に別個のプログラムを書き込み、それらのプログラムがまったく別個のライセンスを持つことは可能です。それは単なる集成版であり、誰かに同時に2つのプログラムを頒布するだけのことであり、私たちがとやかく言うことではありません。しかし、本当はそうではないのですが、製品内でGPLの対象となっているプログラムを使っている場合には、製品全体がフリーソフトウェアでなければならないという規則にできればと思うことがあります。GPLは、そこまでの範囲をカバーするものではありません。対象は、プログラム全体です。少し離れた距離で通信し合う、たとえば互いにメッセージを送り合う2つの別個のプログラムがある場合、一般に両者は法的には別々の存在です。ですから、システムにフリーではないソフトウェアを追加している企業は、哲学的政治的に悪い考え方をユーザーに広めていることになります。これらの企業はユーザーに対して、「フリーではないソフトウェアを使うことに問題はないんだ。うちではボーナスとしてシステムに非フリーソフトウェアを追加しているよ」と言っているようなものです。
GNU/Linux システムの使い方を取り上げている雑誌を見ると、ほとんどのものは「Linux 何とか」という名前になっています。ですから、ほとんどの場合、彼らはシステムを Linux と呼んでいるのです。そして、これらの雑誌には、GNU/Linuxシステム上で実行できる非フリーソフトウェアの広告が満載されています。これらの広告には、同じメッセージが含まれています。「非フリーソフトウェアは役に立ちます。とても優れているので、お金を払ってもほしくなるくらいです」 [聴衆の笑い]。
そして、彼らはこういったものを「付加価値パッケージ」と呼びます。この言い方には、パッケージの価値についての考え方が表現されています。「自由ではなく、実利的な便益を評価せよ」と言っているのです。私はそのような価値を認めませんから、こういったパッケージを「自由除去パッケージ」と呼んでいます[聴衆の笑い]。フリーオペレーティングシステムをインストールした人は、自由な世界に生きているのです。私たちが皆さんのために何年もかけて築き上げてきた自由を満喫できるのです。しかし、これらのパッケージは、皆さんを鎖につなごうとしているのです。
そして、GNU/Linux システムのトレードショウを見るなら、どれも「Linux」ショウという名前になっています。そして、ショウは非フリーソフトウェアを展示するブースでいっぱいになっており、非フリーソフトウェアに承認の証印を付けようとしているようなものです。私たちのコミュニティは、見渡す限り、非フリーソフトウェアを奨励する習慣に満ち溢れており、GNUの開発目的である自由の思想を否定するものになっています。そして、人々が自由の思想に出会う場所は、GNUとの接点、フリーソフトウェアとの接点、フリーソフトウェアという用語、それだけです。ですから、お願いするわけです。システムをGNU/Linux と呼んでください。システムがどこからなぜ生み出されたのかを人々に知らせるようにしてください。
もちろん、名前を使っただけで歴史を説明できるわけではありません。でも、4文字余分に入力すれば GNU/Linux と書けるわけですし、余分に発音しなければならないのは2音節だけです。でも、GNU/Linux の音節数は、Windows 2000よりは少ないです[聴衆の笑い]。こう呼んだからといって、GNU について大したことを言っているわけではありませんが、彼らがGNUを知る準備をしているのです。彼らはGNUについて、それが何なのかについて聞いたら、GNUと自分や自分の生活の関係を理解することでしょう。そしてそれは間接的ですが、非常に大きな差を生みます。ですから、私たちを助けてほしいのです。
Microsoft がGPLを「オープンソースライセンス」と呼んだことに注意してください。Microsoftは、人々が自由の問題を考えることを望まないのです。Microsoftは、人々が非常に狭く消費者として考えるように、あるいは、消費者としてもあまり合理的に考えず、Microsoft 製品を選ぶように、人々を誘導します。Microsoftは、人々が市民として、政治的意識を持った人として考えることを望みません。市民は彼らの敵です。少なくとも、Microsoft の現在のビジネスモデルの敵です。
では、フリーソフトウェアと私たちの社会の関係について話したいと思います。皆さんの中の一部の方々にとって関心のある副次的なトピックは、フリーソフトウェアがビジネスとどのような関係を持つかということでしょう。
フリーソフトウェアは、ビジネスにとって非常に役に立ちます。結局のところ、先進国のほとんどの企業は、ソフトウェアを使います。ソフトウェアを開発するのは、そのうちのごくわずかに過ぎません。
フリーソフトウェアがソフトウェアを使うすべての企業にとって非常に役に立つというのは、ソフトウェアをコントロールできるからです。基本的に、フリーソフトウェアとは、プログラムがすることをユーザーがコントロールできるソフトウェアです。個人としても、集合的にも、充分な注意を払っていれば、何らかの影響力を行使できます。注意が足りなければ、発言しても賛同が得られず、ほかの人の好みを受け入れることになります。しかし、注意していれば、何らかの影響力があります。それに対し、私有ソフトウェアでは、ユーザーには発言権はありません。
フリーソフトウェアなら、書き換えたいところを書き換えることができます。社内にプログラマが1人もいなくてもかまいません。そんなことは問題ではないのです。ビルの壁を動かしたい場合でも、自分が建設会社である必要はありません。大工さんを探してきて、「この仕事はいくらでやってもらえるだろうか」と尋ねるだけのことです。同様に、使っているソフトウェアに変更を加えるために、自分がプログラミング会社である必要はありません。プログラミング会社に出向いて、「この機能をいくらで実装してもらえるだろうか。仕事はいつまでに終わるだろうか」と尋ねるだけです。そして、その会社が仕事をしないというなら、別の会社を探すまでです
フリーソフトウェアのサポートには自由市場があります。ですから、サポートが気になる企業は、フリーソフトウェアを選べば、大きな利益を手にすることになります。私有ソフトウェアの場合、サポートは独占体制です。ソースコードを持っているのは1社だけか、Microsoft の共有ソースプログラムであれば、巨額のお金を払った数社だけです。いずれにしても、ごくわずかです。サポートを提供できる企業はあまりありません。ですから、有力な顧客でなければ、あまり相手にしてもらえないということです。あなたの会社を相手にしないのだとすれば、皆さんの会社は Microsoft にとってあまり重要ではないのでしょう。プログラムを使ってしまえば、異なるプログラムに切り替えるのは大仕事ですから、皆さんがサポートを受けるために身動きが取れなくなってしまうことを Microsoft は知っています。そのため、バグレポートの特権のために料金を支払わなければならない羽目になるのです[聴衆の笑い]。そして、料金を支払うとこう言うわけです。「わかりました。あなたのバグレポートを記録しました。数か月後には、アップグレード版が発売されます。そのときにバグがフィックスされたかどうかはわかります」[聴衆の笑い]
フリーソフトウェアのサポートプロバイダは、そんなわけにはいきません。彼らは、お客さんを喜ばせなければならないのです。もちろん、優れたサポートの多くは無料で受けられます。Internet に問題をポストすれば、次の日には答えが返ってくるでしょう。しかし、これはもちろん保証できることではありません。確実を期するなら、サポート企業と契約して料金を支払ったほうがよいでしょう。もちろん、これはフリーソフトウェアビジネスの進め方の一例でもあります。
企業にとってのフリーソフトウェアのもう1つの長所は、セキュリティとプライバシーです。これは個人の場合でも変わりませんが、ビジネスの文脈で取り上げただけのことです。私有プログラムの場合、それらのプログラムが本当は何をしているのかさえわかりません。
プログラマは、ユーザーが知っていたら嫌がるような機能をわざと潜り込ませることができます。たとえば、開発者がマシンに潜り込めるような裏口を作ることができます。その裏口は、ユーザーがしていることを監視して情報を送り返すことができます。これは、特異なことではありません。Microsoft の一部のソフトウェアはこれをやっていましたが、それは Microsoft に限ったことではありません。ユーザーを監視している私有プログラムはほかにもあります。そして、ユーザーはプログラムがそんなことをしていることを知ることさえできません。そして、プログラマが心底正直だったとしても、すべてのプログラマは誤りを犯します。誰の罪とも言えないようなバグがセキュリティに影響を与えることがあります。しかし、ポイントは、それがフリーソフトウェアではないので、バグを見つけられないということにあります。もちろん、修正することもできません。
自分が実行するすべてのプログラムのソースをチェックする時間があるような人はいません。しかし、フリーソフトウェアには大きなコミュニティがあり、そこにはチェックをする人が含まれています。プログラムに意図せぬバグがあったら(そういうものは確実にありますが)、彼らが早晩それを見つけてフィックスしてくれますので、皆がその恩恵を蒙ります。また、トロイの木馬とか監視機能を意図的に追加したらどうなるかを考えるので、それらが入り込む可能性はずっと下がります。私有ソフトウェアの開発者たちは、それらが見つからないことを知っています。彼らがそういうことをしても見つからないで逃げ通せるでしょう。しかし、フリーソフトウェアの開発者は、そのような機能を加えたらユーザーに見つかることを意識しなければなりません。私たちのコミュニティでは、ユーザーが気に入らない機能をユーザーに押し付けられるとは誰も思っていません。ユーザーが嫌う機能があれば、それを取り除いた改訂バージョンが作られることは見えています。改訂版ができたら、すべてのユーザーがそちらのバージョンを使うようになるでしょう。
実際、そんな機能が追加されないことは、ずっと前からわかり切ったことです。要するに、プログラマが書いているのはフリープログラムです。人々が自分のバージョンを気に入ってくれたらと思いながら書いているわけです。多くの人々が嫌うような機能を潜り込ませたら、自分のバージョンではない、別のバージョンが人気を集めてしまいます。フリーソフトウェアの世界の王様は、ユーザーだということです。私有ソフトウェアの世界では、お客さんは王様ではありません。ただのお客さんなので、自分が使っているソフトウェアに意見することはできないのです。
このような点で、フリーソフトウェアは民主主義を機能させるための新しいメカニズムだと言うことができます。今、スタンフォード大学に所属しているレッシグ教授*9は、コードが一種の法のように機能すると述べたことがあります。ほとんどすべての人がさまざまな意図と目的のために使うコードを書く人は、人々の生活を支配する法律を書いているのです。フリーソフトウェアの世界では、この法律が民主的に作られます。それは、民主主義の古典的な形態を取るわけではありません。つまり、大規模な選挙を行い、「この機能をどうすべきか皆で投票しました」と言うわけではありません [聴衆の笑い]。その代わりに、ある機能を自分の思うように実装したい人がその仕事をするのです。同じ機能を別の形で実装したい人はそうします。同じ機能がこのようにもあのようにも実装されるのです。そして、多くの人々がこの方向を望んだら、この方向が採用されます。このように、自分が望む方向に向かって一歩進むだけで、すべての人々が社会的な決定に貢献するのです。
皆さんは、個人として自分が好きなだけ歩みを進めることができます。企業は、自分にとって役立つ方向に自由に投資できます。そして、すべてのユーザーがそれぞれにとって必要な行動を取ったら、ソフトウェアが進むべき方法がそれによって決まります。
また、既存のプログラムから部品を取り出し(もちろん、通常はかなり大きな部品ですが)、自分である程度のコードを書き足して自分のニーズにぴったり合ったプログラムを作れるということは、非常に便利なことが多いです。プログラムをゼロから作らなければならないとしたら、既存のフリーソフトウェアパッケージから大きな部品を取り込むことができなければ、法外な費用がかかることでしょう。
ユーザーが王様であるということから生み出されるもう1つの効果は、互換性が高まり、標準化が進むということです。なぜかって? ユーザーは、この2つが好きだからです。ユーザーは、意味もなく互換性のない機能を持つプログラムを拒否するものです。もっとも、ある種の非互換性を実際に必要とするユーザーのグループが存在するなら、その機能は実装されるでしょう。それはかまわないことです。しかし、ユーザーが標準に準拠した機能を求める場合には、私たちプログラマは標準に従いますし、そういうものだということを知っています。それに対し、私有ソフトウェアの開発者たちは、わざと標準に従わないことに利益を感じています。それは、彼らがユーザーに利益を与えているからではなく、ユーザーに非互換性を押し付け、ユーザーをその枠内に縛り付けられるからです。しかも、彼らはファイルフォーマットをひんぱんに取り替え、最新バージョンの購入をユーザーに強制するようなことさえします。
公文書管理官たち*10は最近困っています。コンピュータで10年前に書かれたファイルはアクセスできないことが多いのです。それらのファイルは、今はもうなくなってしまった私有ソフトウェアで書かれています。それらのファイルがフリーソフトウェアで書かれていれば、最新の形式に変換して実行できたかもしれません。そして、それらの記録が失われたり、アクセスできなくなったりすることはないでしょう。彼らは、解決策としてフリーソフトウェアに言及しつつ、National Public Radio*11でこのことについて不満を述べていました。実際、自分のデータの保存のために非フリープログラムを使うということは、自分で自分の首をしめるようなものです。
以上、フリーソフトウェアがほとんどの企業に与える影響について話してきましたが、ソフトウェアビジネスという特定の狭い分野にはどのような影響を与えるでしょうか。答えは、ほとんどない、というものです。私が聞いた限り、ソフトウェア産業の90%はカスタムソフトウェアの開発に従事しています。つまり、リリースされないソフトウェアです。カスタムソフトウェアでは、このような問題、つまりフリーか私有かという倫理的な問題は発生しません。ユーザーが1人だけで、権利を持っているのもそのユーザーなら、問題はありません。そのユーザーは、自由に何でもできます。ですから、ある企業によって社内用に開発されたカスタムプログラムは、顧客企業がソースコードの保管とすべての権利の保持にこだわるセンスを持ってさえいれば、本質的にフリーソフトウェアです。
時計、電子レンジ、自動車のイグニッションスイッチなどに埋め込まれるソフトウェアにも、これらの問題はありません。これらの場所には、インストールすべきソフトウェアをダウンロードしたりはしないからです。これらは、ユーザーに関する限り、本物のコンピュータではありませんから、倫理的な重要性を帯びるところまでこれらの問題が発生することはないのです。ですから、ソフトウェア産業の大半の部分は、今までと同じように続いていきます。しかも面白いことに、この産業のそれだけ多くの部分がこのような仕事に従事しているため、フリーソフトウェアビジネスに可能性がまったくないとしても、フリーソフトウェア開発者はカスタムソフトウェアを書けば日々の糧を得られるわけです[聴衆の笑い]。この仕事は非常にたくさんあります。割合はそれだけ大きいのです。
しかし、フリーソフトウェアビジネスは実際に存在します。あとで行うプレスコンファレンスでは、フリーソフトウェア企業2社の人々が加わります。そして、もちろん、フリーソフトウェアビジネスをしているわけではないものの、役に立つフリーソフトウェアを開発してリリースしている企業もありますし、それらの企業が作ったフリーソフトウェアは、非常に大量です。
では、フリーソフトウェア企業はどのように仕事をしているのでしょうか。一部の企業は、コピーを販売しています。コピーは自由にできるのですが、これらの企業は月に数千本のコピーを販売しています。他の企業は、サポートやさまざまなサービスを販売しています。私自身、80年代後半は、ソフトウェアサービスを売っていました。私は、「基本的に時給200ドルいただければ、私が書いたGNUソフトウェアにご希望の変更を加えましょう」と言っていました。確かにかなり高い値段ですが、私が作ったプログラムのことなのだから、他人よりもずっと短い時間で仕事を終わらせるだろうと考えたようです [聴衆の笑い]。私は、そのようにして生計を立てていました。実際、私はそれまで以上の収入を得ていました。私は、授業もしました。大きな賞*12をもらった1990年までは、そういうことをしていましたが、それからはその必要はなくなりました。
しかし、1990年は最初のフリーソフトウェア企業である Cygnus Support が設立された年でもあります。この会社の仕事は、基本的に、私がしていたのと同じようなことでした。私にその必要があれば、私がこの会社で働くことは可能だったでしょう。しかし、私にはその必要はありませんでしたし、特定の企業に縛られない立場でいたほうが運動にとって有益だろうと思いました。フリーな立場であれば、利害関係なしに、さまざまなフリーソフトウェア、非フリーソフトウェア企業について、褒めることも非難することもできます。そのほうが運動のためになるだろうと感じたのです。しかし、生計を立てるために必要だと思ったら、私は Cygnus で働いていたはずです。この会社は、所属しても良い倫理的な企業でした。この会社で仕事をしたからといって、恥じる理由はありませんでした。そして、Cygnus は初年度から利益を出しました。3人の設立者が持っていただけの非常に小さな資本で設立されましたが、毎年成長し、利益を出しました。そこで、彼らは欲を出して外部の投資家を募り、会社をめちゃめちゃにしてしまいました。しかし、彼らが欲を出すまで、成功した期間は数年ありました。
この経緯は、フリーソフトウェアのある長所を良く示しています。フリーソフトウェアを開発するために資本を用意する必要はないということなのです。フリーソフトウェアは便利ですし、役に立ちます。ちょっとした資本があれば、人を雇っていくつかのソフトウェアを書いてもらうことができます。ごく少人数で大きな仕事ができるのです。実際、フリーソフトウェア開発の効率のよさは、フリーソフトウェアへの移行が重要だという理由の1つです。Microsoft が GNU GPL は悪いと言っていますが、ここからはその嘘も暴かれます。彼らがGPLに反対するのは、Microsoft が非フリーソフトウェアを開発するための資金を調達しにくくするからであり、私たちのフリーソフトウェアをつまみ食いして、私たちと共有するつもりのない自分たちのプログラムに私たちのコードを取り込むことを不可能にするからです。基本的に、私たちは彼らにそうして資本を調達させる必要はありません。いずれにしても、仕事を終わらせるだけで、現に終わらせつつあります。
私たちは、フリーオペレーティングシステムを完成させられないだろうと言われたものです。しかし、私たちはシステムを完成させましたし、それ以上のことをしています。それでも、世界が必要としている汎用公開ソフトウェア全体と比べれば、私たちが作ったものはまだ1桁足りません。世界と言っても、ユーザーの90%以上がまだ私たちのフリーソフトウェアを使っておらず、OSがGNU/LinuxでWebサーバが Apache という組み合わせが Web サーバの半分以上になっているだけの世界のことです。
Q:[聴取不能]・・・・・・さっき、なんとおっしゃいました? Linux ですか。
RMS:GNU/Linux と言いました。
Q:本当に?
RMS:はい、カーネルについて言うときには、Linux と呼びます。それがカーネルの名前だからです。カーネルは、リーナス・トーバルズが書いたものであり、作者に敬意を表するために、作者が選んだ名前で呼ぶべきです。
一般に、企業のほとんどのユーザーは GNU/Linux を使っていません。ほとんどのホームユーザーもまだ私たちのシステムを使っていません。彼らが使うようになれば、将来のフリーソフトウェアビジネスは自動的に10倍の数のボランティアと顧客を手にするはずです。そのときには、仕事の数もその桁になります。現時点では、私たちがその仕事をこなせる自信は充分にあります。
Microsoft が私たちを絶望させたがっているだけに、これは重要です。Microsoftは、このように言っているのです。「お前らが実行できるソフトウェアを手に入れる唯一の手段、技術革新の恩恵を蒙るための唯一の手段は、私たちに権利を譲ることだ。私たちに支配権を与えよ。お前たちが実行しているソフトウェアでできることを私たちに決めさせよ。そうすれば、私たちはお前たちから大量のお金を搾り取り、そのうちの一定の割合をソフトウェアの開発に当て、残りを利益として手に入れる」
皆さんはそこまで絶望的な考え方をしてはいけません。自由を放棄するところまで絶望してはならないのです。それは非常に危険です。
Microsoft が、いや Microsoft に限らず、フリーソフトウェアを支援しない人々のもう1つの特徴は、短期的現実的な利益しか考えない価値観です。今年どれだけの売上を上げられるか。今日どれだけの仕事を終わらせられるか。短期的で狭い思考方法です。彼らは、自由のために犠牲を払う人間がいるなどと想像するのもばかばかしいという先入観を持っています。
昨日*13は多くの人々が、同胞の自由のために犠牲を払ったアメリカ人たちについて演説を行いました。彼らの一部は、非常に偉大な犠牲を払っています。彼らは、この国の誰もが知っているある種の自由のために自らの命さえ捧げたのです(少なくとも、一部の場合は。ベトナムでの戦争は無視しなければならないかもしれません)。
しかし、幸いにして、ソフトウェアを使う上で私たちの自由を確保するために大きな犠牲を払う必要はありません。まだ、グラフィカルユーザーインターフェイスプログラムがなければ、コマンドラインインターフェイスを学ぶといったごく小さな犠牲で充分です。 、そのようなフリーソフトウェアパッケージはないので、そのような形で仕事をすることに満足してください。また、特定のフリーソフトウェアパッケージを開発しようとしている企業にお金を払ってあげるようにしてください。そうすれば、そのパッケージは数年で完成します。私たちは皆、さまざまな小さな犠牲を払うことができます。しかも、長期的に見れば、その犠牲から利益を引き出すことさえできるのです。ですから、実際には、犠牲というよりも投資です。投資から誰がいくらの利益を得るかということを細かく計算せずに、社会の改良に投資することが自分たちのためになるということを理解できる程度の長期的な視点を持てばよいのです。
これで、私の話はほとんど終わりです。
最後に、トニー・スタンコが提案しているフリーソフトウェアビジネスへの新しいアプローチ、「FreeDevelopers」について触れておきたいと思います。これは、最終的に参加したすべてのフリーソフトウェア作家に利益の中の一定の割合を支払うことを目指す経営構造体です。彼らは、フリーソフトウェアを基礎とすることによって膨大なコストを削減できるために、インド政府の大規模ソフトウェア開発契約を勝ち取る見通しとなっています。
では、質問にお答えすることにしましょう。
Microsoft のような会社がフリーソフトウェア契約を組み込むにはどうしたらよいでしょうか。
確かに、Microsoft は事業の軸足をサービスのほうに傾けようと計画しています。そして、Microsoftがしようとしていることは汚く危険なことで、プログラムにサービス、サービスにプログラムというように両者をジグザグに結ぶことです。このサービスを使うためには、この Microsoftのプログラムを使わなければならず、そのためにはこのサービスを使わなければならなくて、さらにこの Microsoft プログラムが必要になる。このように結び付けられるわけです。Microsoft の計画はこのようなものです。
さて、面白いことに、このようなサービスを売ることは、フリーソフトウェアか非フリーソフトウェアかの倫理的な問題を引き起こしません。Microsoft がネット越しにサービス販売事業のための会社を持つことは、まったく問題のないことです。しかし、Microsoft がしようとしていることは、それらの会社を使ってソフトウェアとサービスを今まで以上に独占し、拘束しようとすることで、それは最近もある記事に書かれていました。ネットをマイクロソフトカンパニータウンに変えると表現している人たちもいます。
これは重要なことです。Microsoft に対する反トラスト法裁判では、Microsoft をオペレーティングシステム部とアプリケーション部に分割することが争われていますが、これは無意味で、効果のない分け方です。
しかし、その記事を読んで以来、Microsoftをサービス部とソフトウェア部に分割し、両者に一定の距離を強制する分割方法なら、効果的で意味があると思っています。サービス部はインターフェイスを公開し、すべての人がそのサービスとやり取りするクライアントを書けるようにしなければならなくするのです。おそらく、サービスを受けるために料金を支払わなければならなくなるでしょうが、それはかまいません。それはまったく異なる問題です。
Microsoft がこのようにサービスとソフトウェアに分割されたら、Microsoft サービスのライバルを蹴散らすために Microsoft ソフトウェアを使うことはできず、Microsoft ソフトウェアのライバルを蹴散らすために Microsoft サービスを使うことはできなくなります。すると、私たちはフリーソフトウェアを書けるようになりますし、皆さんは Microsoftサービスにフリーソフトウェアの仕事を持ち込むかもしれませんが、それはかまわないことです。
結局のところ、Microsoft はもっとも多くの人々を服従させた私有ソフトウェアメーカーに過ぎず、他社はそれよりも少ない人々しか服従させられなかったのです。やる気が足りなかったわけではありません[聴衆の笑い]。単に多くの人々を服従させることに失敗しただけです。ですから、問題は Microsoft ではなく、Microsoft だけではありません。Microsoftは、私たちが解決しようとしている問題の最大例に過ぎません。その問題とは、協力して倫理的な社会を築こうとするユーザーの自由が私有ソフトウェアによって損なわれるということです。ですから、Microsoft は確かに私がこの演台に立つ機会を提供してくれましたが、私たちは Microsoftにそれほど気を取られているわけにはいきません。演台を用意したくらいでは、重視できないのです。Microsoft は究極の目的ではありません。
先ほど、オープンソースソフトウェアとフリーソフトウェアの哲学的な違いを話していただきましたが、Intel プラットフォームのサポートだけに関心が集中している最近の GNU/Linux ディストリビューションの傾向についてはどのように感じておられますか。そして、プログラムの正しい書き方に従い、どの環境でもコンパイルできるソフトウェアを書くプログラマがどんどん減っているように見えることについてはいかがでしょうか。単純に Intel システムだけで動くソフトウェアを作ることについてはどうですか。
倫理的な問題はないと思います。実際、コンピュータメーカーは、自社製品に GNU/Linux システムを移植することがあります。最近では、HPがこれをやりました。そして、HPはコストのかかりすぎる Windows の移植にはわざわざお金を使いませんでした。しかし、GNU/Linuxは、5人のエンジニアが数か月仕事をしただけでサポートできました。GNU/Linuxのサポートは、簡単にできる仕事だったのです。
もちろん私は、プログラムを移植しやすくする GNU パッケージ、autoconfを使うことを皆さんにお勧めしています。autoconf はぜひ使ってください。あるいは、システムのそのバージョンではコンパイルできないバグフィックスを行った誰かが、その内容を送ってきたら、autoconf にかけてみてください。しかし、私はこれを倫理的な問題だとは見ていません。
コメントが2つあります。1つは、あなたが最近 MIT でなさった講演です。私は講演録を読んだだけですが、誰かが特許について質問したとき、あなたは「特許はまったく異なる問題です。それについてはコメントはありません」とおっしゃいました。
はい。実際には、特許について言いたいことはたくさんありますが、1時間かかってしまいますから[聴衆の笑い]。
私が言いたいのはこうです。何か問題があるらしい。企業が特許と著作権を有形の財産のように呼ぶことには理由があるだろうということです。国家権力を使って独占への道を切り開きたいなら、そういうことをするでしょう。そして、これら2つの共通点は、同じ問題を扱っているということではなく、動機が同じだということ、つまり、一般に奉仕するためではなく、私的利益のために独占を得たいという動機があることなのではないでしょうか。
企業が望んでいることについてのご指摘は正しいものです。しかし、企業が知的財産権という用語を使いたがる理由は、もう1つあります。それは、人々が著作権の問題と特許の問題をしっかり考えないように仕向けることです。著作権法と特許法はまったく異なりますので、ソフトウェア著作権とソフトウェア特許の効果はまったく異なります。
ソフトウェア特許はプログラマに対する規制であり、プログラマが特定の種類のプログラムを書くことを禁止しますが、著作権はそのようなことはしません。著作権法上は、少なくとも自分で書いたものは、頒布することが認められています。ですから、これらの問題を分けて考えることは非常に重要なのです。
これら2つは、非常に低い水準では、ほんの少しだけ共通点を持っていますが、他のすべてについては違います。ですから、明晰な思考を心がけてください。著作権について論じるか、特許権について論じることはあっても、知的財産権について論じるようなことはしないでください。私には、知的財産権についての意見はありません。著作権についての見解、特許権についての意見、ソフトウェアについての意見はあります。
冒頭で、コンピュータプログラムはレシピと同様の機能的な言語だと言われました。しかし、料理のレシピからコンピュータプログラムまでの間には大きな距離がありますし、英語からコンピュータまでの間にも大きな距離があります。「機能言語」の定義は、非常に広いということです。DeCSS、DVDで問題になっているのは、このことではないでしょうか。
それらの問題は部分的には似ていますし、部分的には異なります。物は、本質的に機能的ではありませんから。問題の一部は引き写して考えることができますが、全部そうすることはできません。残念ながら、これについても話し始めたら1時間かかってしまいます。しかし、すべての機能的な作品は、ソフトウェアと同じ意味でフリーでなければならないということは言っておきます。教科書、マニュアル、辞書、レシピなどです。
私は今オンラインミュージックについて考えていました。オンラインミュージックには、似ているところと違うところがあります。
その通りです。あらゆる種類の公刊されている情報について保証すべき最小限の自由は、非営利の本文に一切の変更を加えない再頒布です。機能的な作品の場合には、変更済みバージョンの営利目的での公刊の自由が必要だと思います。それは、社会にとってとても役に立つことですから。それ以外の作品、娯楽的なもの、美的なもの、個人の思想を述べたものについては、おそらく変更を認めるべきではないでしょう。それは、営利的な頒布を対象とする著作権を認めてもかまわないということでもあります。
合衆国憲法によれば、著作権の目的は公共の福祉にあることを忘れないでください。目的は、特定の私的な主体の行動を変え、彼らがより多くの本を公刊するように仕向けることにあります。それによる利益は、社会が問題を論じ学習することです。そして、社会には文学があり、科学論文があります。著作権の目的は、これらを奨励することです。著作権は著作者のためにあるわけではなく、まして出版社のためにあるわけではありません。著作権は読者のために、人が書き他者が読むときに発生するコミュニケーションから利益を得るすべての人たちのために存在するのです。そして、この目的については私も同意見です。
しかし、コンピュータネットワークの時代に入り、従来の方法は維持できなくなっています。従来の方法に従うなら、現在はすべての人のプライバシーに侵入し、すべての人を攻撃するような厳格な法律を必要とするようになってしまいます。隣人と共有したために何年も監獄暮らしをしなければなりません。印刷機の時代とは状況が変わってしまったのです。当時の著作権は、業界に対する規制でした。出版社の行動を制限していたのです。現在は、出版社が一般人に対して押し付けた制約になっています。ですから、たとえ同じ法律であっても、権力関係が180度ひっくり返ってしまったのです。
同じ物を作るのは認められるわけですね。では、他の音楽から新しい音楽を作るのは?
それは面白い……。
そしてユニークで新しい作品です。そして、協力の精神にも満ち溢れています。
そうですね。そして、私は何らかの形の公正利用の概念が必要になるだろうと思います。数秒のサンプルを作り、音楽作品の中でそれを利用するのは、明らかに公正利用とみなされるべきです。皆さんがこの問題について考えるなら、公正利用の標準的な考え方さえ、これを含むことになるでしょう。法廷が認めるかどうかはわかりませんが、認めるべきです。それは、今までの制度を変更することにはなりません。
私有フォーマットで公的な情報を公刊することについてはどう思われますか?
それはいけません。政府は、どちらの方向であれ、市民が政府とやり取りするために、市民に対して非フリープログラムへのアクセスを要求すべきではありません。
私は GNU/Linux ユーザーです……。
ありがとう [聴衆の笑い]。
4年ほど前からですが。私にとってずっと大きな問題で、おそらく私たち全員にとって本質的なことでもあるのですが、それは、Webのブラウズです。
はい。
GNU/Linux システムを使うときの決定的な弱点の1つは、Webブラウズです。というのも、そのための主流のツールである Netscape は……。
フリーソフトウェアではありませんね。
そのことについてお答えしましょう。もっと深いところに触れるために、その問題には触れておきたいと思います。おっしゃる通り、GNU/Linux システムで Netscape Navigator を使うといういやな傾向は以前からのものです。実際、市販パッケージになっているすべてのシステムに Netscape Navigator が同梱されています。これは皮肉なことで、私たちはフリーオペレーティングシステムを作るために一所懸命働いてきましたが、店に行くと、GNU/Linux のいくつかのバージョンが置いてあり、それらはLinux と呼ばれていて、フリーではありません。もちろん、一部がフリーではないということですが。いずれにしても、Netscape Navigator があり、他の非フリープログラムが含まれています。ですから、自分が何をしているのか良く把握していない限り、実際にフリーシステムを見つけるのは非常に難しいということになっています。何をしているのかがわかっていれば、Netscape Navigator をインストールすることはできないはずです。
さて、実際には、ずいぶん前からフリーの Web ブラウザはありました。私がいつも使っていた Lynx というフリーの Web ブラウザがあります。これはグラフィカルではない、テキストのみのフリー Web ブラウザです。テキストのみということには、広告を見なくて済むという大きな利点があります[聴衆の笑い] [拍手]。
しかし、いずれにしても、Mozilla というフリーのグラフィカルプロジェクトがあり、利用できるところまで成長してきています。私は、これをときどき使っています。
Konqueror 2.01 は非常に優れていますが。
そうでしたね。それもフリーのグラフィカルブラウザです。ですから、私たちはついにこの問題を解決できるところまできたということです。
フリーソフトウェアとオープンソースの間の哲学的倫理的な違いについて話していただけますか。両者は両立できないようなものだと感じていらっしゃいますか。
[録音テープ交換。質問の末尾と回答の先頭は録音できず]
……自由、および倫理……あるいは、どちらの言葉を使うにしても、私たちにこれらのことを認めたほうが利益になると企業の方々に判断されるとよいと思っています。
しかし、お話ししたように、実際の仕事では、個人の政治的な立場が影響を与えることはまずありません。GNU プロジェクトを支援しようという人がいたとして、私たちが「あなたは私たちの政治的主張に同意しなければなりません」などと言うことは決してありません。私たちは、GNU パッケージの中ではシステムを GNU/Linux と呼ばなければならないこと、それをフリーソフトウェアと呼ばなければならないことは言わせていただきます。私たちがGNU プロジェクトについて話をしているわけではないときにあなたがどういう表現を使われるかは、あなたの問題です。
IBM は政府部局向けに新しい大型マシンを売り込むために、セールスポイントとして Linux を使っていると言っています。Linux です。
はい、もちろん、本当は GNU/Linux システムです[聴衆の笑い]。
その通りです。営業のトップに教えてやってください。彼はGNU のことを何も知りません。
そうですね。問題は、IBMが自分の利益のためにどう言ったらよいかをすでによく考えた上で言っていることです。そして、より正確で、公平で、正しい言い方は何かという問題は、そのような企業にとって第1の問題にはならないのです。小さな企業でも、ボスはいます。そのボスが同じように歪んだ考え方をしていたら、彼も同じような決定を下すでしょう。巨大企業ではありませんが。これは恥ずべきことです。
IBM がしていることには、より重要で現実的な問題がもう1つあります。彼らは、「Linux」に10億ドルのお金をつぎ込んでいると言っています。しかし、「に」の部分にも引用符を付けるべきでしょう。と言うのも、フリーソフトウェアを開発している人々に払っているのは、その一部だからです。その部分は、間違いなく私たちのコミュニティに対する貢献です。しかし、他の部分は、私有ソフトウェアを書いたり、GNU/Linuxに私有ソフトウェアを移植したりする人々に支払われています。その部分は、私たちのコミュニティに対する貢献ではありません。しかし、IBMは両方をひとまとめにして言っています。一部は宣伝であり、部分的には誤っていますが、部分的には貢献です。ですからこれはなかなか複雑です。IBMがしていることの一部は貢献であり、一部はそうではなく、一部はあいまいなところです。ですから、皆さんもそれを一緒くたにして「やった、IBMが10億ドル出したぞ」と考えるわけにはいきません[聴衆の笑い]。それは単純化のし過ぎというものです。
GNU 一般公開使用許諾書に盛り込まれている思想についてもう少し説明していただけませんか。
GNU GPL の思想ですか。その一部は、X Window について今説明したような現象からコミュニティの自由を守りたかったということです。Xと同じことは他のフリープログラムにも起きました。実際、私がこの問題について考えたとき、X Window はまだリリースされていませんでしたが、私は他のフリープログラムでこの問題が起きているのを見ていました。たとえば、TEXです。私は、ユーザーが確実にすべての自由を持てるように保証したいと思いました。そうしなければ、自分がプログラムを書き、多くの人々がそのプログラムを使っても、彼らは自由を持たないだろうということがわかっていたからです。そんなことになったら、何の意味があるでしょうか。
しかし、私が考えていたもう1つのことは、コミュニティに対して、自分は他人に踏みつけられるだけのドアマットではない、身体の中をうろうろしている寄生虫の餌食ではないという感覚を与えたいということでした。コピーレフトを使わなければ、こう言っていることになります。[屈従的な言い方で]「私のコードを持っていってください。好きなようにしてください。私はノーとは申しません」すると、いろいろな人たちがやってきてこう言うでしょう。[非常に強い言い方で]「ああ、俺はこいつの非フリーバージョンを作りたかったんだ。もらっていくよ」もちろん、彼らは何らかの改良を加えるでしょう。そして、それらの非フリーバージョンがユーザーにアピールし、フリーバージョンを駆逐していくことになります。そうだとすれば、皆さんはいったい何を達成したのでしょう。何らかの私有ソフトウェアバージョンに寄付しただけではありませんか。
そして、人々がこれを見ると、つまり、私が作ったものを他人が取り出して何も返さないところを見ると、意識の低下を引き起こすことがあります。これは、ただの理屈ではありません。私は実際にそうなったところを見ています。私が1970年代に所属していた古いコミュニティが消えたときに起きたこともそうでした。一部の人々が、非協力的になり始めたのです。そして、私たちは、彼らがそれによって利益を上げているのだろうと思いました。彼らは確かに利益を上げることを考えているかのように行動していました。私たちは、そういう連中が協力の成果を持ち出して何も返さないことが可能だということに気づきました。私たちにできることは何もありませんでした。それは非常に力の抜けることでした。そのような風潮を好まない私たちは議論さえしましたが、流れを止めるアイディアは浮かんできませんでした。
GPLは、それを止めさせるために作られています。確かに、私たちのコミュニティに参加してコードをするのは歓迎します。コードを使ってあらゆる種類の仕事をすることができます。しかし、変更を加えたバージョンをリリースするときには、私たちのコミュニティの一員として、自由世界の一員として、私たちのコミュニティにそれを開放しなければなりません。
実際のところ、私たちの仕事の成果を受け取った上で何も返さない方法はいくつもあります。何もソフトウェアを書く必要はないわけですから。多くの人々が GNU/Linux を使いながら、ソフトウェアを一切書いていません。そうすることは義務付けられていないのです。しかし、ある種のことをした場合、その人は仕事の成果を寄付しなければなりません。私たちのコミュニティが言いなりにはならない、ただのドアマットではないというのは、そういうことです。そして、GPLは人々に強さを与える上で役立ったと思います。私たちは、皆の足に踏みつけられるだけの存在になるつもりはありません。
フリーでありながら、コピーレフトの対象ではないソフトウェアのことですが、誰もがそれを取り出して私有ソフトウェアに変えられるわけですから、誰かがそれを取り出して変更を加えて全体をGPLのもとでリリースするということはできないでしょうか。
はい、可能です。
だとすると、その方法を使えば将来のすべてのコピーがGPL化されないでしょうか。
そのブランチからはそうなります。私たちは、一般にそういうことをしませんが、その理由を説明しておきます。私たちは、そうしたければすることができます。X Window を取り出し、GPLの対象となるコピーを作って、それに変更を加えることは不可能ではありません。しかし、X Window を改良しつつ、GPL化しない私たちよりもずっと大きなグループの人々がいます。私たちがGPL バージョンを作ると、彼らから分かれていくことになりますが、それは彼らの扱い方としてあまり良いものではありません。彼らは私たちのコミュニティの一員ですし、私たちのコミュニティに貢献しているのですから。
第2に、彼らは私たちよりもずっと多くの仕事をXに対して行っているので、私たちのバージョンは彼らのバージョンよりも劣ったものになるでしょうし、人々は私たちのバージョンを使わないでしょう。GPL化は私たちにとって裏目に出ます。そんな面倒を引き起こす必要があるでしょうか。
ですから、X Window に対する改良コードを書いたら、その人はX開発チームと協力すべきだと私は言っています。彼らにそれを送り、彼らに扱いを任せるのです。彼らはフリーソフトウェアの非常に重要な部品を開発しているのですから、私たちは彼らと協力すべきです。
Xということで言えば、約2年前のX Consortium は、フリー、オーブンソースから非常に遠いものでしたが……。
はい、実際には、Xはオープンソースではありませんでした。X Consortiumはそうだったと言うかもしれません。また、私は X Consortium がそう言ったかどうか覚えていません。しかし、Xはオープンソースではなく、制限を受けていました。確か、営利目的で頒布することができませんでした。あるいは、変更版を営利目的で頒布することができないとか、何かそういう制限がありました。フリーソフトウェア運動でもオープンソース運動でも認められないような制限がありました。
コピーレフト以外のライセンスを使ったときに残されるのはこういう可能性です。実際、X Consortium は非常に厳格な方針を取っていました。彼らは、少しでもコピーレフト化されているプログラムには、Xを頒布しないと言っていました。私たちは自分たちのディストリビューションにはXを組み込もうとしませんでした。
このようにして、多くの人々がコピーレフトを避けるように圧力を受けてきたのです。そして、その後はXのすべてのソフトウェアが広範にオープンになりました。プログラマに過度に寛容になるよう圧力をかけてきたのと同じ人々が、あとになって「では、制限を設けることにしよう」と言う。それはあまり倫理的なことではありません。
しかし、だからと言って、私たちが資源をかき集めて GPL バージョンの対抗Xを本当に作るべきでしょうか。そんなことをする意味はありません。私たちがしなければならないことは、他にたくさんあります。対抗Xを作るくらいなら、そちらをしましょう。私たちはXの開発者たちと協力できます。
GNU は商標ですか。GNU GPL に商標を認める条項を組み込むのは現実的ですか。
私たちは実際に GNU に商標登録を申請しています。しかし、だからといって GNU 商標で何かをするつもりはありません。その理由を説明するためには、非常に長い時間が必要です。
GPL の対象となるプログラムに商標を表示することを要求することもできますが。
いいえ、私はそう思っていません。ライセンスは、個々のプログラムを対象とします。そして、あるプログラムが GNU プロジェクトの一部であれば、そのことについて嘘をつく人はいません。全体としてのシステムの名前は、また別の問題です。そして、それは余談というもので、これ以上論じる価値はありません。
すべての企業に対して強制的にソフトウェアをフリー化させられるボタンがあったとして、あなたはそれを押しますか。
公刊されているソフトウェアだけを対象としてなら押すでしょうね。人には、プライベートにプログラムを書いて使う権利があると思っています。人と言った中には企業も含まれます。これはプライバシーの問題です。そのプログラムが人類にとって非常に役に立つのに、隠しておくなら、そういうことは良くないかもしれません。それは事実です。良くないことではありますが、それは良くないことの種類が異なります。同じ分野の問題ですが、異なる問題です。
しかし、私はすべての公刊されたソフトウェアがフリーソフトウェアであるべきだと思っています。そして、公刊されたソフトウェアがフリーソフトウェアでないとしたら、それは政府の介入の結果だということを覚えておいてください。政府がソフトウェアをフリーではないものにするために介入してくるのです。政府はプログラムの所有権者に特別な権力を法的に与えています。ですから、私たちが特定の形態でプログラムを使おうとすると、所有権者たちは警察力を使ってそれを制止することができます。私はこのような事態を終わらせたいと思っています。
リチャードの講演は、すばらしい量の知的エネルギーを生み出してくれました。そのうちの一部はフリーソフトウェアを使うこと、そして、おそらくフリーソフトウェアを書くことに導くことだろうと思います。
まもなく、講演を終了しなければなりません。リチャードは、一般人からは政治的に救いようもなくナード的だと見られている職業に、政治的で倫理的な議論を巻き起こしたということをぜひ言っておきたいと思います。私たちの職業ではこのようなことは今までありませんでした。このことについての彼の非常に大きな貢献に私たちは感謝したいと思います[聴衆の拍手]。
初出:2001年9月29日にNYU で開催された講演会の記録。このバージョンは、"Free Software, Free Society: Selected Essays of Richard M. Stallman",2002, GNU Press (http://www.gnupress.org/); ISBN 1-882114-98-1の一部である。
本文に一切の変更を加えず、この著作権表示を残す限り、この文章全体のいかなる媒体における複製および頒布も許可する。