第六章 Emacsコミューン


1970年代のAIラボは、あらゆる意味で特殊な場所だった。先端的なプロジェクトやトップクラスの研究者が、コンピュータ科学の世界でAIラボに栄誉ある地位を与えていた。ラボ内のハッカー文化とアナーキーなポリシーが、反逆的で神秘的な雰囲気をかもしだしてもいた。その後、ラボの科学者やソフトウェアのスーパースターの多くが去って行って初めて、ハッカーたちは彼らがかつて住んでいた世界のユニークさとはかなさに気づいた。

「それはエデンの園みたいなものだったんです」とストールマンは言い、ラボと1998年のフォーブスの記事に見られるソフトウェア共有の気風を要約する。「協力し合わない、なんてことは思いもよりませんでした。」[1]

こうした、いささか極端な神話めいた語り方は、ある重大な事実を強調している。545テック・スクウェアの9階は、多くの人々にとって職場以上のものだった。ストールマンのようなハッカーたちにとって、そこは我が家だった。

「我が家」という言葉は、ストールマンの語彙の中では重い言葉だ。今でも両親を痛烈に批判するストールマンは、ハーヴァード時代に住んでいた学生寮であるカリアー・ハウス以前に我が家があったことを認めない。また、彼はこの我が家を去るときのことを悲喜劇的な調子で話すのを常とした。あるとき、ハーヴァード時代のことを話しているとき、ストールマンは唯一悔やまれるのは、放り出されたことだと言った。ストールマンになんで追放されるはめになったのかと聞く前に、私はストールマンの古典的な舞台設定のなかに踏み込んでいることに気がついた。

「ハーヴァードには、余りにも多くのクラスをパスした者に出て行くように求める、という方針があるんです」とストールマンは言う。

寮を失ったが、ニューヨークに戻るつもりもなく、ストールマンは、グリーンブラット、ゴスパー、サスマンや彼以前の多くの他のハッカーたちが切り開いた道をたどっていった。MITの大学院生になり、ストールマンはケンブリッジの近くにアパートの一室を借りたが、やがてAIラボそのものを彼の事実上の我が家とみなすようになった。1986年の講演で、ストールマンはこの頃のAIラボの記憶を呼び戻している。

ぼくはたいていの人より多くラボで暮らしていたかもしれません、というのは毎年とか一年置きくらいに、ぼくにはアパートがなくなって、ラボで何ヵ月か暮らすことになったからです。そこはとても居心地がいいんです、夏は快適で涼しいしね。でも、ラボで寝泊りしている人を見かけるのは全然珍しいことでありませんでした。熱くなってしまうわけです。ハックしていられる間は帰らないんです、途中でやめたくないからです。それで、完全に力を使い果たしたら、いちばん手近で軟らかな平面に上がっていくんです。とてもくだけた雰囲気でした。[2]

ラボの我が家的な雰囲気は時として問題にもなった。そこを学生寮と見る人もいたが、電子的阿片窟とみなす人もいた。1976年の著書『コンピュータ・パワー―人工知能と人間の理性』で、MITの研究者ジョセフ・ワイゼンバウム(Joseph Weizenbaum)はこうした「コンピュータ浮浪者」(ワイゼンバウムはAIラボのようなコンピュータルームにたむろするハッカーたちをこう呼んだ)をこっぴどく批判した。「彼らのしわくちゃな衣類、洗っていない頭髪、鬚を剃っていない顔、といていない髪、いずれも彼らが自分の体や自分が活動している世界に無関心なことを物語っている」とワイゼンバウムは書いた。「[コンピュータ浮浪者たちは]およそそれに没頭しているときは、コンピュータによってまたコンピュータのためにのみ存在している。」[3]

出版から四半世紀も経つのに、未だにストールマンは、ワイゼンバウムが「コンピュータ浮浪者」と書いたことを聞くと腹を立て、そのことをワイゼンバウム自身が今この部屋にいるかのように現在形で論じる。「彼は人々にただのプロになってほしいんです。そのプロとは、できれば近寄りたくないし、さっさと忘れたいと思っているようなことを、金のためにするような人間です」とストールマンは言う。「彼が正常な事態とみていることは、ぼくに言わせれば悲劇です。」

だが、ハッカーの生活にも悲劇がないわけではない。ストールマンは、自分が週末ハッカーから、フルタイムのAIラボの住人になるに至った経緯を、ハッキングの幸福感でしか癒すことができなかった、一連の痛ましい不運のためだと言う。ストールマン自身が言うには、最初の不運は、ハーヴァードを卒業したことだった。物理学の研究を続けようとして、ストールマンはMITの大学院生になった。この大学を選んだのは自然なことだった。ウィリアム・ショックレー(36年卒)、リチャード・ファインマン(39年卒)、マレー・ゲルマン(51年卒)といった、MITの偉大な卒業生たちの足跡をたどるチャンスが得られるだけでなく、2マイルほど離れたところに、AIラボとそこの新しいPDP-10コンピュータがあった。「ぼくの関心はプログラミングに向っていましたが、まだ両立できるんじゃないかと思っていました」とストールマンは言う。

昼は大学院レベルの科学分野に精を出し、夜はAIラボという僧房の中でプログラミングしながら、ストールマンは完璧なバランスをとろうとした。この優等生のシーソー生活の支点になっていたのは、フォークダンス・クラブ(the Folk-Dance Club)との毎週の外出だった。それは、ささやかながら異性と交流できる社交上の窓口だった。だが、MITでの1年目の終り頃、災難が見舞った。ストールマンはひざを痛めてダンスを止めなければならなくなったのだ。初め、ストールマンは怪我を一過性の問題と見て、ダンスに行って友人と語らい、好きな音楽を聞いた。まだひざが痛み、授業が再開されようとしていた夏の終り頃、ストールマンは心配し始めた。「ひざはちっともよくならなかったんです」とストールマンは回想する。「すると、ダンスを永久に止めなければならなくなります。心に穴あく思いです。」

寮もダンスもなくなり、ストールマンの社交生活はしぼんでしまった。ダンスは彼が女性と出会い、時にはデートすることに成功する唯一の場だった。もうダンスができないのは充分につらいことだが、それはまた、もはやデートもできないことを意味するように思われた。

「つまり、すっかりエネルギーがなくなってしまったと感じました」とストールマンは回想する。「ぼくには、目の前にあって一番気をひかれること以外のことは、何をするエネルギーもなくなっていました。何か他のことをするエネルギーは失せました。ぼくは、完全に落ち込んでいました。」

ストールマンはさらに世界から身を退き、AIラボの仕事に全面的に集中した。1975年10月、彼はMITを退学し、物理から手を引いた。二度と研究に戻る気はなかった。かつて趣味だったソフトウェアのハッキングが、天職になった。

このころを振り返り、ストールマンは、フルタイムの学生がフルタイムのハッカーになったのは必然的だったと見る。遅かれ早かれ、コンピュータハッキングというサイレンの呼び声は、他の専門性を追求することへの関心を圧倒しただろう、と彼は信じている。「物理や数学では、ぼくはどうしたら貢献できるか分かりませんでした」と、ひざを痛める前の奮闘ぶりを回想して、ストールマンは言う。「これらの分野のいずれかで自慢できるほど進歩することもできたかもしれませんが、どうすればいいのかは皆目分かりませんでした。どこから始めればいいかも知りませんでした。ソフトウェアなら、走らせて役に立つようなものを書く正しい方法が分かりました。それが分かっていることが嬉しくて、それをもっとやりたいと思うようになりました。」

ハッキングを快楽と同一視したのはストールマンが最初ではなかった。AIラボを構成していたハッカーの多くが、同様な、達成されなかった学問的な経歴を自慢にしていた。多くが、数学や電子工学の学位を求めてやって来たが、学問的な経歴や専門への野心を、今まで誰も取り組んだことのない問題を解決することの興奮と引き換えにした。神学大全の執筆に長時間取り組んだために、ときどき霊視に到ったとされる聖トマス・アキナスのように、ハッカーたちは、ひたすら精神を集中し肉体を消耗させることで、超越的な内部状態に達した。ストールマンはドラッグに手を出さなかったが、多くのハッカーと同様、彼も20時間に及ぶコーディング祭りの終りごろに訪れる「ハイ」な状態を楽しんだ。

だが、おそらく一番喜ばしい感情は、個人的な達成感だった。ハッキングにかけては、ストールマンは申し子だった。子供のころから真夜中に勉強する習慣があったので、彼は少ししか寝ずに長時間働くことができた。10歳の頃から社会から締め出されていたので、独りで働くことには何の困難もなかった。そして、生まれつき論理や洞察に長けている数学者のように、ストールマンには、多くのハッカーたちが時間を空費していた設計上の障害を回避する能力があった。

「彼は特別でした」とAIラボの教員で、1985年以来、自由ソフトウェア財団の役員をしている、ジェラルド・サスマン(Gerald Sussman)は回想する。ストールマンを「明解な思索家で明解な設計者」と評するサスマンは、ストールマンを1973年と1975年のAI研究プロジェクトに誘った。どちらも、人間のエンジニアがするような仕方で回路図を解析できるAIプログラムを作成することを目指していた。プロジェクトには、同じ課題に人間がどうアプローチするかについての(サスマンが供給する)理解はもちろん、特にAIアプリケーションのために作られたプログラミング言語、Lisp(リスプ)の専門的コマンドが必要だった。1975年のプロジェクトは、依存に基づく後戻り(dependency-directed backtracking)または真理の維持(truth maintenance)と呼ばれるAI技術を開拓した。それは一時的な仮定を事実と仮定することで構成されていた。もしも、それらが矛盾に導けば感知(noticing)し、もしも、それが生じれば、適切な前提を再考する。

これらのような公式のプロジェクトで働いていないとき、ストールマンは自分の時間をいくつかのペット・プロジェクトに当てた。それはラボのソフトウェア基盤を改善しようというハッカーの最良の関心事から発したもので、この時期のストールマンの最大のペット・プロジェクトの一つが、ラボのエディタ・プログラムTECO(ティーコ)だった。

1970年代のストールマンのTECOに関する仕事の話は、後にストールマンが自由ソフトウェア運動で発揮するリーダーシップと密接に結びついている。またそれはコンピュータの進化の歴史の中で重要な一段階でもあるので、この進化を簡単に要約しておく必要がある。1950年代から1960年代にかけて、コンピュータが初めて大学内に登場したとき、コンピュータのプログラミングは信じ難いほど抽象的な営みだった。マシンと対話するのに、プログラマは一連のパンチカードを作った。各カードは、個々のソフトウェアコマンドを表していた。次にプログラマがカードを中央システムの管理者に渡すと、管理者はカードを1枚ずつマシンに挿入し、マシンが新たに一組のパンチカードを吐き出すのを待った。プログラマはこのカードを出力として解読するのであった。「バッチ処理」として知られるこのプロセスは煩雑で、時間を要した。それはまた権威の乱用を助長した。初期のシステム管理者が、どのジョブに優先権を与えるかを指示する権限を持っていたことが、ハッカーが集権化を生来毛嫌いする原因の一つだった。

1962年、AIラボの前身であるMITのプロジェクト、MACに関わっていたコンピュータ科学者とハッカーたちは、この不満を解消するための一歩を踏み出した。当初は、「時間どろぼう」として知られていた、タイムシェアリング(時分割)は、複数のプログラムがマシンの動作能力を利用することを可能にした。テレタイプをインターフェースにすることで、一連のパンチ穴ではなく、実際の文字によってマシンと対話できるようになった。プログラマはコマンドをタイプし、マシンが生成する出力を1行ずつ読んだ。

1960年代の終わり頃、インターフェースの設計がさらに飛躍した。スタンフォード研究所に勤務していたダグ・エンゲルバートは、有名な1968年の講義で、モダンなグラフィカルインターフェースのプロトタイプをお披露目した。コンピュータにテレビをとりつけ、エンゲルバートが「マウス」とあだなをつけた位置指示装置をつけ加えることで、この科学者はMITで開発されたタイムシェアリングシステムよりずっと対話的なシステムを創造した。ビデオディスプレイを高速プリンタのように使うことで、エンゲルバートのシステムは、ユーザが画面の中でカーソルを動かし、カーソルの位置がコンピュータによりリアルタイムに更新される様を見られるようにした。ユーザーは突然、画面のどこにでも文章を配置できるようになった。

こうした技術革新が商品市場に現れるまでには、さらに20年を要した。だが、1970年代には、表示端末としてはビデオ画面がテレタイプにとって代り始め、行単位ではなく、フルスクリーンで編集する機能への潜在能力を作りだした。

このフルスクリーンの機能を利用した最初のプログラムの一つが、MIT AIラボのTECOだった。TECOはText Editor and COrrector(テキスト編集・修正プログラム)の省略表記であり、ハッカーたちが、ラボのPDP-6マシンのために、旧式のテレタイプ用行エディタの機能を向上させたプログラムだった[4]。

TECOは旧式のエディタよりかなり改善されていたが、まだ欠点があった。文書を作成して編集するのに、プログラマは1回の編集を指定する毎に、一連のコマンドを入力しなければならなかった。これは抽象的な手続きだった。キー入力の度に文章を更新していく現在のワープロとは異なり、文章を変更するだけでも、TECOは、ユーザに拡張された一連の編集コマンドと「コマンドの終り」を表す一連の文字を入力することを要求した。しばらくすると、ハッカーは大きな変更を1つのコマンド文字列で行うまでに習熟していったが、後にストールマン自身が指摘したように、この手順は「目隠ししてチェスをするのに匹敵する精神的技量」を要した[5]。この手順を軽減するために、AIラボのハッカーたちは、画面を分割してテキストとコマンド文字列を表示するシステムを造った。しかし、こうした革新的なハックによっても、TECOで編集するには熟練と計画を要した。

TECOはこの頃コンピュータの世界に出回っていた唯一のフルスクリーンエディタではなかった。1976年にスタンフォード人工知能研究所を訪れたとき、ストールマンはEという編集プログラムに出会った。このプログラムにはある内部機能があって、それによってユーザは各コマンドをキー入力した後で表示される文章を更新することができた。1970年代のプログラミングの言葉で言えば、EはWYSIWYGエディタのはしりだった。「見たとおりのものが手に入る(what you see is what you get)」の省略表記であるWYSIWYGは、背後にいるエディタプログラムによって作業をするのではなく、ユーザが表示されている文章の中を移動することでファイルを操作できることを意味した[6]。

このハックに影響されたストールマンは、MITに帰ると、TECOの機能を同様な仕方で拡張する方法を探した。彼はカール・ミケルソン(Carl Mikkelson)が書き、それを起動する二つのキー入力の組合せから命名した、Control-RというTECOの機能を見つけた。ミケルソンのハックは、TECOを通常の抽象的なコマンド実行モードから、より直感的なキー入力ベースのモードに切り替えるものだった。その唯一の欠点は、それが画面を5行分しか使わず、実際に使うにはあまりに非効率だったことだ。ストールマンはこの機能が画面全体を効率よく使用するように実装し直し、次にこの機能を繊細かつ大胆に拡張した。彼はTECOのコマンド文字列つまり「マクロ」をキーに割り当てられるようにした。上級のTECOユーザは、以前からマクロをファイルに保存していた。ストールマンのハックにより、その呼び出しが素早くできるようになった。その結果、ユーザによるプログラム可能なWYSIWYGエディタができあがった。「これが真の突破口でした」とその当時の同僚でAIラボのハッカーだったガイ・スティール(Guy Steele)は言う[7]。

ストールマン自身の記憶によれば、マクロのハックはさらなる発明の爆発を引き起した。「誰も彼もが自分用に再定義したスクリーンエディタコマンドのコレクションを書いていました。自分がよく行いそうなこと全てに対するコマンドです」とストールマンは後に回想している。「みんなはそれらを回覧して、改良し、より強力に、より汎用的にしていきました。再定義されたコマンドの集まりは、しだいに一人前のシステムプログラムになっていきました。」[8]

非常に多くの人々がマクロというイノベーションの便利さに気づき、それを自分のTECOプログラムに取り込んでいったために、TECOエディタはマクロに霊感を受けたマクロマニアには二次的なものになった。「ぼくらは心の中では、それをエディタではなく、プログラミング言語に分類し始めていました」とストールマンは言う。ユーザーはこのソフトウェアをいじったり、新しいアイディアを交換することに快感を覚えていた[9]。

この爆発から2年後、発明の勢いが不具合な副作用を生み始めた。この爆発的な成長は、ハッカーの協調的アプローチのわくわくするような有効性を示したが、非互換性をもたらすようにもなった。「バベルの塔効果が現れたんです」とガイ・スティールは言う。

この効果はそれを生み出した精神を殺そうとしていた、とスティールは言う。ハッカーがITSを設計したのは、プログラマが知識を共有し、お互いの仕事を改善することを容易に行えるようにするためだった。それは、他のプログラマのデスクに座り、プログラマの仕事を開いて、彼のソフトウェアの中に直接コメントや修正を行うことを意味した。「誰かに何かのプログラムやデバッグの仕方を教えるとき、端末の前に座って、彼らの代りにそれをやって見せるのが一番簡単な場合がよくあります」とスティールは説明する。

マクロ機能は、2年目以降、この長所を損い始めた。この新しいフルスクリーン機能を熱心に取り込もうとしたハッカーたちは、TECOを自分版にカスタマイズしていったために、他のハッカーの端末の前に座ったハッカーは、どのマクロコマンドが何をするのかを理解するのにいつも最初の1時間を費すようになった。

これにいらだったスティールは、自分でこの問題を解決しようとした。4つの異なるマクロパッケージを入手し、最も便利なマクロコマンドを文書化した図を作り始めた。図に指定した設計を実装していく内に、スティールの言によれば、ストールマンの注意を引いた。

「彼はぼくの肩越しにのぞいてきて、何してるの、と聞きました」とスティールは回想する。

ストールマンと余り交流のなかった穏やかなタイプのハッカーのスティールにとって、この記憶は今でも突出している。他のハッカーの肩越しに仕事をのぞき見ることは、AIラボではふつうのことだった。ラボでのTECOのメンテナであるストールマンは、スティールの仕事を「面白い」と思い、それを仕上げようと直ちに乗り出した。

このプロジェクトの新しい名前、Emacsは、ストールマンに負っている。Emacsは、「編集用マクロ(editing macros)」の省略記法だが、これは2年前にマクロが爆発したときに起った進化上の卓越性を含意していた。そしてそれは、ソフトウェアプログラムの名前辞書の隙間を利用したものでもあった。ITSのプログラムに文字"E"で始まるものが存在しないことに気づいて、ストールマンはEmacsを選んだ。こうすると、自ずからプログラムを1文字で参照するようになる。またしても、ハッカーの効率性への情熱が、その痕跡を残したことになる[10]。

もちろん、全員がEmacsに乗り換えたわけではなかった、または直ぐに乗り換えたわけではなかった。これまで通り、ユーザーは、TECOベースのエディタを手入れして走らせ続けることができた。しかし、Emacsは、ある部分を他人が変更しないで使っているときにも、置き換えたり追加したりすることがとても簡単にできる設計だったので、たいていは、Emacsに乗り換えたほうが良いことに気付いた。

「一方で、ぼくたちはもう一度、一様性のあるコマンドセットを作ろうとしていましたが、他方では、これを開かれたものにしておきたかったんです。なぜなら、プログラム可能であることは重要なことだったからです」とスティールは回想する。

するとストールマンは別の問題に直面するようになった。ユーザたちが何かを変えたが、その変更をコミュニティの他のユーザに伝えなかったら、バベルの塔効果が他のところで再現するだけだろう。技術革新の共有というハッカーの教義に回帰するべく、ストールマンは利用上の規約を定めた一文をソースコードに埋め込んだ。行った拡張については全てを送り返すという条件で、ユーザは自由にコードの変更や再配布をしてよい、というものだ。ストールマンはそれを「Emacsコミューンへの参加」と名づけた。TECOがただのエディタ以上のものになったように、Emacsはただのソフトウェアプログラム以上のものになった。ストールマンにとって、それは社会契約だった。このプロジェクトを文書化した1981年の覚書に、ストールマンはこの契約条項をはっきり書き記していた。「Emacsは、」と彼は書いた、「コミューン的な共有を基盤として配布される。それは全ての改良を取り込んだ上で再配布されるために、全ての改良が私に送り返されることを意味する。」[11]

オリジナルのEmacsは、PDP-10コンピュータ上でのみ動いたが、まもなく他のコンピュータのユーザーもEmacsで編集することを欲した。爆発的イノベーションが十年間続き、数多くのEmacs風プログラムが生まれたが互換性はまちまちだった。Emacsコミューンのルールはそれらに適用されなかった。それらのコードは分離されていたからだ。その幾つかは、ストールマンのオリジナルのEmacsとの関係をユーモラスな再帰的名称で引用した。Sine(Sine is not Emacs; SineはEmacsに非ず)、Eine(Eine is not Emacs; EineはEmacsに非ず)、Zwei(Zwei was Eine initially; Zweiは始めEineだった)。オリジナルがそうだったように、本物のEmacsはユーザーのプログラミング可能性を提供しないといけなかった。類似のキーワードコマンドを持つが、ユーザがプログラム可能でないものは「作り物の」Emacsと呼ばれた。例えば、Mince(Mince is Not Complete Emacs; Minceは完全なEmacsに非ず)がそれだ。

AIラボではストールマンがEmacsを開発している一方で、他の所では、ハッカーコミュニティを不安にさせる開発があった。1979年にブライアン・リードがスクライブに「時限爆弾」を仕込み、ユニロジック社がソフトウェアへの未払いユーザーのアクセスを制限することを可能にしたのは、ストールマンにとって悪い前兆だった。「彼はそれを生涯で目撃した最もナチス的な出来事だと考えていました」とリードは回想する。リードはユーズネットのalt階層の共同創始者として、後日インターネットで名声を博することになったが、それでも、彼は、1979年にしたことの償いは未だ終っていない、少くともストールマンの目から見れば、と言う。「彼は全てのソフトウェアは自由でなければならない、また、ソフトウェアに課金するような企ては人類に対する犯罪だと言っていました。」[12]

ストールマンにはリードの取引きを食い止める力はなかったが、ハッカー精神に悖ると思われる他の行動形態を抑えることはできた。オリジナルEmacsの中心的なコードメンテナとして、ストールマンはその権力を振るって政治的効果をもたらそうとし始めた。パスワードをめぐるコンピュータ科学研究所の管理者とのいざこざの最終段階で、ストールマンはソフトウェア「ストライキ」を開始し、研究所のコンピュータのセキュリティシステムを拒否するまで、研究所のメンバーにEmacsの最新版を送付するのを断った[13]。これは制裁措置というより、ジェスチャーだった。なぜなら、彼らが自分でインストールするのを止めさせるものは何もなかったのだから。しかし、真意は伝わった。ITSシステムにパスワードをつけることは、非難と反発をもたらすのだ。

「多くの人がぼくに腹を立てていました、ぼくが彼らを人質にとっているとか、彼らをゆすっている、とか言ってね。ある意味では、ぼくはそうしていました、」後日、ストールマンは作家のスティーブン・レヴィに語っている。「彼らが広範な人々に対して狼藉を働いていると考えて、ぼくも彼らに対して狼藉を働きました。」[14]

しだいに、Emacsはハッカー倫理を売り込むための道具となった。ストールマンがソフトウェアに埋め込んだ柔軟性は、協調を促進するだけでなく、それを要求した。Emacsの最新の進化についていっていなかったり、自分の貢献をストールマンに送り返していないユーザには、最新のブレークスルーを見逃すリスクがあった。このブレークスルーは多岐に渡っていた。20年後には、GNU Emacs(1984年に開始した2度めの実装)のユーザはEmacsを極めて多様な用途のために改造したので——スプレッドシート、電卓、データベース、ウェブブラウザのために利用した——その後のEmacsの開発者たちは、その融通無碍な機能性を表すのに、溢れかえるシンク(overflowing sink)、と呼んだ。「これこそぼくらが伝えたかったアイディアなんです」とストールマンは言う。「それが内に秘めていた素材の多さは驚異的で、恐しいほどだったんです。」

AIラボのストールマンの同期たちは、さらに寛大だ。1970年代にサスマンと仕事をしたMITの大学院生で、後に自由ソフトウェア財団の設立委員としてストールマンを補佐したハル・エイベルソン(Hal Abelson)は、Emacsを「間違いなく絶品」だと言う。プログラマに、システムを台無しにせずに、新しいソフトウェアライブラリや機能を追加する手段を与えたことで、ストールマンは将来の大規模で協調的なソフトウェアプロジェクトへの道を整えたのだ、とエイベルソンは言う。「その構造が堅固なので、ゆるく結びついた世界中の人々が、それに貢献できるんです」とエイベルソンは言う。「私の知る限りでは、それ以前にこんなことはなかったと思います。」[15]

ガイ・スティールも同様の賞賛を表明する。現在サン・マイクロシステムズの研究者である彼は、ストールマンを、なによりも「バグの少ないコードを大量に生み出す能力がある最高のプログラマ」として記憶している。性格は完全に噛み合ったわけではなかったが、スティールとストールマンは、スティールがストールマンの強烈なコーディングスタイルを垣間見られるぐらいの期間は協働したことがあった。彼は1970年代の終り頃の有名なエピソードを思い出す。そのとき、この二人のプログラマは協力して、エディタの「整形」機能を書いた。当初のスティールの想定では、整形はキー入力で起動する別機能で、Emacsのソースコードを整形し、読み易く、場所もとらないようにし、さらにプログラムのWYSISIG度を向上させるものだった。この機能は戦略的なものだったので、ストールマンの強い関心を引き、スティールがそれを書き上げる前から、彼とストールマンはその改良版を計画していた。

「ある朝、ぼくらは席につきました」とスティールは回想する。「ぼくがキーボードの前にいて、彼はぼくの肘のところにいました、」とスティールは言う。「彼は間違いなくぼくにタイプさせるつもりでしたが、タイプする内容にも口を出しました。」

このプログラミングセッションは、10時間に及んだ。この間ずっと、とスティールは言う、彼もストールマンも、休憩も、おしゃべりもしなかった。セッションの終る頃には、彼らはこの整形用ソースコードをハックして100行以下にまで切り詰めていた。「ぼくの指はずっとキーボードの上にありました」とスティールは回想する、「でも、二人のアイディアが画面に流れ込んでいくような気がしていました。彼がタイプする中身を言い、ぼくがそれをタイプしました。」

このセッションの長さには、スティールはAIラボから帰ろうとするときまで気づかなかった。545テック・スクウェアのビルの外に出たとき、彼は辺りが真暗になっているのに驚いた。プログラマとして、スティールは長時間のコーディングセッションには慣れていた。だが、今回のセッションでは何かが違った。ストールマンとの作業はスティールに、全ての外的な刺激を排除して、手元の課題に全ての精神的なエネルギーを集中することを強制した。振り返って、スティールが言うには、ストールマンの心には、心を高揚させると同時に怖気づかせるものが混ざり合っていることに気づいた。「この後、まず思ったのは、これがすごい経験、とても強烈な経験だったということでした。そして、もう二度とごめんだ、ということでした。」

後注

  1. Josh McHugh, "For the Love of Hacking," Forbes (August 10, 1998) ジョッシュ・マクヒュー「ハッキングが好きだから」『フォーブス』誌(1998 年 8 月 10 日号)を参照。

  2. ストールマン(1986年)参照。

  3. Joseph Weizenbaum, Computer Power and Human Reason: From Judgment to Calculation (W. H. Freeman, 1976) (ジョセフ・ワイゼンバウム『コンピュータ・パワー―人工知能と人間の理性』、サイマル出版会、1979年、秋葉忠利訳)を参照。

  4. ジャーゴンファイルによれば、TECO という名前は当初テープ編集・修正プログラム(Tape Editor and Corrector)を表していた。[訳注:「テープ」とは当時の入出力装置である「紙テープ」のこと。]

  5. Richard Stallman, "EMACS: The Extensible, Customizable, Display Editor," AI Lab Memo (1979) リチャード・ストールマン「EMACS: 拡張可能、カスタム化可能なディスプレー・エディター」AI ラボ・メモ(1979 年)を参照。私の引用は、このメモを更新した HTML 版からのもので、以下で参照できる。

    http://www.gnu.org/software/emacs/emacs-paper.html

  6. Richard Stallman, "Emacs the Full Screen Editor" (1987) リチャード・ストールマン「Emacs フルスクリーンエディター」(1987年)を参照。

  7. 同書

  8. 同書

  9. 同書

  10. 同書

  11. ストールマン(1979年): #SEC34 を参照。[訳注: 注5で参照しているメモの脚注に、この配布に関する文章が見られる。]

  12. 1996年のオンライン・マガジン『MEME』誌とのインタビューで、ストールマンは、Scribe売却の件にはうんざりだと漏らしたが、リードの名前には触れようとしなかった。「問題は、誰もこの学生の行為を咎めたり、罰しようとしなかったことです」とストールマンは言った。「その結果、他の人々も彼にならおうという気にさせられたんです。」『MEME』誌2.04を参照。

  13. Steven Levy, Hackers(Penguin USA [ペーパーバック]、1984)(スティーブン・レビー『ハッカーズ』、工学社、1987 年、松田信子、古橋芳恵訳)を参照。

  14. 同書

  15. この章を書くに当たって、私はソフトウェアとしてのEmacsの意義より、その社会的な意義に焦点を当てることにした。そのソフトウェアとしての側面についてもっと読みたいという向きには、ストールマンの1979年のメモをお勧めする。特に、「インストールされるツールの開発による研究」という節(#SEC27)がお勧めだ。この節は、技術的な知識のない読者でも近寄ることができ、ストールマンの政治哲学とソフトウェアの設計哲学がいかにからみ合っているかを明らかにしてくれる。以下に一部引用しておく。

    慎重な設計という手順をたどるのではEMACSには到達できなかっただろう。なぜなら、こういう手順では始めから見えていて、何が望ましいのかについても、始めからきっちり決められているようなゴールにしか到達できないからだ。私がそれをつくり出すまで、私を含め誰も拡張可能なエディターなど夢想だにしていなかったし、それを体験するまでその価値を評価することもなかった。今EMACSが存在するのは、到達点の見えない道をたどる内に、私が個人的に便利だと思う小さな改良を遠慮無く行っていったことによるのだ。