GNU ソフトウェアの関連記事 - 3

Richard Stallman に聞く (2)

□「copyleft」は賢いジョークの王様□

株式会社ビレッジセンター 中村 満 -1991 年 -

■Richard Stallman との出会い

-copyleft はジョーク -

 私は、1991 年 2 月米国カリフォルニア州サンタクララで開催された「ソフトウェア・デベロップメント '91」のコンファレンスに参加した。

 Borland C++ の発表や、Windows の画面が氾濫しているベンダ主催のブースに、たった一人で仁王立ちしている男性を見かけた。その男性は、周りに集まる人々に大声でソフトウェアの著作権について訴えていた。

 私は、その大声の主が FSF の社長である Richard Stallman 氏であることを確認して、勇気を出して話しかけた。きっと声は細かく震えていたと思う。

中村

日本から来た中村です。もし時間があれば私と話す機会をいただけませんか。

Stallman

OK、3 日後の夜なら時間がある。僕に寿司をご馳走してくれるというなら、時間をつくれると思うが……(笑)。

中村

了解。じゃあ 3 日後、ここに迎えにきます。

Stallman

どこで落ち合うのか決めてくれたら、出かけていくよ。

中村

では、サンフランシスコのダウンタウンではどうでしょう。場所は、今夜連絡しますから泊まり先を教えてもらえませんか……。

こうして私は、FSF の Richard Stallman 氏と会食する機会を得た。人間は、堂々と申し込むものだと実感した。

 私は、以前から彼のファンであった。彼の思想や彼の生い立ち、彼の環境論に興味を抱いていた。それから眠れない夜を過ごした。他の仕事が手につかなかったのも事実である。当日は正直な話、恥ずかしながら心から興奮していた。

 定刻に現れた彼の姿は、私がいつも写真で見ている紺色の縞模様のシャツであった。彼は和室に入り、畳の上にきちんと正座をして語り初めてくれた。

中村

私は、日本で「C JOURNAL」というコンピュータ雑誌を出版しています。私自身、微力ながらその雑誌を通じて、FSF や GNU に関しての普及に努めています。また、4 年前から東京の神田神保町に IBM-PC のソフトウェア・ショップを開き、そこで日本のユーザから FSF への寄付を集め 4 ヶ月毎に送金しています。

Stallman

ああ、それについては、以前君と話したことを覚えているよ。確かその時、君に寄付金の額を上げて、もっとお金を集めて我々に送ってくれと頼んだと思う。その時にも言ったが、いくらかは君達の分を残しておいてだ。

中村

そうでしたね。努力しています。ところで、「C JOURNAL」に「Think GNU」*1 を連載していた引地ご夫妻のことを覚えていますか ?

Stallman

もちろん覚えているとも。彼らはボストンのケンブリッジの作業場所で 1 年間程働いていた。懐かしい……。今度会ったら、元気でやっているかと伝えてもらいたい。

中村

わかりました。日本に帰ったらさっそくそのように伝えます。

 彼らは、私の出版している雑誌をはじめ、日本のいろいろな媒体に GNU に関する記事を精力的に書き続けています。

 申し遅れましたが、今夜こうして改めてあなたに GNU と FSF について、直接話を伺うことができることに感謝します。

Stallman

OK。ところで、君は copyleft という言葉を知っているね。

中村

はい。私自身「GNU ダイジェスト」やほかの文献で見たことがありますし、引地ご夫妻から話を聞いたこともありますから copyleft の定義は知っています。

 しかし、今夜は、GNU に興味を持ったばかりの方や FSF をもっと知りたいという方の立場で話を進めたいと思いますので、どうぞその主旨でお話しください。

Stallman

了解。いわゆる copyleft というのはジョークなんだ。なぜならば、単語のライト (right) には 2 つの異なる意味があるからだ。もちろん、政治における右翼と左翼というのもあるけどね。

 知っていると思うが、copyright は右翼の目的のために使われる。それは、人々を平等にして自由を広めるということだ。

中村

私は、引地ご夫妻に依頼して書いていただいた連載記事と、このインタビューを元にして単行本を出版しようと思うのですが、よろしいですか。

Stallman

かまわないよ。ただその際に、少々変わってはいるが、君にやってもらいたいことがある。

 それは、本を出版する時、我々がマニュアルを出版するのと同じようにしてもらいたいということだ。

 つまり、君が出版する本は、誰でもそれをコピーできる、つまりコピー・フリーであるということを記してほしい。それが GNU の精神だから。◆1

中村

わかりました。

Stallman

君も知っているように、我々はいつもマニュアルをコピー・フリーにして出版してきた。そして、GNU に関する本もそうしてきた。copyleft の本を作るのは GNU の精神であり、それに対してどのような反響があるのかを見たいんだ。

 今回の君の企画が一冊の単行本になるのならば、君が今まで培ってきた出版経験を活かして頑張ってほしい。私は、君の出版するその本を無料で配れと言っている訳ではない。今まで君がやってきた通りに売ればよい。

 それにもう 1 つ、アイデアがある。君が出版するその本をオンラインで配付してもらいたい。テキストの形で BBS にのせて広く配布してほしいんだ。そうすれば、君が企画をして出版する本は必ず広まるに違いない。そして、そういったやり方が現実に可能であることを、我々はこの目で確かめてみたいのだ。

中村

わかりました。今のあなたの提案に従うことを約束します。

 私の会社では BBS は運営しておりませんが、日経 BP 社の日経 MIX という商用ネットワークで、ビレッジセンターの分科会としてベンダ会議を開催しております。

 日本に帰ったら MIX 本部に連絡をとり、その会議 (MIX V.C.会議) を通して配布することを約束します。

Stallman

それは実にいいことだ。日本で GNU に関する本が他の会社から出版されるということを聴いたときは、その出版社に私のこの提案を伝えてもらいたい。

 本の話に戻るが、私の記憶では Emacs のマニュアルは今話したような形態で *2 入手可能にもかかわらず、昨年 1 年間で 8,000 冊くらいの注文が FSF にあったと思う。

中村

ネットワークを経由してオンラインで入手可能になっているわけですね ?

Stallman

何種類かのテープも配布しており、その全てのテープにソース・コードを入れているし、BBS(Internet のこと) も利用している。さまざまなコンピュータ上で利用できるようにしてある。

 我々は 1 台のコンピュータにそれらを入れて、そこから配付しているのだが、もちろんそこから他へ皆がコピーするんだ。

中村

わかりました。私も同じように実行してみます。

Stallman

うれしいね。それはとてもすばらしいことだよ。

■古き良き時代のソフトウェアを求めて、そして GNU

中村

そうですね。

 ではまず、あなたが GNU システムを書くようになったきっかけを日本の読者のために説明してもらえますか ?

Stallman

つまり、どういうアイデアが GNU システムを書くきっかけになったか、ということを説明してもらいたいということかな。

中村

そうです。

Stallman

それは、私が昔ハッカーだった時分の経験からきている。その頃のソフトウェアは自由なものであったし、そして誰もが将来にわたってそれが自由なものであり続けることを疑わなかった時代だった。

中村

いつ頃のことですか ?

Stallman

1970 年代のことだ。その頃は、プログラマをはじめとして基本的に皆がお互いにフレンドリーだった。しかしその後、人々は協力し合わないことが儲けにつながる、ということを発見した。◆2

 ……ところで、テープレコーダはオンになっているのかな。

中村

オンです。

Stallman

せっかく持ってきたのだから、使ったほうがよい。

中村

ずっとオンです。安心してください。日本製ですしね (笑)。

Stallman

彼らがやっていることはソフトウェアの開発をもはや面白いものでもなく、フレンドリーなものでもなく、効率的なものでもないものにしてしまったと、私はその時気付いた。人々は、お互いに助け合わなくなり、敵となってしまった。私にはこのようなことが、社会の崩壊と同じことのように感じられた。

中村

『人々が敵になる』とは、具体的にどういう意味ですか ?

Stallman

つまり、君が何かのプログラムを書き、それを私と共有しない。そして、私が何かのプログラムを書き、それを君と共有しない。誰かが何かのプログラムを書き、それを我々と共有しない。それぞれの会社は他の会社の敵である、ということだ。

 彼らはそれを君に使わせるが、必ずある条件のもとで、しかも君がお金を支払うならそれを認める。それでは、常にピストルを突き付けられているようなものではないか。プログラムを手に入れるには、君は誰とも共有しない、というライセンスにサインしなければならないんだ。私には、そのことが社会の崩壊と同じことのように思われたのだ。

 1980 年頃になり、これは悲しいことではあるが、しかしどうすることもできない、と多くの人々が感じていたのを覚えているよ。彼らには、それを阻止できるようなアイデアが思い浮かばなかった。

 しかし数年後、私はそれを阻止する方法を思いついた。そう、そのアイデアが GNU プロジェクトだったのだ。ちょうどその頃の私は、フリーなオペレーティング・システムがほしかった。もし私がフリーなオペレーティング・システムを持っていれば、皆に「欲しいならここへ来て、これを共有してくれ」と言うことができる。

 著作権のあるソフトウェアを使う場合に、それを人々と共有してはいけない、という同意を私は人々に要請させたくなかった。

 私は、自由にソフトウェアを共有することを望んだのだ。そこで、私はフリーなソフトウェア・システムを作ることを思いついた。たとえそれを私 1 人で書くことになろうとも。

中村

1 人で始めたのですか ?

Stallman

そう、自分 1 人で始めた。まず 1 つの部分を書き、そして今度は次の部分と、順々に完成するまで続けるつもりだった。

中村

マシンは何を使っていたのですか。

Stallman

MIT のコンピュータを使っていた。

中村

VAX ですか ?

Stallman

そう、VAX だった。もともとは prep として知られているマシン VAX750 だ。◆3 そのマシンはすでにお払い箱となってしまったがね。

 最近は、HP から寄付してもらったマシンを使っている。HP は GNU プロジェクトを全面的に支援してきた。彼らは、すでに 10〜12 ものコンピュータと、多額のお金を我々に寄付してくれている。

 ……ところで、この刺身の他に何を食べるのか、もう決まってしまったのかな ? それともそれについて相談するのかい ?

中村

まずは、ビールを先に飲みましょう。

Stallman

私はビールは飲まないんだ。他の人が飲むのはかまわないが。

中村

お腹が空いていますか ?

Stallman

いや。急いでいるわけではない。メニューを持っていかれたことに気付いたので……。私はビールを飲まないが、君達が飲むならやってくれてけっこうだよ。私はお茶を楽しむとするよ。

■共有と改変の自由、copyleft

中村

copyleft のアイデアは、どのように作り上げられたのですか ?◆4

Stallman

copyleft のアイデアは、人々がこの新しいコミュニティに参加する意義を確立しようとしたことから生まれた。コミュニティとは、一緒に働く意義があると感じる人々の集まりを意味する。

 そこでは彼らは敵対するのではなく、お互いに助け合うのだ。私はソフトウェアを共有する人々の新しいコミュニティを築きたかったのだ。

 copyleft のアイデアとは例えば、もしあなたがフリーのソフトウェアに改良を施せば、その改良もまたフリーでなくてはいけない、ということである。そうでなければ、たとえ私がフリーのプログラムを書いたとしても、会社がそれを覆してそのプログラムを取り上げ、ほかの全てのソフトウェアと同様に商用ソフトウェアにしてしまう。ちょうど彼らがほかの全てのソフトウェアにするように、人々に不愉快なライセンスにサインをさせる。そして結果的には、ほとんどのユーザはこのような過程を経て独占ソフトウェアを得るという、私が最も恐れていることが起こる。ユーザは私の書いたソフトウェアを入手したとしても、ライセンスがついてくるので、それを共有することは許されないであろう。

 もしそのような事態が発生すれば、私が行なってきた全ての行動は、新しいコミュニティを築くことに何も貢献しなかったことになる。私は有用なソフトウェアを作成するかもしれないが、それが私の意図するところではない。私はコミュニティを築こうとしているのだ。そして、そのソフトウェアを使う者全員が、そのコミュニティに参加できる環境を確立しなければならない。

中村

プログラマだけではなくユーザも ?

Stallman

そうだ。私は全てのユーザに共有してもらいたい。おそらく、ユーザにはその機会がないかもしれないが、それでもかまわない。全ての人々が共有することを要求してはいないが、全ての人々に自由に共有できるようにしたい。それが私の目指すゴールである。そして、それが copyleft の 1 つ目の目的である。つまり、プログラムを得る皆が、それを『共有する自由がある』ということだ。

 第 2 の copyleft の目的は、プログラムの改変の自由を確立することだった。なぜならば、人々は私の書いたプログラムを一度手に入れればそれを改変するであろうことを知っていたからだ。多くの人々は異なる使用、異なるアプリケーション、異なるニーズ、異なるアイデアを持つ。そしてそれゆえに、人々は改変を望み、改変を行なう。私はそれらの改変の自由も明らかにしたかった。

 それはちょうど公園を造るようなものである。ベンチや池、小川、彫刻を加えることにより、たくさんの人々が公園を素晴らしいものにする。しかし、その公園の全てのものは、公共のものでなければならない。皆がそこへ行き、それを楽しむことができるのだ。しかし、もし人々が公園の一部に彫刻を置き、それを専有物にするならば、それは良くないことであり、公園そのもののアイデアは無意味になるだろう。

 これらがアイデアの中核だった。全ての人に共有する自由があり、その変更の自由もまた有するということである。

■GNU プロジェクトと FSF、医療と赤十字

中村

GNU と FSF との関係について説明していただけますか ?

Stallman

では、食べながら GNU プロジェクトと FSF の関係について説明しよう。

 私が最初に興した事は、GNU プロジェクトであり、それは本当に大切なことだった。これは完全なフリー・ソフトウェア・システムを作成するプロジェクトである。

 FSF は団体であり、GNU はプロジェクトである。FSF の目的は、GNU プロジェクトを運営するための基金を集めることだ。◆5

 それはちょうど赤十字と医療の関係と同じであると考えてもらえばよい。医療はけが人や病人を助けることが目的である。誰もがけが人や病人を助けることができるが、赤十字はそれに貢献するために形成された組織である。それが FSF と GNU プロジェクトが生み出すフリー・ソフトウェアの関係なんだ。

中村

何人が FSF で働いているのですか ?

Stallman

多分 12 人だったと思う。

中村

彼らは事務所で働いているのですか ?

Stallman

半分はケンブリッジで働いている。

 ……私はビールを飲まないので、私の目の前にあるビールを誰かに飲んでもらいたい。全く口をつけていないから。捨ててしまうのでは意味がないよ。好きな人が飲むべきだろう。

中村

私がいただきます。話の続きをお願いできますか ?

Stallman

幾人かはケンブリッジで働き、他は全米のいろいろな所で働いている。

中村

あなたの事務所があるのですか ?

Stallman

イエス & ノーだね。FSF そのものは、テープやマニュアルを配付するための事務所がある。それだけである。それがビジネス用の事務所である。

 我々は MIT に作業場所がある。幾人かのプログラマがそこで働いているが、その他の人は自宅にコンピュータを持っているので、自宅で働いている。例えば、ミネソタに 1 人いるし、サンタバーバラで働いている人もいる。ボストン地区では 2 人働いているが MIT でではない。彼らはマサチューセッツ大学のコンピュータに電話でログインすることができる。

中村

スタッフは十分ですか ?

Stallman

いや、今以上に増やしたい。近々、1 人雇う予定だよ。しかし、それ以上に求めているのはお金なんだ。最近テープの値段も上げたが、これは、さらに多くのお金が入ってくるのでスタッフをもう 1 人雇える、ということを意味している。

 また、当初のように GNU プロジェクトに携わるボランティアも必要だ。◆6

 ボランティアという意味では、私もその 1 人だが。私の GNU プロジェクトでの仕事に対して、給料は支払われていないからね。他の人もそう。例えば、Ghostscript に携わる人はボランティアだし、GNU Smalltalk に携わる人も同じくボランティアだよ。

中村

これらボランティアの人々は、各自の本業を終えてから働くのですか ?

Stallman

ええ。あるいは、人によっては実際に仕事をするために、他からお金をもらっている。例えば、今日私と一緒にこの席に参加している Michael は、我々の立場から見る限りボランティアとしてスタートしたが、実際は MCC からお金をもらっていた。君は、MCC というのを聞いたことがあるかな ? C++ コンパイラを書くことが MCC での彼の仕事だったんだ。

 現在、我々のところに Fortran のコンパイラに携わっているボランティアがいる。そのコンパイラはだいたい完成している。それを使えばさまざまな Fortran のプログラムをコンパイルできると思う。しかし、今の時点では、まだほとんどのプログラムをコンパイルしかねる段階で、これからかなり手を加えなければならない。それでも、おそらく 60% は終了しているだろう。

 彼はボランティアで、MIT の我々のオフィスに毎日来て一日中働いている。それこそ彼がいつもしたいと望んでいたことなんだ。つまり、Fortran のコンパイラを書き、それを正しく実行すること。そして、彼にあれをしろ、これをしろととやかく言う馬鹿なビジネスマンとつき合わなくて済むこと。彼の名前は、Craig Burley という。

 ここで、Richard Stallman 氏と同席している Michael 氏にインタビューしてみた。

■GNU ソフトウェアのサポート会社

中村

Stallman 氏のところでボランティアとして働いたのですか ?

Michael

 いいえ。私は 1986 年から 1 年間 MCC という会社で働いていました。MCC とは、多分ご存知かもしれませんが、日本の第五世代ソフトウェアに対抗するための技術を開発しようとしている会社です。

 最初の年 (1986 年のこと)、私はそこで仕事を与えられ、その与えられた仕事を全てこなし、そこで私がやり遂げた仕事は彼らに好評を得て素晴らしいものではあったのですが、誰もそれを使いませんでした。私は、自分の 1 年間を無駄に過ごしたように感じたのを覚えました。

 次の年、彼らが何か新しいことを探しているときに、私は GNU C コンパイラを発見しました。そこで、私は GNU C コンパイラに取り組むことを決心しました。会社は、私のこの決心を認め、その配付を制限することもしませんでした。

 GNU C コンパイラは私が知る全ての国に行き渡っていて、それらの学校にも広まっています。今でも、GNU C コンパイラはあらゆる所で使われています。GNU C コンパイラがそのように成功した理由の 1 つに、例えば、私が GNU において行なった仕事が、ほかのプロジェクトの自分の仕事に比べて上出来だったからではなく、単にプログラムから配付の制限を取り除くことによって、プログラムの品質が向上し、改善されたからだと思います。

 私が GNU C コンパイラを発見した時に、Stallman が Emacs のマニュアルに書いたもの、つまり「GNU 宣言」(The GNU Manifesto) のもとに会社を発足することを私は思いつきました。この宣言では、彼はプログラマは必ずしも 1 からスタートすることはない、というフリー・ソフトウェアのアイデアを擁護しています。

 実際に我々がすべきことは、『プログラムをラインセンスすることによって人々に売り付けること』から、その『サポートやサービスにお金を請求すること』に変えることです。なぜならば、ソフトウェアをコピーすることはとても安上りだが、そのサポートは大変なことだからです。

 そして、私は去年 Cygnus という会社を始めました。この単語の中に、GNU が入っているのがおわかりですか ? GNU という文字が入っている数少ない単語の 1 つなのです。他の単語はもっとひどいのがありますけどね。昨年から始めたこの会社はとても成功しています。

中村

何人で始めたのですか ?

Michael

 最初はたった 3 人でした。そして去年の売上は 100 万ドルでした。今年のクォータ (1 月から 3 月までの第一四半期) は 50 万ドルを予定し、社員の数は 12 人から 20 人に増える予定です。

 そして、Cygnus 社では引続き C コンパイラや C++ コンパイラを開発してきました。そのうちの GNU C++、Emacs、デバッガに関しては私が作業を行ないました。

 我々の会社の使命はフリー・ソフトウェアだけを開発し、サポートすることです。その他のプロジェクト、例えば、X Window System や TeX などのフリーなソフトウェアの全てを対象にしているプロジェクトもあります。

中村

GNU ソフトウェアを対象としているのですか ?

Michael

 GNU が開発するソフトウェアは全てフリーです。それだけでなく、他のソフトウェアも我々は扱います。それがフリーである限り。我々はフリーでないソフトウェアのためには絶対働きません。他のほとんどの会社とはちょうど反対のことをしていることになります。彼らはフリーでないソフトウェアに対してのみ働きますからね。

 しかし、我々もどんどん大きくなっています。3 人から 12 人に、そして 1 年で 100 万ドルからクォータで 50 万ドルにと。

中村

どのようにして利益を得るのですか ?

Michael

 サポートを通してです。例えば、我々の顧客のうち、おそらく契約が成立すると思われるビッグな会社が 1 つあります。君もよく知っている会社だと思います。

中村

というと日本にもある企業ですね ?

Michael

 そう、HITACHI America です。彼らは GNU C コンパイラを、彼らのチップの上で走らせたいと考えているところです。

 一度コンパイラが完成すれば、その配付を制限することには全く意味がないと思います。しかし、それを完成させるにはお金がかかる。だから、ロイヤリティやライセンスや、その他抽象的なものに対して我々に支払う代わりに、我々は単に開発に費やした分だけ

求する。ビジネスの観点から言えば、それはさらに望ましいものと思います。

中村

どのように彼らの OS 上でコンパイラを走らせるつもりなのですか ?

Michael

 たいていは、Unix 上で走らせます。

 しかし、この契約では他の OS をいくつか使うことを要求されることでしょう。Mach や BSD や Ultrix で走らせるかもしれない。

 我々は日本の企業が GNU のソフトウェアを採用することにたいへん興味をもっている、ということを学びました。日本人は、アメリカ人がソフトウェアに対してしようとしていることが、全くうまくいってないことを理解していますね。アメリカのソフトウェアは、とてもとても高価で、コントロールするのが非常に大変なのです。

 業者が、自社のソフトウェアは優れている、これも実行できるし、あれもできる、とあなたに言ったとします。すると、あなたはそのソフトウェアを使って何か新しいことがしたい、と言う。彼らはそれはできないと言う。できないばかりか、彼らはあなたにそれをトライさせようともしない。

 我々はお客からものを依頼された場合に、これだけのお金でそれをすることができますよ、と言う。彼らがそれを良い取引と思うならばそれを買うだろうし、そう思わないのならば誰か他の人を雇ってそれをするでしょう。

 我々は、お客に我々が成長するのを待ってもらうようにお願いしたりはしません。現在最も我々に有利だと思うビジネスをします。もし我々にできないことであれば、お客を引き止めることはしません。しかし、フリーではないソフトウェアはその逆です。そこから抜け出ることはできません。

 我々はビジネス界で受け入れられていることがわかりました。問題はそれらの要求にどれだけ迅速に応えられるかです。

 また、Cygnus 社は寄付で運営されてはいません。Richard が話す FSF は非営利団体で、寄付で運営されていますが、我々は全く商業ベースです。我々は慈善のためには働きません。たまたまフリーなソフトウェアを作って人にあげているにすぎません。これは全てビジネスの戦略の一部です。それに比べて、Richard の戦略は政治的な戦略です。

 両者は外から見ればとても似通っていますが、我々がお金のためにフリー・ソフトウェアを使うやり方と、彼が政治のためにそれを使うやり方は異なっています。

中村

例えば、HITACHI America はあなたの会社の株を買うのですか ?

Michael

 いや違います。彼らはソフトウェアの移植や保守のために我々のサービスを買うのです。ロイヤリティやライセンス料は全くありません。我々が HITACHI America を見つけたのは、GNU C コンパイラの評判が基本的には Unix 上でのコンパイラを知る人全てに行き届いたことによると思います。

 ある時、HITACHI America の人が Richard に電話をして、移植をしてほしいと頼みました。リチャードはそれをやらないと断り、カリフォルニアの私のところ (Cygnus 社) に電話してくれ、彼らはビジネスマンであると伝えました。

 そこで彼らは我々に電話をしてきたのです。そして 1 年が経ちました。現在、契約の完了までもうすぐです。

中村

GNU ソフトウェアに携わっている他の会社はあるのですか ?

Michael

 2 つの新しい会社があります。彼らが我々と競争しているのか、あるいは補い合っているのかは知りませんが。1 つは Watchmaker Computing です。彼らが扱うのは独占的なソフトウェアなのでフリー・ソフトウェアであるとは思いません。

 つまり、「フリーではないソフトウェアに関して働く」ということです。これは私の会社では絶対しませんが、彼らはするでしょう。繰り返しますが我々はしません。そしてもう 1 つは BETA という会社です。

Stallman

ありがとう、Michael。

■GNU プロジェクトの近況

 私は再び Stallman 氏に質問をすることにした。少しだけビールを飲んでから……。

 Michael に聞いたところによると、Stallman 氏は酒と煙草はやらないとのことである。特に煙草は、隣人が煙を出すだけでも嫌がると忠告を受けた。Stallman 氏は、女性についてどのような感情を持っているのかという質問が喉まで出かかったが、聞くのはやめることにした。

中村

GNU では新しいプロジェクトはありますか ?

Stallman

C ライブラリはほとんど準備できている。

中村

それは関数ライブラリですね。

Stallman

そうだ。基本的には、我々のユーティリティを走らせることができるライブラリを作成した。

 Emacs やデバッガ、コンパイラなどは、我々のライブラリを使用して動作させることができる。テストのためになぜリリースされていないかはわからないが、最後にならないとできないことはけっこうあるものなんだ。しかし、基本的にはそれは完成している。

 もう 1 つは、最近起こったことだが、Mach マイクロカーネルがフリーになったことだ。今現在、誰でも実際にネットワークから Mach マイクロカーネルを手に入れることができる。

中村

たしか、カーネギーメロン大学で開発したものですね。

Stallman

そう、カーネギーメロン大学によって開発された。しかし、結果として、我々はそれを使うことにした。そして現在、そのためのスタッフを必要としている。

中村

フルタイムで、ですか ?

Stallman

もちろん、フルタイムで。Mach 上で走る Unix のエミュレーションを作成している。

 Mach はマイクロカーネルで、マルチプロセスとメッセージ・パッシングをサポートしている。そのルーチン上に Unix 互換のシステムを提供するために、Unix をエミュレートするもう 1 つのルーチンを築かねばならない。その作業を Michael がやっている。◆7

 第一段階は、Berkeley ファイル・システムを取り上げ、それをマイクロカーネルの上で走らせる。それが現在彼がやっていることである。つまり、彼は非常に多くの仕事をこなさなければならない。

中村

始めたばかりですか ?

Stallman

Michael は 1 カ月半前から始めた。

中村

どれくらいかかると思いますか ?

Stallman

そんなことは誰にもわからない。愚問だよ。

中村

失礼しました。何人くらいそれに従事しているのですか ?

Stallman

現在はたった 1 人。ボランティアなど他の人が始めることができるプロジェクトの 1 つとして、いろいろなマシンのためのドライバを開発するという作業がある。Mach を手に入れることは可能であるから、Mach にアクセスすることができる人は誰でも、コピー・フリーなドライバを持たないマシンのドライバの開発を始めることができる。

 現在、2 機種のマシン用のコピー・フリーのドライバが存在する。1 つは 386 であり、もう 1 つは確か RISC のチップの MIPS である。MIPS はこれらのチップを設計した会社である。確か、その他のマシン用のコピー・フリー・ドライバは存在しないと思う。

 だからなおさら、人々はそれらを書く必要がある。そして人々がそれを書くことを私は望んでいるのだ。

中村

多くの優秀なスタッフが必要ですね。

Stallman

もっとお金を集めることができるならば、もっと多くの人を雇いたい。基本的には、我々はお金が入る以上に早く費やしているよ。

 去年は大口の寄付が入った。そのおかげで、このようにお金を費やすことができるのだ。

中村

誰が寄付をしたか教えてもらえますか ?

Stallman

Hewlett Packard(HP) は 75,000 ドルを我々に寄付した。そしてその前の年は、100,000 ドルだった。君も知っているように、我々に寄付をしてくれた人や会社は、「GNU ダイジェスト」で随時報告している。そういえば君の会社の名前もね。

中村

大きな資本の会社がどのような目的で寄付をしたのか、それについて教えてもらえますか ?

Stallman

それだけでなく、目的について彼らから聞いた話を話そう。

 彼らは、最初に HP のマシンを使用した人々以外の人に、自社マシンにもっと興味をもってもらいたいのだ。彼らは、HP マシンのユーザが GNU ソフトウェアが好きであるということを知っていて、それで、HP マシン上でうまく動作する GNU ソフトウェアに興味を持ったというわけだ。

中村

確か、彼らは独自のオペレーティング・システムを持っていたと思いますが。

Stallman

そのとおり。彼らは"ハーペックス "(唾を吐くような音、HPUX) *3 と呼ばれる Unix を持っている。それは実際、他のシステムと比べてひどくはないのだが、このようにプログラムを馬鹿にできる機会があるときに、どうしてそれを抑えることができようか (笑)。

中村

何故、Unix を GNU のオペレーティング・システムとして選択したのですか ?

Stallman

その理由は、我々は GNU を立ち上げたいから、である。我々がシステムを完成するまでの間、開発用に Unix が必要なためである。

 Unix は数多くのモジュールから構成されており、我々はそれを 1 つずつ取り替えていく。多分今から 1〜2 年はかかるだろうが、最後には全て取り替えられるだろう。

中村

なるほど、理解できました。

■GNU ライセンス (GPL) が適用されるソフトウェア、されないソフトウェア

中村

ところで日本では、GNU を改良しているグループが、他のユーザによるバグ報告があまりにもひどいという理由で、改良途中のライブラリのソース・コードの公開を拒否しているという現状があります。

Stallman

それはひどい。問題だ。

中村

解決策はあるでしょうか。

Stallman

そのバイナリを使うことを人々が拒否し、ソース・コードがついているバージョンを使い続けることを私は望むが……。

 しかし、その問題を解決する手段は他にもあると思う。我々にはそのような問題はないのだが、解決策は必ずあるはずだ。

 まず、君や君の仲間ができることの 1 つとして、BBS のユーザを増やし、ライブラリのバグの報告や修正に関するディスカッションを行なう BBS のグループを持つことだと思う。

中村

はい。

Stallman

もし、彼らがバグを報告し、そしてその修正すべき箇所を必ず見たいと思うのであれば、バグを報告する理由があることになる。問題は、バグの報告が彼らにとってどれだけ大変か、または容易か、ということである。これは、その人がどのような人間であるかにもよるが……。多分、多くの人々にとってそれは容易ではないのであろう。

 しかし、それは重大な問題ではない。なぜならば、バグ報告を皆が送る必要はないからである。それを行なうことができる人が必要なのである。例えば、BBS を使っている特定の人がそれを容易に行なえれば、である。皆がそれをできないということではない。

 実用的な観点から見ると、もし実際にバグを見つけたときに、それを報告できる十分な人が確かにいることをはっきりさせたい。

 それを実現する方法は、最新のバージョンをその特別な BBS にのせ、そこでバグに関してディスカッションを行なう。

 もし人々が我々のプログラムの 1 つを取り、それをソース・コードなしで配付すれば、我々は彼らを訴えることができるし、そうするであろう。しかし、もしそれが別のプログラムならば、我々はどうすることもできないし、そのパワーもない。

 我々にできることは、我々が考えていることは正しい、と言うのみである。

中村

別のプログラムとは誰か他の人が作ったもの (GNU のソフトウェア以外) という意味ですか ?

Stallman

そう、今君が言ったことが別のプログラムだ。それは我々が書いたプログラムの一部、ということではない。

 もし、我々が書いたプログラムをある人が持って行って、それを変えるならそれは模倣行為と呼ばれる。法律上、彼らはその処置に我々の許可が必要となる。

 つまり私の言っていることは、我々の許可を得て、そのソース・コードを誰もがアクセスできるようにし、皆と共有するのであれば、自由に配布できるということである。それが「GNU 一般公有使用許諾書」(GNU General Public License) *4 の意図することである。

 しかし、もしある人が別のプログラムや新しいプログラムを書くとすれば、彼らがすることに関して我々はいかなる法律的処置も取ることはできない。

 もう一度言おう。我々にできることは、我々が考えていることは正しいと人々に伝えることだけなのだ。

中村

別のプログラムに関しては、法律的な処置は取れないのですか ?

Stallman

もしも、GNU ソフトウェアと全く独立した新しいプログラムを書くならば、そうなるだろう。

中村

たとえそれが同じプログラムでも ?

Stallman

そうだ。書いたのが我々ではないとしたら、法律的には我々は彼らにどうしろ、と言うことはできない。我々の書いたコードが使われる場合には、法律的に FSF が著作権を持つと言える。我々の言葉では copyleft と言う。すなわち、皆がそのソフトウェアを共有し、改変する自由があり、受け取ったり改変したソース・コードを公開しなければならない。

 他の誰かがプログラムを書き、それが我々のコードを含まない場合には、彼らは法律上において、彼らがすることに対して我々の許可を乞う必要はない。つまり、我々が持つものは道徳的な影響を及ぼすことなのである。それはときには有効であるが、ときには全く無視されるものだ。

 しかしその一方で、ユーザはそれに注目するかもしれない。だから、私はそういったユーザを促し、ソース・コードがついてこないライブラリを拒否することを薦めている。彼らはそれは GNU の精神に反する、それは正しいことではない、と主張するべきだ。

■リコーダーを吹きながら考える

 Stallman 氏の食欲には目をみはるものがある。刺身を早いペースで食べていく。刺身を噛みしめるように食べ、お茶で口をすすぐ。実にすばらしくリズミカルな動きだ。

中村

ところで、あなたは音楽を愛されている、と聞いていますが。

Stallman

昔は楽器をやっていたが、もうできない。残念なことだが、手を痛めてしまったのでね。

 ブルガリア音楽と、東ヨーロッパのフォークダンス・ミュージックをとても愛している。それに、フォークダンスも好きだよ。

 君はインドネシア音楽のガマランというのを聞いたことがあるかい ? それは、たくさんの楽器から成るオーケストラで、ほとんどは金属の棒とゴングから構成されている。……これがとても素敵なんだ。

 バリやジャワの音楽も聞いてみるとよい。インドの音楽も素晴らしい。しかし、インドネシアの音楽とは違う。インドの音楽はたいていメロディとドラムだ。インドネシアの音楽は数多くのパーツがあり、異なるスピードで演奏される。

中村

あなたは、普通の音楽には従わない (笑)。

Stallman

まあ、そうだね。しかし最近は従うようになっている。それはとんでもない浪費だが。

 とにかく、伝統的なインドネシア音楽は、西洋の音楽により啓発されたのではない。普通とは全く異なるスケールを使う。実際、全てのオーケストラは微妙に異なる調子を持っている。

中村

私は、あなたは音楽と共に考え事をすると聞いたのですが。

Stallman

リコーダーを吹きながら考え事をすることがある。◆8

中村

あなたはそれをトイレで演奏するということを聞いたことがあります。

Stallman

ときどきある (笑)。たまにだよ。私は思い付いたら、いつでもそれを実行することができる。

中村

どんな曲を演奏するのですか。

Stallman

ブルガリアの歌だ。

 私が最近書いた歌を披露しよう。ブルガリアのメロディだが、詞は私が書いた。それはフリー・ソフトウェアについてなんだ。私がソフトウェアについて歌を書いたのは、後にも先にもこの一度だけだ。

◆FREE SOFTWARE◆

JOIN US NOW AND SHARE THE SOFTWARE
YOU'LL BE FREE HACKERS
YOU'LL BE FREE

JOIN US NOW AND SHARE THE SOFTWARE
YOU'LL BE FREE HACKERS
YOU'LL BE FREE

QUARTERS MAY GET PILES OF MONEY
THAT IS TRUE
HACKERS THAT IS TRUE
BUT THEY CANNOT HELP THEIR NEIGHBORS
THAT'S NOT GOOD
HACKERS, THAT'S NOT GOOD

WHEN WE HAVE ENOUGH FREE SOFTWARE AT OUR CALL
HACKERS AT OUR CALL
WE'LL KICK OUT THOSE DIRTY LICENSES EVERMORE
HACKERS EVERMORE

JOIN US NOW AND SHARE THE SOFTWARE
YOU'LL BE FREE HACKERS
YOU'LL BE FREE

JOIN US NOW AND SHARE THE SOFTWARE
YOU'LL BE FREE HACKERS
YOU'LL BE FREE

 私はブルガリアの歌を勉強したのだ。君は、アインシュタインが歌うのを聞いたことがあるかい ?

中村

いいえ。

Stallman

彼はすばらしい歌い手としても知られている。私は偉大な歌い手ではないが、アマチュアとしてはかなりいい線をいっている (笑)。

中村

興味のある話です。もし時間が許せば、音楽についてもっと話をしたいですね。

Stallman

音楽の話で思い出したよ。 私が日本に行った時、NTT の竹内博士の研究所を訪れたのだが、彼らは、私がプログラミングの授業やセミナーを行なう時は、まずブルガリアのフォークダンスを教えることから始めることを知っていた。そのために、彼らはダンスを教えてほしいと言ってきた……。

 彼らは本当にハッカー精神を持っている。

■GNU コーディング規則とチーム・プロジェクト ◆9

中村

ところで、GNU プログラムに共通するコーディング・スタイルはあるのですか ?

Stallman

年が経つにつれ、私はより多くのコメントを入れることを学んだ。

 全ての関数に、その関数は何のためか、どのような状況のもとでそれが使われるか、引数の意味は何か、値は何を意味するかなどのコメントを入れる。

中村

特別なスタイルはありますか、どこにコメントを入れるとか。

Stallman

スタッフにそうすることをお願いしているが、私には全てのプログラムを読む暇はもうない。そのため、助けを求められたときだけ、プログラムを読み、彼らに多少の批評を与えている。彼らに、どのようにすればそのプログラムをより良く、よりきれいにすることができるかをアドバイスする。

 他の人々、特に評判の良いプログラマのプログラムは、私は見ることさえしない。彼らは良い仕事をするはずだ、と私は信頼しているからだ。そしてそれは最高のことだと思う。私がそのような仕事をできる人を誰か知っているのならば、私はその仕事をする必要はない。私にはやらねばならない仕事がたくさんあるのだから。

中村

GNU プロジェクトには、チーム・プロジェクトは存在しますか。

Stallman

チーム・プロジェクトはあまりないが、現在進んでいる中に 1 つある。C コンパイラはチーム・プロジェクトのようなものである。チームの 1 人はここにいる Michael。もう 1 人はニューヨーク大学の Richard Kenner で、もう 1 人は DATA GENERAL の Tom Wood である。

 私は彼らのすること (プログラム) を読み、「これは良い」とか「これはまずい」などと言い、私がそれを気に入れば、彼らはそれを使用する。

 しかし、コンパイラの一部分、確か Michael が書いた 2 つの部分は私には理解できない。私はそれらを注意深く見なかった。それらの部分は Michael に任せてあり、彼が他の人に「それを入れろ」あるいは「それは入れるな」と指示する。

 他には、Kenner の担当する部分もある。しかし、コンパイラの全体の設計は私の規則に従っている。

中村

ミーティングなどをするのですか ?

Stallman

いや。電子メールやときには電話で済ませる。

中村

スタッフの誰が一番仕事をこなしてくれますか ?

Stallman

それに答えるのは難しい。なぜなら、それに関してたくさん働いた人もいれば少し働いた人もいるし、1 回だけ働いた人もいる。Kenner と Tiemann(Michael のこと) はたくさんの仕事をしているし、Wood もかなりの仕事をしている。そう、私も、たくさんの仕事をしている。

 他に 2〜3 人がときたま働いているのも知っている。Michael のもとでコンパイラに従事している人がもう 1 人いる。彼は、GNU の最適化に関する作業をしている。彼は主に単独で働いている。その理由は GNU C コンパイラにおける多くの最適化はお互い独立しているからである。

 正確には全く独立しているというわけではないが、コンパイラ全体の設計は他のコードを変えずに 1 つのオプティマイザについてのほとんどの作業を可能にする。Jim Wilson も最適化作業に従事している。彼はループの展開 (Unrolling Loop) に関する作業をしている。それが何を意味するかわかるかな ?

 例えば、何かを 100 回実行するループがあるとする。1 回につき 2 度これを実行する、つまり 50 回のループを作ることによって、プログラムの実行速度を速められるかもしれない。なぜならば、ループの最後のチェックは 100 回ではなく 50 回だからである。ループの展開とは、コンパイラの中で自動的にこの変換を行なうことである。つまり、ユーザはこれを『100 回実行しろ』と書くが、コンパイラはそのコピーを 2 つ作り、それを 50 回行なうだけである。

中村

いつも 2 つなのですか ?

Stallman

いや、それはその時によって変わる。3 つかもしれない。それはループの回数やその大きさなど、あらゆることによって変わってくる。

中村

しかし、コードのサイズは大きくなりますね。

Stallman

そうだが、さらに高速で走るようになる。もちろん、大きなループにはそれを適用しない。小さなループのみである。

中村

完成予定日も未定ですか。

Stallman

そうだ。予定は未定だからね。しかし、それを完了するために我々はできる限りのことをしている。だから完了するときには、完了する。それが、商業ベースの会社で働くより GNU で働く方がずっと面白い理由の 1 つだろう。

 我々は嘘をつく必要はない。未来を予想できるふりをする必要もない。他の皆は、いついつにそれが完成する、と言う。もちろん彼らにはその時期などわかるはずもないのに、とにかく彼らはそう言うのだ。

 ライブラリのバグの修正の問題に戻ろう。

 私が思うには、(Internet の gnu.gcc.bugs のような) 特定の BBS を設定して、そこで発見したバグや解決策について論議できるよう努力することが良いだろう。しかも、多くの人々がバグを報告できる方法である。そして、このことが完成予定日という問題を解決するはずだ。……多分、解決するだろう。やってみる価値はある。

 我々には現在そのような問題はない。我々は大きなコンピュータ・ネットワークを使っているからだ。実際には、たくさんのコンピュータ・ネットワークが一緒になっている。

 さて、もう 1 つ、より多くの人々がこれは問題だ、と思う理由がある。それは彼らが MS-DOG で開発をしている、ということだ。

■MS-DOG とネットワーク

中村

MS-DOG……?

Stallman

そう MS-DOG。

 我々は Unix の部分を置き換える開発を行なっているので、我々のソフトウェアは Unix との相性はいい。

 しかし Unix を使用する人々は、ネットワークやお互いのコミュニケーションを大切にする傾向にある。多分、MS-DOG の人々は電子メールでお互いに話をすることなどしたことがないだろう。それでおそらく彼らにとっては、バグの報告は重労働なのではないかな。

中村

現在日本では、Unix システムを持っている人は少ないので、そのネットワークへのアクセスは少し難しいのですが。

Stallman

それは最終的には解決されることだろうが、その間、その仕事を行なうために BBS を使う必要がある。

 そして、BBS でバグを報告する 200〜300 人の人々のコミュニティを一度持てば、それで十分だろう。それは中心となるバージョンのバグを修正するのに十分ということだ。たとえ今問題となっているバグを報告しないユーザがその 100 倍いようとかまわない。

 なぜならば、バグを報告する人が十分いる限り、バグは修正され、そして中心となるバージョンは改良されるからである。それはまた、他の人々が多くのバグを見つけないことをも意味する。しかし、全てかまわない。それが我々のやり方である。

 しかし、一度だけ、我々は仕事で遅れをとったことがあり、長い間より良いバージョンをリリースできなかった。実際、まだできていない。それが Emacs 19 で、私が着手してから 3 年になるのだが……。完成に近づいていることを望むが、それはいまだに完成していない。

 とにかく、我々がとてもスローで醜い仕事をしたので、他の人々が独自の改良バージョンを作ってしまった。それを使う人もいるが、私はそれが酷いものとは思わない。それはまた別の話である。確かに、理想の世界では我々が我々のバージョンを完全にし、誰もが我々のバージョン以外は欲しくはならない、ということなのだが。

 しかし、我々は完璧な世界にいるわけではないので、全てのユーザのニーズに応えることはできない。だから、他のユーザがそれを管理し、お互いに助け合うのは良いことだと思う。

■プログラミングとの初めての出会い、ITS と Unix

 インタビューを始めて 1 時間が過ぎた。Stallman 氏の食欲はいっこうに衰えない。驚きだ。彼は日本食を好むようだ。私は仲居さんに頼んで、熱い湯の入ったポットと、新しいお茶の葉の入った急須を用意してもらった。

中村

あなたの生い立ちについて教えてもらえませんか。

Stallman

私はマンハッタン区で育った。子供のころは穴に住んでいたとも言えるが……、これはジョーク (笑)。

 区という単語は `borough' だが、「バロー」と発音される単語は 2 つ (burrow と borough) ある。1 つ (burrow) は穴を掘ること、動物が地面に掘る穴。兎は穴に住む。確か、兎の穴に使われる単語がほかにもあったが……、今はちょっと思い出すことができない。

 多くの動物は地面に穴を掘る。しかし、綴りを変える (borough) と、それは都市の一部となるんだ。私はニューヨークの 5 区の 1 つであるマンハッタンと呼ばれる地域に住んでいた。

中村

もしよろしければ、ご両親のことや少年時代のことを聞かせてください。

Stallman

私の母はパブリック・スクールの教師で、まだ現役だよ。そして父は印刷会社を経営している。

 科学に対する私の興味は、特に私の両親とは関係ない。私は、小さい頃から、いつも数学と科学に魅せられていた。特に数学や機械にね。子供の頃から、全てのパーツを実際に見ることのできる機械に興味があった。そして、私が 10 才になる頃には、コンピュータのアイデアに魅せられていた。

 その時期の夏に、私はボーイスカウトのキャンプに行ったことがあるのだが、そこにいたカウンセラーの 1 人がコンピュータのマニュアルを持っていたのを覚えている。別の年にもそんなことが 2 度ほどあった。そのうちの 1 度は、それが 7094 のマニュアルであったことを覚えている。

中村

メインフレームですね。

Stallman

彼らはその言葉を使わなかったが、それはとても大きなもので、高価なコンピュータだった。実際、その当時作られた中で最もパワフルなコンピュータでもあった。

中村

真空管を使ったものですね。

Stallman

いや、トランジスタだったと思う。確か 709 は真空管だったが、7094 はトランジスタだったはずだ。

 そして、確かそれは 1 つのアキュミュレータと 3 つのインデックス・レジスタを持っていた。私がプログラムを書こうとしたときは、アドレスをそのまま使った。その時に見たのはマニュアルだけで、実際に 7094 を見たことはなかった。

中村

その当時は、どのようにプログラムを書いたのですか。

Stallman

それを実行してみることはできなかったので、紙の上にプログラムを書いた。その 1 つは、整数の集まりを入力し、それらの平方の和を求めるプログラムだった。コンピュータ本体をいじることはなかったが、プログラムを書くというアイデアは私を魅了した。

 そして私が高校 3 年生の時に、初めてコンピュータを使う機会を得られた。それは 360 だった。そう、それは本当に面白かった。夢中になった。

 そして私のプログラミングが始まったのだ。◆10

中村

高校にコンピュータがあったのですか ?

Stallman

いや、コンピュータは高校にはなかった。

中村

では、どこで ?

Stallman

マンハッタンにある IBM 研究所に行き、そこでコンピュータを使っていた。そして私は壮大なプロジェクトを始めた。

中村

壮大なプロジェクトとは ?

Stallman

PL/I のプリプロセッサを書いていた。私は PL/I に、ある機能を付け加えたいと考えていたから。これは馬鹿らしいアイデアのように思えるかもしれない。PL/I はすでに非常に多くの機能を持っていたからね。しかし、それでも私は新しい機能を付け加えたかった。有用な、あるいは面白いと私が思ったある機能をね。

 それでプリプロセッサを書き始めた。当時の私は、多くのプログラミング・テクニックを知らなかった。

 このプリプロセッサを動かすには、どのように設計するか……、実際にはとても醜く、ひどい設計だった。しかし、当時の私にはそれが最高のものだった。

 例えば、私はツリー構造を知らなかったので、演算式で私ができる唯一の方法は、たくさんの括弧を入れることだった。全ての演算記号に対して括弧があったほど、私はとてもたくさんの括弧を入れた。

 それから、私は『今はこの文字列である、今はこの括弧の行である、その括弧はどの括弧と対なのか』などを表すテーブルを作った。つまるところ、私は括弧の行を表現するポインタ構造を作っていたのである。

中村

誰があなたにプログラミングについて教えたのですか ?

Stallman

その頃の私は、他の種類のプログラミング言語や、他のテクニックについての本を読んでいた。それによって、これらのことをどのように扱うかについて、より優れたアイデアを得た。そのプロセッサは完成しなかったが、とても面白かった。

 最初にそれを PL/I で書き始めたので、その最初の段階だけでもかなりの量を書いたことになるだろう。しかし、最初の 2〜3 のソースファイルをなんとかキーパンチした。それだけですでに膨大で、コンピュータにはすでに入らなかったのだ。そこで私は全てをアセンブラで書き直し始めた。残念ながらそれは完成しなかった。とにかくプログラミングが楽しかった。

中村

その後、大学に行ったのですか ?

Stallman

そう。私はハーバード大学で物理学を学び、それと同時にプログラミングも学んだ。しかし、ハーバードのコンピュータ・コースはあまり強くない。

 そこで、MIT でコンピュータを使うアルバイトを始めた。私はいつしかオペレーティング・システムに魅せられていた。

中村

それにはどんな理由があったのですか ?

Stallman

その理由は、私はプログラムを使う時に、必ずそのプログラムをより良くする方法を私なりに考えるからである。それで、私はオペレーティング・システムを使うことにして、オペレーティング・システムに関してのアイデアを学び始めた。

 基本的に私は、スプレッドシートのアイデアには関心がない。なぜかと言うと、私はスプレッドシートを使わないからだ。

中村

どんな OS を使っていたのですか。

Stallman

MIT で我々は非互換時分割システム (ITS、Incompatible Time Sharing System) を使っていた。

中村

非互換時分割システムの説明をお願いします。

Stallman

一般的には、ITS と呼ばれているが、その名前には由来がある。60 年代の初期、MIT では有名なプロジェクト (MULTICS) が存在した。これは MIT で開発された有名な時分割システムで、実際それは最初の、あるいはその最初のシステムに近いものであったかもしれない。それは CTSS(Compatible Time Sharing System) と呼ばれていた。

 互換時分割システムの互換 (compatible) とは、普通の裸のマシンの状態で互換性があることを意味する。スタンドアロンで動作するために書かれたプログラムを持ってきて、それを MIT の時分割のマシンで動作させようというものである。

 そこで、AI ラボのハッカーが時分割のシステムを書くことになった。彼らはそれを裸のマシンと互換性がないようにして、その代わりに、便利なシステムコールを提供することに決めた。

 ここで重要な点は、通常の I/O インストラクションを真似て、それらをシミュレートする代わりに、特別なシステム・コールを提供するのである。それは、時分割のシステムにおいて、プログラムを書きやすくすることを目的としている。それと同時に、そのシステムが CTSS と同様の互換性を失うことを意味した。それゆえに、それは非互換と呼ばれた。

 しかし、後に他の時分割システムが同じコンピュータで開発されたときに、そのことは新しい意味を持った。スタンド・アロンのマシンと互換性がないばかりか、それは Adams10 とも互換性がなく、そしてその後には Twnex とも互換性がなかった。他の皆がこれらのマシンで使っているものは全て ITS とは互換性がなくなった。

中村

いつ頃から Unix を使い始めたのですか ?

Stallman

GNU を書き始めるまでは Unix を使ったことがなかった。GNU を書き始めたときも、Unix についての論文を読んだことぐらいで、Unix について全く知らなかった。

 私が Unix と互換性があるものを作ることを選んだ理由は、多くの人が Unix を使っていたのを見ていたからである。私がもし Unix と互換性がないものを作れば、それがどんなに良くてもほとんどの人が使わないだろう、と思った。

中村

それは、何故ですか ?

Stallman

Unix は移植性のある唯一のものだったからだ。Unix は特定のコンピュータ会社に支配されない、ただ 1 つのものだった。また、いくつかの素晴らしい機能も持っていた。

 例えば、それらは主に C のような高級言語でプログラムができるような仕様になっている。データ・タイプやフィルタのアイデアは素晴らしいものであり、私は絶対それが欲しいと思った。また、Unix はハッカーにはとても魅力のあるものだった。

 さて、私はもう 1 つの可能性を考えた。それは MIT の Lisp マシンのようなものをインプリメントすることだ。しかし、普通のマシンの汎用ハードウェアの上で、フルスピードで走る Lisp マシンのようなものをインプリメントするのはとても難しすぎると思った。Lisp マシンは特別なマイクロプログラム・コンピュータだったからだ。

中村

それは特別なチップを使うのですか ?

Stallman

いや、特別なチップではない。その CPU はワイヤーがラッピングされたボードで、1980 年頃設計されたものだ。

 その CPU は Lisp を高速に走らせるために設計され、特別なマイクロ・コードで実装されている。データ・タイプをチェックする加算命令がある。その 1 つの命令で、整数に対して正しく動作し、浮動少数点に対しても正しく動作し、無理数に対しても正しく動作し……、そのようなシステムを書くことを私は考えていたが、高速で走り移植性のある Lisp システムを私が作るのは難しいと思った。そこでその代わりに、Unix のようなシステムを作ることを決心した。

 そうすると、唯一残された問題はその名前を探すことであった。

■GNU という単語

中村

それが「GNU」ですね。どうして「GNU」になったのですか ?

Stallman

ハッカーの伝統では、既存のシステムを模倣するときには、その名前に、このシステムは既存のその他のシステムではない、ということを示す再帰的頭字語を使わなければならない。

 そこで私は Unix ではないものを探した。単語の GNU は常にユーモアの種となる。その理由の 1 つは、それが非常に変わった綴りだからである。「GN」で始まる単語は、英語の他のどこにも現れない。もちろん「G」を発音しないので、「ヌー」と発音される。

 これは、アフリカに行き、その動物 (ヌー) を見たイギリス人が、現地のアフリカ人が使う単語を発音できなかったためである。多分それは「グー」のように発音されたのだろう。それで彼らはそれを間違えて発音し、それ以来その発音が正しいと決められたのだ。 とにかく、この動物に関しては面白い歌や多くの漫画がある。つまり、それは英語の中で最も面白い単語の 1 つである。それで、GNU という単語を使うのは素晴らしいと思った。

中村

人々の反応はどうでしたか ?

Stallman

私が知る限りでは皆とても気に入っているようだし、誰も私に違う名前を選ぶべきだとは言わない。しかし、いっとき混乱を引き起こしたことがある。

 その単語の正しい発音を知っている人々は、それを「ヌー・システム」と呼ぶが、それはひどく人々を混乱させる。彼らはそのシステムが「ニュー」(新しいもの) だと勘違いするのだ。それで私は皆に、それは「グヌー」と発音するのだ、と言わなければならない。だから私は GNU で働く人を GNUsances(Nuasances= 厄介者) と呼んだりするのだ。

■日本に期待すること

中村

日本 (日本人) に対する市場的興味や、何か期待することはありますか ?

Stallman

まず、私は極めて標準的なものに関して働こうとしている。そのために、特に日本のために働くことはできない。

 一方、日本にいる多くの人々が、我々のソフトウェアを使っている。それは素晴らしいことだ。ちょうど我々のソフトウェアを使っているオーストラリアやヨーロッパ、その他のどこの国とも同様に。そして、日本での GNU の使用が増えてきていることも私は知っている。だからあえて言うなら、私は日本に対して次の 2 つのことを期待している。1 つは GNU プロジェクトへの、より多くのソフトウェアの貢献。そしてもう 1 つは基金を集めること。

 Emacs を含む GNU ソフトウェアを改良して、全ての言語をサポートするプロジェクトがある。それは重要なことであると私は思う。2〜3 年前に、日本の誰かが日本語をサポートする Emacs を作ったが、それっきりだった。私は、それは正しいやり方ではないと感じた。まぁ、我々が全ての言語の文字をサポートする Emacs を作るべきではあるのだが。

中村

そうですね。中国語、ロシア語、ユダヤ語やアラビア語などがありますからね。

Stallman

そうだ。私は GNU ソフトウェアでそれをやりたい。だが大事な点は、私は日本語だけをサポートするという中途半端なことは好きではないということだ。彼がそれを日本語だけで動くようにしたからといって、それは中国語で動くとは限らない。そして、いくつかの異なる言語を、同じファイルに入れることもできないだろう。

 それでは十分とは言えないと思う。ASCII テキストを超えることをしようとするならば、我々はずっと先に行くべきである。私は、それがどのように動くか設計した。残念ながらインプリメントする時間はなかったが。これまで 2〜3 人がボランティアを申し出た。多分最新のものではそれを実際に行なう。◆11

中村

どうしたら、フリー・ソフトウェアのアイデアを日本で広められるとお考えですか ?

Stallman

いくつかのアプローチがある。1 つはより多くのフリー・ソフトウェアを開発するために、FSF や同様な団体に与えられる基金を集める有効な方法を使うこと。もう 1 つは大学や政府支援の団体を促して、ソフトウェアをフリーにさせることである。そしてこれは、たいていのフリー・ソフトウェアが良いものである、ということを人々に信じさせるかどうかの問題となる。もしこれらのプロジェクトで働いている人々が、フリー・ソフトウェアは正しいことであると思えば、彼らは実際にそうするだろう。

 もう 1 つの方法は Cygnus 社や SRA *5 のようなフリー・ソフトウェアの商業サポートをする会社を通すことだ。サポートといってもその領域は広い。サポートが意味することは、ユーザがあなたに電話をかけてきて、あなたはユーザに対して『そうです。もしあなたが削除したいのならば、rm とタイプしてはいけません。それは愚かなことです』と返答することだ。しかし、それは新しいパワフルな機能を追加することになるかもしれない。Cygnus 社のサポートは、そのほとんどが新しい機能を付け加えることである。

 そして SRA は、日本のコンピュータ会社のために GNU ソフトウェアに新しい機能を付け加えるかなり大きいプロジェクトに従事している。

中村

日本人 (日本の会社) が手伝うベストな方法は ?

Stallman

ベストなものと言えば、それはやはりソフトウェアの構築だ。そのソフトウェアが良いものであれば、だが。

 その理由は、FSF は寄付金を募り、その寄付金をソフトウェアに変えることにあるからだ。もし君が我々にソフトウェアを寄付してくれるのならば、我々はお金をソフトウェアに変えるための手間と時間を費やす必要はない。だから、ベストなのは人々がソフトウェアを書くことなのだ。しかし、もちろんそれは彼らが良い仕事をすると仮定しての話で、そのソフトウェアを設計し、書く、という両方の点においてである。

 そして、それを残りの GNU システムに適応させる。そのやり方を知っている人々は、もし彼らがそうできるのならば、それが貢献するための最良な方法になる。

 例えば、Fortran コンパイラのフロントエンドを書いている Craig Burley がいる。Fortran コンパイラのフロントエンドと gcc のコード生成部分 (バックエンド) をインタフェースする部分を作成している。そのために彼の作業は非常に有用である。

 とにかく、大きなソフトウェアを書きたくない人々にとっては、たいへんな努力を必要とするのだから、その労力を提供したくない人々は、いくらかのお金を寄付するべきだね。それが基本的に君が寄付したいだけ寄付できる方法なのだから。それを決めるのは自分次第だ。小さな寄付でもたくさん集まればとても有用だ。それらがまとまれば、我々がもう 1 人スタッフを雇うのに十分なお金になるのだからね。我々は、近々日本に向けて、より多くの基金を集める運動をする計画なんだ。

中村

コンファレンスで、お会いした時にあなたは日本に出かける予定があるとおっしゃっていましたが。

Stallman

いや、私に協力する日本人が会いに来る予定だった。

中村

そうですか。

Stallman

日本から何人かが、私に会いにダラスに来る予定だった。

中村

ダラスに ?

Stallman

1 月の中旬にそこで開かれた USENIX のコンファレンスでね。湾岸戦争のために彼らはそれをキャンセルしたのだろう。馬鹿げたことだと私は思ったが。

中村

飛行機のテロが恐かったのですよ。

Stallman

知っている。

■ヒッピーに共鳴し長髪になる

中村

私は、何年か前に初めて写真であなたを拝見した時、何故長髪なのか、そのことが何を意味するのかということに興味を持ったのですが。

Stallman

私が GNU プロジェクトを開始した頃、私は幾人かのヒッピーのアイデアに同意することを決めた。

 その私の決心とは、大会社の退屈な仕事を拒否することと、多額の金儲けを目的とすることを拒否するということだった。その代わりに、人々と友達になり、建設的なことをして人々を助けるということだ。そして、それはヒッピーの考えの一部と同じであることに気付いた。そこで私は、ある面において自分はヒッピーであることを示すために髪を伸ばしたんだ。

中村

髪を伸ばし始めたのは、いつ頃からですか ?

Stallman

私が GNU プロジェクトを開始した 1984 年から。

中村

それ以来、髪を切っていないのですか ?

Stallman

一度だけ。ここ (肩) まで切った。

中村

私は写真の印象から、大柄なあなたを想像していました。

Stallman

時々、私の頭は大きいと勘違いされるのだが、それは単に髪の毛のせいだよ (笑)。◆12

■日本の思い出

中村

日本にいらっしゃったことはありますか ?

Stallman

9 日間だけ私は日本で過ごした経験がある。

中村

どこの都市に滞在したのですか ?

Stallman

東京と大阪。それだけでは日本をよく知っているとは言えない。私は全ての場所の歴史に興味がある。特に、ここからずっと離れた、異なる所ならなおさらだ。

 しかし、9 日間だけ滞在した日本についてはよく知らない。でも、とても気になったことがある。それは、私が東京で泊まっていた時の話だ。そのホテルはとても大きなビジネス街にあるビルディングだったが、そこから一歩も外へ出ずに歩き回るだけで生活の全てができることはとても奇妙に思えた。

 その場所は確か「サンシャインシティ」と呼ばれていた。もう 1 つ面白いことは、その名前が文字どおりに"Sunshine City" であることだ。それは英語だよね。そこは日本なのに。私は日本流の名前を期待していたのだが……。おまけに、ホテルの廊下では奇妙なテーマソングを流していたな。そのテーマソングの歌詞が「サンシャインシティ」ばかりで、しかもひどいアクセントで辛かったのを記憶している。そうそう、アクセントを間違った音節につけていたのだ。

 私は、太陽を見ることもなく一生を過ごせる場所に、そのような名前を選ぶなんて、変だなと思った。

 また、日本のレストランで働いている人々は、ほとんど軍隊のような態度だったことにも驚いた。

「はい、我々があなたを給仕いたします。喜んで、閣下」。

 ……そんな感じだったよ。

■気の利いたジョーク、ハッカー

中村

ところで、あなたの考えるハッカーの定義とは何でしょうか ?

Stallman

それには多くの意味がある。ちょうど Hack が多くの意味を持つようにね。

 しかし、AI ラボのハッカーのほとんどはそこで働いていた人々だった。彼らはプログラミングや、異なる方法でコンピュータでものを動かすことに本当に魅せられていた。彼らはハックしたかったのだ。

 ほとんどのコンピュータは、ほかのユーザがすることを支配者がコントロールしやすいように設計されている。

 ITS はハッカーによりハッカーのために設計された。だから、それは権力者が他の人をコントロールするのを許さなかったのだ。ファイルの保護は 1 つもなかった。特権化されるようなものも 1 つもなかった。誰もが同じことをできたのだ。もし君がそれを知っていたならば、君にも同じことができたはずだ。誰もがシステムをダウンさせるコマンドを実行することができたのだからね。

 そして、たまに我々が聞いたこともない不意の訪問客がこれを試みようとすれば、「本当にシステムをダウンしたいのか ?」と尋ね、そして「ユーザのためのメッセージをタイプしなさい」と言い、そのメッセージの表示が終わるころには、本当にシステムをダウンさせてしまうだろう。もちろん、他の誰かがシャットダウンを取り消すコマンドを実行することはできるが。

 つまり、もし訪問客がそういったことを無造作に行なうならば、システムは本当にシャットダウンしてしまうのだ。そうなれば、その訪問客はおそらく唖然とするだろう。そしてシステムは、「どこの誰がシステムをシャットダウンした」と告げるだろうが、それは別に問題ではなかった。

 しかし、もし君が本当にシステムをクラッシュしたくて、しかもそのやり方を知っていれば、単にカーネルにそれを与えるだけで良い。そうすれば、カーネルに変なデータを食わせて、それをすぐにクラッシュさせることができるのだ。そして、誰もがそれをすることができた。

 1980 年頃かそこらまでは、パスワードも存在せず、ネットワーク上からならば誰でもログインすることができた。それは誰もがドアに錠をかけない田舎町の家のようなものだった。

 そのために、我々は「あなたはこれらのファイルを変えることはできるが、しかし、それは許されない」、あるいは「もしあなたがそれらのファイルに触れたくても、勝手にはできない。あなたはまず私の所に来て、私にその許可を乞わなければならない」などと言うボスを持つ必要もなかった。支配者を持つということはうんざりするものだ。

 どのハッカーも権力には我慢することができないのだ。ハッカーの権力に対する反応はいつも、何人も自分を支配することはできないということである。私は賢い方法でそれをなんとかするのである。それゆえに、ハッカーはセキュリティを破ることを学んだのだ。なぜならば、セキュリティはある種の支配を意味するからだ。我々は他の人々にコントロールされたくはない。

 さて、セキュリティを破ることに魅せられている、幾人かのティーン・エイジャーがいるが、彼らが興味を持つのはそれだけだ。私は、そういうハッカーは良いハッカーだとは思わない。というのは、彼らが人生に対して良い姿勢を持っているようには思えないからだ。彼らは人生において、悪い面を強調しているのだと思う。

 むやみにセキュリティを破るのは時間の浪費であり、また何の意味があるのだろうか。もし私がある仕事をしたいが、セキュリティが私を立ち塞いでいるとする。そういう場合にのみ、私はセキュリティを破りたいと思うのだ。その意味では、私はセキュリティを破ったことがあるが。

 しかし、本当に私がしたいことは、有用なプログラムを書いて社会の役に立つことだ。私はセキュリティ破りには興味がないし、また、私が必要だと感じる時以外は、セキュリティを破ることについて考える暇もない。

 しかし、概してハッカーはセキュリティを破ることは、悪いことだとは思っていない。我々は、それが何を引き起こすかを考える傾向にある。セキュリティを破り、人々を傷つけるのは悪いことなのだ。

 たとえセキュリティを破ったとしても、害のないことをするのであれば悪いとは言えない。害のないことをするのは、悪いことではないだろう。

 規則を破るのは悪いことではないが、人々を傷つけるのは悪いことである。正しいか悪いかの決定は、権力や支配者の一任に基づいているわけではない。それは人々を傷つけるのか、あるいは助けるのか、のいずれかのみによるものだ。

 もう 1 つのハッカーの定義とは、賢いジョークの王様を意味する。

中村

賢いジョークとは ?

Stallman

例えば、特に実用的なジョーク。必ずしも下品である必要はない。それはとっぴで馬鹿らしいことでもいい。いくつか紹介しよう。

 今年 MIT に新しい校長が就任したが、彼は初出勤の日に自分のオフィスのドアを見つけることができなかった。そのドアの前に掲示板があったからだ。そして彼がようやく自分のオフィスに入ると、彼がオフィスを見つけたことを祝うノートがそこにあった。

 次に、MIT にはグレートドームと呼ばれる大きなドームがある。小さいドームもあるがね。そのグレートドームの上にいろいろな物を置くという、MIT のハッカーの伝統がある。誰もそこに物を置くことなんてことは期待していないのだが……。

 ある時、例えば、彼らはそのグレートドームの上に牛を置いた。生きた牛をだよ。またある時には、そのドームの上に電話を置き、実際にそれを繋げて、使えるようにした。そして、キャンパス・ポリスがそこに上がって調査している時に、誰かが電話をかけたのだ。

 そして別な時は、彼らはそこに家を取り付けたこともあった。そのドームの上に家をだ。これは実にうまく行なわれ、ポリスがそれを取り壊すのに手間取った。

 どうやってうまく家を取り付けたかと言うと、彼らはそれをねじ止めする時に、全てのねじの頭を内側にしたのだ。それで、そのねじをはずすポリス達は、その家の中に入らなければならなかったというわけだ。彼らは家を、まず彼らの周りに組み立て、底から持ち上げて歩き、ドームでおろしたのだ。

 またある時は、彼らはそのドームの上に乳首を置いたこともあった。その乳首の写真はプレイボーイ誌に掲載されたものだった。君も、それだけ驚く何か賢いジョークを探してみてはどうだい (笑)。

 MIT には、無限の廊下と呼ばれる長い廊下がある。ある日、ハッカー達はその廊下をハイウェイに変えた。彼らは真ん中に黄色の線を描き、たくさんの道路標識を置き、そして車をそこに置いた。その標識は全て変てこなもので、ハッキングや MIT のジョークのようなものが描かれていた。つまり、道路標識のパロディー版というわけだ。そこで、MIT の管理局はこれを 1 日そのままにしておくことに決め、次の夜ハッカーがそれを取り外した。

 私もこのようなことを、全て覚えているわけじゃない (笑)。このようなハッキングは MIT の古い伝統なのだ。それは、おそらく 100 年位存在していると思う。MIT の管理局でさえハックが好きなのだから。彼らはハッキングの歴史を発行した。MIT の公記録には何十年にもわたる数々のハックが記されている。

■真のハッカー文化とプログラミング入門言語 GNU Emacs Lisp

中村

あなたがプログラムを組む上で、今まで一番印象的だった出来事とは何ですか ?

Stallman

私がカルチャーショックを受けたことがあるか、と尋ねているのかな。

中村

はい。

Stallman

私は AI ラボがつぶれたときに、ひどい経験をした。ちょうど、ハッカーの文化が死んだときだ。1982 年。私は悲惨だった。まるで私の世界が終わったように感じられた。私自身がいわば私の文化、私のような人種の最後の生き残りのように思われた。

 そして、私は争いに巻き込まれたこともある。信条学に対する戦いだ。私は信条学を支持した人々を罰しようとした。AI ラボの文化は、信条学を形成した人々により殺されたのだ。そこで私は、彼らの競争を助長することで、信条学を罰しようとした。

中村

あなたのアイデアを理解して、一緒にボランティアに賛同する人を探すことは、とても困難なことではありませんでしたか ?

Stallman

私はあるプログラムを書き、それをリリースし、人々はそれを使い始めた。

 私はそれが良いアイデアであることを彼らに示したのだ。もしあなたがコンピュータを学び、それを本当に理解したいなら、一番良い方法は GNU Emacs のプログラミングを勉強することだ。

 つまりは Lisp プログラムを書くことを学ぶことだね。なぜって、それはやさしいからだよ。Lisp ではとてもシンプルなプログラムが書ける。そして、それは人々にとって有用なものとなり、それらが何をするのかをすぐに見ることができるからだ。

 もし君が、プログラミングとは何かを理解したいのならば、おそらくそれ (GNU Emacs のプログラミングの学習) が最もやさしい方法だろう。◆13

■フリー・ソフトウェアが崩壊する日

 ―ソフトウェア特許による世紀末―

 Stallman 氏に GNU プロジェクト以外で意欲的に活動していることは ? と尋ねたら、『ソフトウェアの特許について』と答えが返ってきた。「コンピュータ・デベロップメント '91」のコンファレンス・ブースでも、著作権とソフトウェアの特許について力説していた。この辺りについて改めて、彼のメッセージを語ってもらうことにした。

Stallman

我々がまだ話しをしていないことで、私が話すべきことは……、これはとても大事なことなのだが……。

 特許とは何か知っていると思う。ソフトウェアの特許は、ソフトウェアの分野に過激な変化を加えている。彼らはフリー・ソフトウェアを不可能にさせようとしているのだと私は思う。

 現実にアメリカでのフリー・ソフトウェアは不可能になるだろうと私は考える。2〜3 年以内に、フリー・ソフトウェアは消えることだろう。その理由は、人々がプログラムを書くこと自体が許されなくなるからである。X Window System について聞いたことがあるかな。

 私は、「ソフトウェアの特許に反対しよう」という論文 *6 を書いた。先週聞いたのだが、X Window System のほとんどのユーザは AT&T からの手紙に脅かされているらしい。彼らは X Window System の使用許可のために AT&T にお金を支払わなければならないという。X Window System はフリー・ソフトウェアだというのに。

 しかし、AT&T が特許を持っている。ウィンドウが隠れているところのウィンドウのビットを保存する、という機能に対して特許を持っているのだ。X Window System にはこの機能があるので、AT&T は許可なしに X Window System を使うことは許さない、と言っている。

 X Window System は、GNU システムの中で欠くことができないものだ。我々は GNU のウィンドウ・システムとしてそれを使う予定だったが、現状ではそれを使うことができないし、その機能を使っている別のシステムを持つことさえも許されないように思われる。これはとんでもなくひどく醜いことだ。

 そこで君がしなければならないことは……。日本の有利な点は、アメリカのように常に人々がお互いを訴えることをしないことだ。君は、日本でソフトウェアの特許を阻止する運動を伝えなければならない。そして、もし君や他の多くの人々が、それを支持するなら、フリー・ソフトウェアは少なくとも日本においては未来があるはずだ。

 多分アメリカでは、もうフリー・ソフトウェアの未来はないだろう。少なくとも日本でその未来があるのなら、生き残るだろう。

 しかし、日本でもアメリカのようにたくさんのソフトウェアの特許を主張し始めているとすれば、それが終末になるだろう。◆14

 我々が行なっているプロジェクトの全ては、つぶされるだろう。特許は 17 年も有効なのだ。もしプログラマが 17 年もの間、古いソフトウェアだけでしかプログラミングができないとしたら、いったい何ができるというのだ。

 私はほとんどの分野で国際派を自認している。私はソフトウェアを使う世界中全ての人々に向けてフリー・ソフトウェアを書こうとしている。時が経ち、このことが国際的なことになることを私は望んでいる。

 もしアメリカが、私がやっていることから何の利益も得られないのなら、とても悲しいことだ。しかし私は、それを他の国々のために継続するだろう。

 人々がコンピュータを使い、そして私の仕事を許す国がある限り。

 もしあなたがその使用許諾のために、誰かにお金を支払わなければならないのならば、私はプログラムを書かないだろう。つまり、私は多分その分野を去ることになるだろう。その代わりに、私は地下でそれを続けることになるだろう。もしそれが生き残るならばの話だが。

 しかし、それはうまくいかないかもしれない。ここでもまた同じ事が言えるが、もし地下にもぐり、バグ報告が全く得られないとすると、私の仕事はうまくいかない。

 その時点で、おそらくフリー・ソフトウェアは完全に消滅することになる。アメリカは、他の国々に無理矢理ソフトウェア特許を成立させようと努力している。彼らはこれを貿易交渉で要求しているのだ。もちろん、貿易交渉は他の討論で中断したが。農業の助成金などの討論だ。これらは GATT と呼ばれる交渉だが、アメリカはその GATT でソフトウェアの特許を押し出そうとしている。

 そしておそらく、インタフェースの特許もである。最近私は未来について悲観的になってきている。君も知っている通り、我々がフリー・ソフトウェアを作り、それをユーザのために改善するために良い仕事をし、そのために多くの人々が貢献しようとすることは明らかなのに、そのことが不法とされているのだから。

 そこで結局、日本のコンピュータ・ユーザの団体が、政治的に活発に運動を始めなければならない。彼らはこれらの問題に関して立法者に呼びかけ、日本で人々がプログラムを書くのはまだ自由であり、アメリカの圧力に屈するな、ということを発言しなければならないと思う。

 ソフトウェアにとって、単に馬鹿げているどころではなく、本当にそれ自体馬鹿げた特許があるのだ。だが、それだけが唯一の問題ではない。馬鹿げた特許でさえもソフトウェアには害である。それらは、より多くの訴訟を生み、人々は法廷でお互いを訴えることになる。

 プログラマは「自由にプログラムを書けない」ということになる。常に人々が書くプログラムが、全て特許に違反することになるからだ。そしてプログラマ自身が違反しているかどうかを判断することは、とても困難なことなのだ。

 ソフトウェアの世界で、人々はよく物を再発明する。しかし特許があると、プログラマ自身でそれを再発明したとしても、そのプログラマはそれを使うことは許されない。

 本質的には、人々がソフトウェアを開発できることが重要なのであって、特許は徳より害となるだろう。特許は概して悪い考えであるかもしれないと私は思う。多くの人々が、特許は技術をスピードアップさせるより、スローダウンさせると考えている。特許は大きな会社が競争相手をつぶすために使われるが、研究は助長されないのだ。

 皆がそれをしなかったら、特許というものはなかっただろう。例えば、「Economist」(保守的なビジネス・マガジン) は、『概して特許は悪いアイデアであるが、ソフトウェアの分野では最悪だ』というようなことを言い続けている。

 根本的に特許は、ソフトウェアを書く自由を奪うものだ。特許になったアルゴリズムがあることを、想像してみるといい。プログラマは、そのように動くプログラムを書くことはできないのだ。

 そして、もし特許になったアルゴリズムが、よく知られたものの変形、あるいはスピードアップではなかったとする。そこで、もしあなたがそのアルゴリズムをスピードアップさせようとしたら、単にそのことだけで訴えられるだろう。

 もし我々が、たまたま特許になったテクニックを使おうとすれば、我々はそれを秘密にしておくことはできない。

 誰かが著作権のあるソフトウェアを作ろうとする。彼らはソース・コードを公開しない。そして、彼らは特許になったアルゴリズムを使うかもしれないが、誰もそのことに気付かないし、疑わないだろう。

 しかし、もし我々がそれを使うなら、人々はそれに気付いてしまうだろう。そればかりか、特許ライセンスの項目には、それぞれのコピーに対してお金を支払うことが記されているので、我々はライセンスを得ることもできない。その上、コピーがいくつ存在するかも知らないので、もし我々がそのコピー分のお金を集めることにでもなれば、それはもはやフリー・ソフトウェアではなくなってしまうのだ。◆15,16

 ……食べあきたのかな ? それとも、日本人の感覚では、ここの食べものはあまり良くないのかな。残すのなら、未知である我々西洋人の胃におさめさせてほしいね。

 私は、彼の話に夢中になり、箸を置いていたのであった。

■GNU デスクトップ・プログラムと Oleo マーガリン

中村

どうもありがとうございました。

 ところで最近の日本では、「ユーザ・インタフェース」ということが流行になっていますが、エンド・ユーザに対するグラフィカルなユーザ・インタフェースについて、どうお考えですか ?

Stallman

私が従事しているプログラムでは、いまだグラフィカルなインタフェースを取り扱ったことはない。それには 2 つの理由がある。1 つは、私自身がそれを必要としないからだ。私は視覚指向の人間ではない。どちらかと言うと、抽象思考になりがちなのだが、そのせいか、多分ほとんどの人々が必要とするグラフィカル・インタフェースを欲しいとは思わないのだ。しかし、もう 1 つの理由は、私はほとんどウィンドウ・システムを使ったことがないからだ。

 GNU プロジェクトの最初の 2〜3 年間、私は文字ベースの普通の端末で仕事をしていた。私がワークステーションを使うようになったのは、その 2〜3 年後だ。

 また、コンパイラに関する仕事をしていると、グラフィックスなどは必要ないのだ。コンパイラにはグラフィック・インタフェースなどついてこないしね。それは馬鹿げているよ。我々が、使いやすいユーザ・インタフェースを学び、サポートするのは大切であるとは思うが。私は、Apple は我々を訴えて、我々のプロジェクトを中止させることがないことを望んでいる。我々は現在デスクトップ・システムの開発を計画している。

 残念ながら、それを開発する予定の人は、当初の予定に反して Emacs バージョン 19 の仕事をしなければならなくなった。Emacs バージョン 19 をやっていた人が去ったのでね。そのため、デスクトップのプログラムは、今は何も進んでいない。しかし、我々がそれを開発することは重要なことだと思う。

中村

アプリケーション・ソフトウェアをお作りになる予定はありますか。

Stallman

我々は現在、あるアプリケーションに取り組んでいる。それはスプレッドシートである。それは、Oleo と呼ばれている。中村

Oleo? どのような意味ですか ?

Stallman

オーレオ・マーガリンだよ。

中村

どのように発音するのですか ?

Stallman

「オーレオ (Oleo、O-L-E-O)」。それは、高価なスプレッド (バター・スプレッド) より良いオーレオ・マーガリンを縮めたもの。そこで我々の Oleo は、値段の高いスプレッドシートよりも良い、と言うわけだ。

中村

ロータス 1-2-3 に何か関連があるのですか ?

Stallman

Oleo は、カスタマイズができるスプレッドシートで、ユーザの好きなようにキーを設定することができる。ロータス 1-2-3 のキー設定を真似るために、2〜3 ページのファイルを与えられるようにしてある。その方が我々開発者としても容易だからね。

 そして、もし我々がそれを実際に真似てしまうと、彼らは我々を訴えるに違いない。そのことは、今では不法だからね。これがどんなにひどいことか理解できると思うが。

中村

はい。

■NeXT 社と MS-DOS について

中村

協力体制の感じられる NeXT 社については、どのように考えていらっしゃいますか ?

Stallman

NeXT 社に関しては、私は複雑な感情を抱いている。彼らがある程度我々と協力したのは良いことだし、また、彼らが我々のソフトウェアを使っていることにも私は幸せを感じる。

 しかし、私は彼らに対して大きな期待を持つことはない。彼らが書くほとんどのソフトウェアは著作権化されているからだ。我々は作るに値するソフトウェアの開発においては、誰とでも一緒に仕事をするだろう。彼らがすることにかかわらず……。

 しかし、すなわちそれが、私が彼らに対して良い感情を抱いている、ということではない。我々は、正しくないと思われることをしている多くの会社と一緒に仕事をしている。しかし、彼らが我々と一緒に喜んで働く限り、我々は彼らと一緒に仕事をするだろう。

 ところで NeXT 社は、彼らが「自動待ちカーソル」(automatic waitcursor) と呼んでいるものに対してソフトウェア特許を申請している。君は興味があるかもしれないね。

 そのアイデアというのは、プログラムが何かを実行状態の時に、カーソルが砂時計か時計か何かに変わって、マシンは今忙しいということを示すものだ。

 そして、プログラムが再び入力を受け付ける用意ができたときには、それは元のカーソルに戻る。私はそれ以上詳しいことを知らないが、彼らはこれで特許を取ろうとしている。これは、誰もがインプリメントしようとするかもしれない些細な機能だよ。

 Lisp マシンではプログラムが走っている時は、画面上にあるバーが常に黒くなる。ある点においては、これはほとんど自動待ちカーソルのようなものだ。考えてみると、このように我々が、彼らの特許を無効にできるチャンスが少しはあると思う。

 一方、そのカーソルは、画面上の線と同じではないかもしれない。さて、特許事務所は、誰かがこれから特許を取りたいものと、すでに特許とされているものとの間に、とても細かい区別をしようとする。そこで我々が、特許事務所に Lisp コンピュータにはコンピュータが動作している時は、常に画面上に黒くなる点がある、ということを示したとしても、特許事務所はこれは異なるものだと言うかもしれない。

 そして 1 つの疑問が浮かぶ。彼らのメカニズムがどのように動くのか、正確にはわからないということである。私は、彼らがいつプログラムが動作し、いつそれが自動待ちしているのかを探知するために、コンピュータをどのように設定しているのかを知らない。ウィンドウ・システムと一緒に、カーネルが動作する特別な方法が特許になっているのかもしれない。

 とても多くの特許が存在するがゆえに、我々が書きたいプログラムのほとんどが不可能になるということだ。これは重要で、かつ明白なことである。なぜならば、特許がどこかに潜んでいるからだ。

中村

では、MS-DOS についてのお考えは何かありますか ?

Stallman

私はそれを使ったことがないし、私がそれについて聞いたことは、全て悪いことばかりだ。ゲームをするために使ったことはあるが。

■GNU ソフトウェアのサポート会社に抱く複雑な思いと GNU のメッセージ

中村

ソフトウェアのサポートについては、どのような思想がありますか ? また、Stallman 氏は、Cygnus 社のサポートに対してどのようにお考えですか ?

Stallman

もし君がどうしてもというのなら、答えてもいいが……。

中村

是非。

Stallman

Cygnus 社のサポートに関しては、複雑な感情を抱いている。サポートを売るアイデアは合法であると思う。特に私は、人々がサポートを売ることを可能にするために「GNU 一般公有使用許諾書」(GNU General Public License) を設定した。フリー・ソフトウェアのサポートを売ることが、ビジネスとして成功しているのは良いことだと思う。

 その一方で心配していることもある。というのは、根本的に私は、人生における人間の目的は、お金を稼ぐことであるとは思わないからだ。

 人間は、生きるためにお金を稼ぐ必要がある。そして、そのお金を稼ぐために人々ができることのいくつかは、合法であると思う。それについては何も悪いことはない。そしてフリー・ソフトウェアのサポートを売る、ということはその 1 つである。

 人間は、お金を稼ぐことを目的にするべきではない。彼らはより高い目的を、彼らができる範囲内での目的を忘れてはいけない。

 さて、生きるためにただひたすら一生懸命に働かなければならない人々がいるが、彼らはしなければならないことをしているのだ。そのことに対して、私は彼らを非難することはできない。しかし、アメリカにいるプログラマは、明らかに他の目的を考えることができる。ぜいたくなものだ。

 それについて彼らは考えるべきだろう。私は、Cygnus 社が「どのようにフリー・ソフトウェアで生計をたて、皆のためにフリー・ソフトウェアを改善するのを助けられるか」の代わりに、「どのようにフリー・ソフトウェアからより多くのお金を儲けることができるか」にあまりにも焦点をあてていることを少し心配している。

 これによって引き起こされる可能性のある問題がある。あなたが GNU ソフトウェアに何をさせたいのか、という質問に関係がある。

 私の目的は、いつも完全なオペレーティング・システムを生み出すことであり、それにより、フリー・ソフトウェアだけでコンピュータが動くということだ。そうなれば、コンピュータのソフトウェアは全てフリーになるだろうし、それはそのまま永遠に生き続けるだろう。(フリーではないという意味の) 著作権のあるソフトウェアは二度と現れない。

 それで私の目的は常に、より多くの機能を付け加えようということになる。もっと多くの異なる機能、もっと多くのアプリケーション、などを用意しようと。

 もちろん、我々はいまだ完全な GNU システムがない。それで現在、Emacs や GNU C コンパイラ、デバッガなどのような、GNU ソフトウェアを人々が使うことができる唯一の方法は、Unix システム上で走らせることである。

 さて、Unix システムは GNU ソフトウェアとの互換性が完全にあるというわけではない。これは、かなり大量の仕事になることを意味する。Unix システムのユーザは、それぞれが自分のマシンで GNU ツールを動作させたいわけだから、GNU ソフトウェアが全種類の Unix システムをサポートできれば、それがいちばん望ましい環境だと考えているのだろう。

 しかし、私の立場から見れば、それは時間の浪費だ。例えば、各々のコンピュータは、それぞれ異なるファイル・フォーマット、あるいはプログラムを持っている。私にとって、サポートに値する唯一のフォーマットは、GNU システムで使うフォーマットだ。それとは違うフォーマットのサポートでは、GNU システムにどんな機能も付け加えられないだろう。我々は GNU システムにおいて、そのフォーマットを使わないからである。

 一方、私が言っている『異なるフォーマット』を使う Unix ユーザは、自分に合った対応を望んでいる。そのようなユーザとは、Cygnus 社にお金を支払う人々のことだ。

 そこで Cygnus 社は、多くの種類のシステム上でプログラムを走らせるために、それがいろいろなオプションを持つような形にしている。私には、そのようなことはプログラムをより複雑にするだけとしか思えない。それでは、プログラムを管理する上でさらに仕事が増えることになる。私が懸念しているのは、次の 2 つのことだ。まず 1 つは Cygnus 社がそのような仕事をするにつれて、それが GNU プロジェクトを強く推し進めて行く方向とは、違う方向へ向かうことである。

 第 2 の問題点は、私が人々へ送ろうとしている GNU プロジェクトのメッセージが失われるかもしれないということである。

 そのメッセージとは、社会に貢献することによって良い市民になろうということである。お金儲けだけに全精力を注ぐな、ということだ。そのかわりに、自己の利益より崇高な法則を学んでほしい。ソフトウェアを書き、そのソフトウェアをフリーにする理由は、それが社会とより良く共存するからである。

 私が心配なのは、人々がそれとは異なるメッセージを Cygnus 社から得るかもしれない、ということだ。つまり、フリー・ソフトウェアの開発でお金儲けができるということだ。もちろん、フリー・ソフトウェアからお金を儲けるのは良いことかもしれないが、私は彼らに、お金を儲けることよりも、崇高な何かを考える、というこのメッセージを受け取ってほしいのだ。以上が、私が Cygnus 社について思うことだ。

■フリー・ソフトウェアはパブリック・ドメイン・ソフトウェアやフリーウェアとは違う

中村

ありがとうございました。よく文献などで拝見していますが、GNU はパブリック・ドメインではない、ということについてコメントをください。

Stallman

OK。パブリック・ドメインという単語は、法的な用語で、それはとても正確な意味を持っている。著作権で保護されていない、という意味だ。だから、GNU システムは一般的にはパブリック・ドメインではない。著作権があるからね。

 この著作権の理由は、我々が copyleft を持つことができることと同じである。だから、私はフリー・ソフトウェアという言葉を使い、パブリック・ドメインという言葉を使わない。しかし、パブリック・ドメイン・ソフトウェアはフリーである。もしあなたがコピーを手にするならば、それをさらにまたコピーすることができるよ、という意味でね。

 しかし、他の人々はパブリック・ドメインのプログラムを取り上げ、改良し、その著作権を得ることができる。それはちょうど、公園に置いてあるベンチを誰かが取り上げて、自分の家に置くようなものである。それが、パブリック・ドメインに対する私の見解である。 一方、私がすることは、公園にベンチを置き、それに『このベンチは公園のここになければいけない』と注意書きを貼ることだ。なぜならば、そのベンチの目的は、公園をより素晴らしくすることにあるからだ。

 『もしこのベンチを改良したいならしてくれ、しかし、あなたはそれを公園内で改良しなければならない。そしてそれは皆のために、また公園のためになされなければならない』ということだ。

中村

フリー・ソフトウェアは、フリーウェアと同じ解釈でしょうか ?

Stallman

いや、フリーウェアは違う意味を持つ。フリーウェアは、人々がコピーするのはフリーなプログラムのことで、それにはソース・コードが付かないことがよくある。私は、ソース・コードが付かないソフトウェアは、フリーではないと思う。

 それを指摘するのに、上手い言い方をする人々がいる。彼らはこう言うのだ。もしそれがソース・コードではないのならば、それはソフトウェアではない、と。

中村

商用ソフトウェアはソース・コードを公開すべきだ、とお考えですか ?

Stallman

君が言うところの商用が、ソフトウェアだけでビジネスをしている、という意味なら、私は商用ソフトウェアは、フリー・ソフトウェアであるべきだと思う。実際は、ほとんどの商用ソフトウェアはフリーではない。それは、主にソース・コードが付かず、再配付も許されない。

 私は両方とも悪いと思う。全てのソフトウェアはフリーにするべきである。全てのソフトウェアには共有する自由があり、また改変する自由もあるべきだ。それはソフトウェアに限らず、有用な情報や皆の生活など、全てにおいてだ。

 あるいは、少なくとも他の人々を傷つけないで、ある人々を豊かにする情報。そういった情報はフリーであるべきだし、誰もがそれを共有し、改善するのを止めるべきではない。

 個人によるコピーが可能な時代、情報テクノロジーの時代に、情報を所有するのは時代遅れだ。人々がお互いに協力する自由がないのであれば、人々は自由になることはできない。そして、我々にデジタルの情報を与えるテクノロジーの変化はまた、人々が情報をコピーし、変えることができる自由を必要としている。

■5 年前に考えた今と、今考える 5 年後

中村

ありがとうございました。ところで 5 年後のあなたはどのような生活をされていると思いますか ?

Stallman

わからない。5 年前、私は物事が今日のような姿になることを予測することはできなかったからね。私に未来を予測することは頼まないでくれ。あまり得意とすることではないから。

 例えば、私は 5 年前に FSF がこのように大きくなるだろうとは予想していなかったし、また、FSF がテープの注文からこんなに多くの利益を得ることも予想しなかった。FSF は、そのほとんどが寄付で運営されると思っていたよ。

 過去 2〜3 年の間に、我々は大型マシンの寄付を受けてきた。しかし、我々が手にする金額のうち、その 4 分の 3 はビジネス経営から入ってくる。個々の GNU のコンポーネントがどれだけ商業上受け入れられるか、これも全く予想できなかった。

 私と 2〜3 人のハッカーとで、たくさんのプログラムを下書きしていき、そしていずれ完全なシステムを持ち、さまざまな人がそのシステムを走らせるであろうと考えていた。

 そして、小さなコンピュータ会社が興味を持ち、結局彼らはオペレーティングシステムの開発に手間取りたくないために GNU を使うのではなかろうかと私は予測していたのだ。そう、GNU は、そのような形で注目されるだろうと私は考えていたのだ。

 しかし、現実には大きな会社が GNU を喜んで採用し、それを彼らのシステムの一部として使っているように思われる。

 GNU のコンポーネントを彼らのシステムで使っている……。明らかに、私はこれらのものがどうなるかを予想することができなかったのだ。また、私は未来を予想することに興味がない。

 私は、単にソフトウェアを共有するコミュニティを作ること、そしてそのコミュニティを可能なだけ大きくさせることに興味があるだけだ。しかし、それがどれだけ大きくなるかは重要な問題ではない。私にとって最も重要なことはそのようなコミュニティがあり、そしてその中に私が居られることだ。そして、そのコミュニティに誰かが入りたいと望めば、誰もがその中に入ることができる。

 さらに、もしそれが世界中の全てを取り込まないまでも、私はそれが失敗だったとは思わないだろう。もし、私がソフトウェアを改善し続けるための重要なコミュニティを作ることができれば、私は大成功したと言えるだろう。

■Richard の使命感

中村

はい。わかりました。あなたのパワーの源は何ですか ?

Stallman

何が私を駆り立てるのかって ?

中村

ええ。

Stallman

それは、自由な良い社会になるために戦っている気持ちと、その感覚だと思う。よく聞いてもらいたい。私は世界を救いたいのだ。私は正しいことをしたいのだ。私は人々に、正義やお互い助け合うことについて考えてもらいたい。

■C 言語などに関して思うこと

中村

GNU は、C 言語が中心になっていますが、処理系についてはどのようにお考えですか ?

Stallman

私は C に対して、熱烈なファンではないが、それは認める。C は良いものだとは思うが、人々があまりにもたくさんのルーチンを彼らのプログラムに付け加え、そのためにスピードダウンしている段階にあると思う。

 私のバックグラウンドは Lisp である。Lisp では、我々はそのためにだけ必要なデータ構造を設計しないようにしている。その代わりに、汎用性のある基本的なデータ構造を 2〜3 取り入れている。そして、これらのデータ構造を混ぜ合わせたり、一緒にしたりして、我々が欲しいものを組み立てる。

 つまり、ある 1 つの特別な目的のために、プログラミングによって定義されたデータ構造を設計する代わりに、いくつかのリスト、文字列、配列、シンボルを採用し、それらを一緒に使い、問題を解決するのだ。

 以上が、私が処理系について思うことである。また、私は演算子のオーバー・ローディングについてもあまり関心はない。オーバー・ローディング。それは、同じ演算子にいくつかの異なる意味を与えることだが、私にしてみれば、それはちょうどシンタックスのように思われる。関数名をもって、その関数名を書く方が良い。なぜ演算子が必要なのか。でも、そう感じるのもまた、私の Lisp のバックグラウンドのせいだろう。Lisp ではたくさんの演算子はなく、関数のみだからね。

■Richard から読者へ

中村

脈絡のない質問をしてしまったようですが、それぞれにお答えいただき感謝いたします。最後に記念写真をとりたいのですが。

Stallman

かまわないよ。根本的にそれは日本人の儀式なのだろうね。

 できれば、君のつくる単行本にこのバッジを写してくれないか。または、これからステッカーを作ってほしい。あるいは、「Apple から買うな !」という言葉をつけてくれるともっと良い。

 今夜は、私を楽しいディナーに招待してくれてどうもありがとう。特にこのようなおいしいディナーにね。

中村

こちらこそ、忙しい時間を割いていただいてありがとうございました。

Stallman

単行本ができたら、私のところまで送ってほしい。

中村

ええ、もちろん。

 サンフランシスコの長い坂に止めてある車まで、彼と肩を並べて歩いた。ドアを開け、彼は『See you again』と言って、私に背を向けた。小柄な彼の後ろ姿に、改めて光を感じた。

 Stallman 氏の言う「copyleft」は「賢いジョークの王様」なのかもしれないと、彼の車が霧の中を走り出した頃考え始めた……。


■Fortran コンパイラαテスターの募集

1.αテストの目的

2.フロントエンドとバックエンドとの結合テスト

 条件 次の質問のすべてに「はい」と答えた人は、αテスターの資格があるので burley@gnu.ai.mit.edu まで連絡を乞う。

質問 1.

Unix ベースのシステムを使っているか ?

質問 2.

GNU C のソース・コードを ftp で入手し、自分のシステムでコンパイル (3 段階) し、正しく動作するかどうかを簡単にチェックする。この一連の作業を 8 時間以内でこなすことができるか ?

質問 3.

20M バイトの空き領域がディスクにあるか ?

質問 4.

f2c の最新ソース・コードを入手し、インストール、チェックする。この作業を 4 時間以内にできるか ?

質問 5.

次の文を正しく理解できるか ?

"ftp to fubar.gnu.ai.mit.edu, login as fortran-luser, password XXX, get file F920728.tar.Z and extract the sources as usual"

質問 6.

GNU Fortran のソース・コードを自分のシステムにコピーした場合に、ほかからの入手希望の要求を拒否できるか ?

質問 7.

GNU Fortran のソース・コードをながめて、設計方法や実現、コーディング・スタイル、変数名のつけ方などが自分の信ずる規則と違っていた場合に、虚礼なしに方法を論じ合えるか ?

質問 8.

コンパイルと実行が正しいかどうかを調べる目的のために、Fortran の適当なテスト・プログラムを作成して調べ、冷静に、ほかのαテスターにバグを報告し、さらに原因を追求しようとするか ?

質問 9.

ANSI Fortran 77 の規格書を持っているか ? 完全に理解しているか ? あるいは最低限、自分が完全に理解していない点を自覚しているか ?

質問 10.

 次のプログラムが与えられた場合、

PROGRAM WHINE
COMMON /X/I
CALL SUB1(I)
PRINT *,I
END

SUBROUTINE SUB1(J)
J=5
CALL SUB2
END

SUBROUTINE SUB2
COMMON /X/K
K=6
END

GNU Fortran(f2c を含む) 以外の 20 個のコンパイラが、このプログラムをコンパイル、実行し、その結果 6 を出力した。GNU Fortran では 942 を出力するか、あるいは暴走するが、これはバグではない理由を理解しているか ?(規格書を参照してもよい)

質問 11.

 次のようなプログラムがある。

PROGRAM MOAN
DOUBLE PRECISION PI
DATA PI/3.1415926535989325/
PRINT *,PI
END

ほかの 20 種類のコンパイラは 3.1415926535989325 を出力するが、GNU Fortran は 3.14157432311023 を出力する。これもバグではないが、その理由を理解しているか ?

質問 12.

 人々が期待している振る舞いと違う動作を、GNU Fortran が行なっている場合、

作成者や共作者に報告したいと考えるか ? その際、コンパイラに関する文書やソース・プログラムの修正部分を作成者や共著作者へ提供すること。

質問 13.

 コンパイラの修正コードの著作権を与える (テスターの著作権放棄の意) という覚書にサインし、同じものを所属組織からも入手できるか ? これは、必要に応じて、どのような変更の所有権をも放棄するという性格の書面である。

質問 14.

 任意だが、コンパイラの賞賛によって、αテスターとしての面目を施し、自身の作業に対する大きな報酬として名誉を受けたい、と言えるか ?

質問 15.

 それでもαテスターに応募するか ?

質問 16.

 継続して好きなロックバンドは何か ?(もちろん、この質問には正解はないが)


「copyleft」は賢いジョークの王様だ 【脚注】

*1

…「The C Users Journal Japan」#5(1990 年 2 月 18 日発行) より「C JOURNAL」No.5(1990 年 3 月 18 日発行) まで、13 回にわたり掲載された連載記事。第 1 部を参照のこと。

(以降、◆や * で始まる傍注は編著者のコメントである)

◆1

ドキュメント…この本がコピー・フリーになれば、GNU のマニュアルを除く日本で初めてのコピー・フリーの出版物となるだろう。さらに、オンラインにて配布すれば、初めての試みになる。先日書店を覗いたら、GNU Emacs の日本語訳マニュアルが 20 刷にもなっていたが……。

*2

…GNU Emacs Manual は、米国では FSF からの配布テープにファイルとして、また、GNU ftp マシンから anonymous ftp にて入手可能であり、しかも書店からの購入も可能である状態 (後述も参照) を指す。商用 BBS には投稿しない。

◆2

性善説の 1970 年代…この時代はお互いの顔が見えていたし、価値観が同じであったので、すべてを公開しても、想定した使い方が基本的にはなされていた。悪用されることはなかったのである。別の言い方をすれば、性善説が通用していた時代と言えるだろう。

◆3

prep というホスト名のマシン…1989 年に prep という名の DEC VAX 11/750 が MIT の AI ラボ、7 階にあった。BSD Unix が動作しており、最新のソース・コードが置いてあった。anonymous ftp マシンである。この当時、ワークステーションが主流となっていたので、既に相対的に遅かったこのマシンは、ファイル・サーバとして用いられていた。富士通のハードディスクがたくさん接続されていた。当時、直接 Richard のところへ GNU ソフトウェアのコピーをいきなり依頼してくる人がいた。当然彼は忙しく、つきあっている時間などない。その人にログイン名を教えてから、直接 prep にログインしてテープにコピーして持っていくように、と言っていた光景を思い出す。

◆4

copyleft のアイデア…copyleft はコミュニティの発展を促すためのアイデアであることが、このインタビューからわかるだろう。ところで Richard は、興味ある比喩をよく用いる。思いつくものをあげると、

などである。

◆5

FSF の事務所…テープやマニュアルの配布、電話の問い合わせ窓口を、セントラル・スクェアのビルの地下の一室で行なっている。そこが FSF の事務所である。それ以外に開発用の作業室が MIT の AI ラボ、4 階に 3 室ある。そのうちの 1 つが Richard の居室である。深夜の 1 時ともなるとプログラマが集まり、最も活気に満ち満ちたひとときとなる。

◆6

GNU Fortran コンパイラ…最近、GNU Fortran コンパイラのαテスターを 5〜6 人募集していた。その条件は厳しいが比較的よく考えられたものなので、それをこの章の最後に紹介しておく。

◆7

GNU カーネル…CMU Mach マイクロカーネル向けの Unix サーバ「Hurd」を、プロジェクト GNU で作成中である。当初のターゲット・マシンは Intel 社 i386 である。

*3

…Unix System V をベースに BSD Unix の機能を入れた HP 社の Unix のこと。

*4

…Free Software Foundation が発行している、フリー・ソフトウェアを保護するためのライセンス。

◆8

リコーダー…ボストンでは、時々Richard のリコーダーを聞いた。よく非常口の階段で演奏していた。Richard が出張の際も、時々ポケットに入れていた。

◆9

チーム・プロジェクト…Ghostscript もチーム・プロジェクトであろう。本体を保守する人と、フォントを整備する人がいる。ループの展開最適化パスが、GCC バージョン 2 に導入されている。Emacs バージョン 19 のリリースはまだない。現在作業中である。片や、19 の特徴であるマルチスクリーンの機能を採り入れたローカルな Emacs が作成されている。それが Epoch と lemacs 19 で、両方とも X Window System 専用の GNU Emacs である。

◆10

初めてのプログミング言語…Richard は、高校の時に独学でプログラムを作成していた。MIT の Sussman 教授は、ある企業の夏の「学生講習会」で初めてプログラミングを経験した、とのことである。そういえば、大昔、初めて Fortran プログミングの基礎を NHK のコンピュータ講座で学んだことを懐かしく思い出した。

◆11

複数の言語をサポートする GNU Emacs を作成しているプロジェクトが日本で進んでいる。Mule という名前の GNU Emacs である。

*5

…(株)SRA という日本のソフトウェアハウス。

◆12

ちなみに、rms は (本当は) おしゃれである。以前、写真を撮りたいと頼んだら、「ちょっと待ってね、シャワーを浴びてから」と答えた。しばらくしてからの夕方、「もう準備できた ?」と確認 (催促) すると、「まだ。シャツを着替えるから」と言って着替えのためにまた自室に引き返した。部屋の前でカメラを抱えて待っている (待ちくたびれている) と、見た目にはそれほど変わらない服装で出てきた。ほかの機会では、彼が USENIX で GCC のチュートリアルを教える時に、雑誌の記者から写真を撮らせてほしいと頼まれていた。案の定、彼は、「今日はちゃんとした格好していないから、明日ね」と答えていた。

◆13

GNU ソフトウェアのコーディングの方針やアイデアを学ぶなら、GNU Emacs Lisp のソース・コードを読むことが有用だろう。Richard は GNU Emacs Lisp によるプログミングを勧めている。さらに AWK を使ったプログラミングも勧めたい。時々、GNU Emacs Lisp や AWK のプログミングで、楽しみながら半日つぶしてしまこうとがある。

*6

…Stallman 氏が書いた論文、「ソフトウェアの特許に反対しよう」(Against Software Patents)。(第 3 部参照)

◆14

ここで触れている X Window System の特許は、バッキング・ストアという技法である。ソフトウェア特許の出願件数は、米国よりも日本の方が多いのではないだろうか ? ただそれが表面化して問題にならないだけなのでは ? その意味では日本も世紀末なのか ? この問題が浮上してくると、特許を多く獲得している会社だけがプログラムを書けるのか ? ロイヤリティと称してお金を払わないとプログラムが自由に書けないのか ? フリー・ソフトウェアが完全に消滅する方向ヘ確実に進んでいるような気がしてならない。

◆15

本書のほかの欄外でも述べたが、バークリー校がコピー・フリーとして配布していたソフトウェアに対して、最近 USL は Unix のソース・コード・ライセンスを要求し出した。具体例としては、そのフリー・ソフトウェアをベースに BSD を販売している BSDI 社と UCB が USL から訴えられている。そのために、このフリー・ソフトウェアをベースにしていたその他のプロジェクトが軒並み中止となっている。Mach マイクロカーネル向けの BSD サーバである BNRSS(Berkeley Network Release Single Server) がそうである。本当に困ったものである。

◆16

日本では、近年、フリー・ソフトウェアの類が Unix の世界だけでなくパーソナル・コンピュータの世界にも急速に普及しているが、利用するばかりで問題視もなければ防備もなく、こういった世情にはいまだ無関心にも見える。これも困ったものである。