Diligence,Patience,and Humility

努力、忍耐、謙遜


Larry Wall
ラリー・ウォール
Translation by Akira Kurahone



 我われのPerlコミュニティでは、格言を好んで使う。そういった格言の一つに、「物事のやり方は一つではない」と言うのがある。この格言はPerlコミュニティの真理である。また、Perlそのものにも当てはまる。そして、本書の各章で明らかにされるように、オープンソースコミュニティにも当てはまる。私は、ここでオープンソースの効用のすべてを語るつもりはない。それは、英語が役に立つ理由を説明しようとするようなものである。ただ、Perlの現状と今後についてなら多少は語れると思う。
 こんな格言もある。「プログラミングの三大徳目は、無精、短気、傲慢である」。Perlの偉大なプログラマたちは、それらの徳目を信奉している。オープンソースの開発者たちもそれらの徳目を信奉している。しかし、ここでは別の徳目−すなわち、努力、忍耐、謙遜−について語ることにしよう。この三つが前の三つと正反対のように思えたとすれば、そのとおりである。一つのコミュニティが相反する徳目を同時に受け入れられるはずがないと思う読者は、Perlの話にもう少しつきあってもらいた。なんと言っても、物事のやり方は一つではないのである。
 書き言葉は、短気から生まれたのではないだろうか。あるいは、無精からかもしれない。書き言葉がなければ、相手とじかに会って話し合うしかなかっただろうし、誰かに頼んで自分の意志を伝えてもらうしかなかっただろう。また、記憶しておかない限りは、以前に言われたことを思い出すすべもなかっただろう。しかし、人びとは書き言葉によって記号を編み出した。記号は、その象徴するものについてコミュニティが同意しうる場合、様々な物事を象徴することができる。こうしてみるとやはり、言語はコミュニティの人びとの同意なくしては成り立たないことになる。言語は一つの集団が同意しうる対象であり、一つのコミュニティをくくる一つの記号なのである。ほとんどの記号はこんなふうに機能している。
 それでは、いくつかの記号について考察してみよう。



 右記の記号をよく観察してほしい。これは円と呼ばれている。これは、円として、これ以上の円がないほどの円である。とても美しく、とても均整がとれていて、とてもシンプルである。
 あなたが物事を単純に言い換える質の人なら、なんだ、ただの円じゃないかと言うことだろう。そして、あなたが本当に物事を単純に言い換える質の人なら、それは光量子の集まりに他ならないと言うだろう。しかし、ここではそちらの方向に話を進めない。光量子の話をしても理解の助けにならないからである。
 あなたが物事を単純に言い換える質の人ではないとすれば、上記の円は孤立した存在ではない。それは、他の多くのものとの関係において存在している−つまり、他の多くのものによって存在意義を決定されている。このシンプルな円を理解するためには、それをとりまく状況を理解しなければならない。要するに、現実について何かを理解しなければならない。
 そういうわけで、現実のイメージについて考えてみよう。



 我われがよく知っていることだが、現実とは乱雑な状態を指す。
 右記の図は多くの現実をイメージさせる。それは飛びまわる空気の分子をイメージさせる。経済状態をイメージさせる。この部屋にいる人間のありとあらゆる結びつきをイメージさせる。人類の代表的な言語の様相をイメージさせる。あなたの会社の情報システムをイメージさせる。WWWをイメージさせる。無秩序と複雑さをイメージさせる。
 右記の図は、人類の言語を手本にしているPerlの構造をイメージさせる。実際、人類の言語が複雑なのは、それが現実を扱わざるを得ないためである。
 我われはみな、なんとかして現実に対処しなければならない。そこで、物事を単純化して考えるのだが、単純化しすぎることがよくある。
 そして、人類の祖先は物事を単純化しすぎてしまった。彼らは、神の創造物は円形と球形だけであると考えて自分自身を納得させ、複雑なものよりも単純なものを好むのが神のつねであると考えた。そして、現実が思った以上に複雑であることがわかると、彼らは、その複雑さを周転円の理論に当てはめて一時しのぎをした。つまり、彼らは無用の複雑さを生み出してしまったのである。これは重要なポイントである。宇宙は複雑だが、無駄に複雑なわけではない。
 人類はいまだに物事を過度に単純化している。証拠をあげればきりがない。宇宙論をむやみに単純化するのが好きな人もいれば、神学をむやみに単純化するのが好きな人もいる。コンピュータ言語の設計者の多くは、言語を単純化しすぎて、この世の複雑なところの面倒をすべてプログラマに押し付けている。
 雑然とした中にパターンを見つけだそうとするのは人間の本能だが、そのようなパターンを探すとき、我われは実際には存在しないパターンを見出してしまうことがある。とはいえ、真のパターンが存在しないという意味ではない。雑音を消すことのできる魔法の杖が見つかれば、信号はすぐに見えてくる。アブラカダブラ……。次に描かれているのはビッグバンの形であり、天体の形であり、シャボン玉の形である。



 次に描かれているのは立体の形であり、塩の結晶の形であり、三本の木の幹の間の空間の形である。



 次はアリ塚の形であり、クリスマスツリーの形であり、三つの要素からなるものの形である。
 言うまでもないが、そこにパターンが存在することがわかりさえすれば、色がなくてもだいたいの形を想像することができる。



 人間の脳はそのようにできている。
 さて、読者諸氏は、人間の脳がどうした、とお考えのことだと思う。実は、あなたの脳はPerlをプログラミングするようにできているのである。私はたったいま英語を使って現実を単純化しようとしているが、人は誰でも複雑なことを単純にしたいという強い欲求を持っている。そしてPerlは、それを可能にさせてくれる新しいツールなのである。私が英語を使って現実を単純化できるのは、英語が乱雑な言語だからである。
 これは重要なことであるが、ちょっと理解しにくいことでもある。英語は乱雑だからこそ、我われが現実と呼ぶ、これまた乱雑な世界をうまく描写することができる。同じように、Perlも(できるだけ精密なやり方で)乱雑になるように設計されている。
 乱雑だから乱雑なものをうまく描けるというのは、我われの直観に逆行していて理解しにくいので、ちょっと説明をつけ加えよう。エンジニアになるための教育を受けた人は、偉大なエンジニアリングはシンプルなエンジニアリングであるという考えをたたきこまれている。我われは、シンプルさと美しさを尊重するように教えられ、鉄道の溝脚橋よりも吊橋のほうを高く評価するように教えられている。それはそれでかまわない。私だって円は好きである。しかし、複雑さはかならずしも害を与えるものではない。大切なのは複雑さや単純さではなく、この二つをどのようにとりもつかである。



 何かを成就するためには、ある程度の複雑さが必要である。一説によると、サターンV型ロケットは七百万の部品でできており、そのすべてが機能しなければならなかったそうである。しかし、それはかならずしも真実ではない。部品の多くは重複していたからである。とはいえ、一九六九年に人類を月に着陸させるという目標を達成するためには、この重複が絶対に必要だった。したがって、ロケットの部品の一部が重複という仕事を担っていたとすれば、それらはやはり各自の役割をまっとうしなればならなかったのである。(ミルトンの言ったとおり)立って待っているだけの者でも役には立っている、というわけである。
 「それは無駄だ」という意味で「重複している」と言うのは正しくない。重複はかならずしも「無駄」ではないからである。ロケットにおいても、人間の普通使う言語においても、コンピュータ言語においても、重複かならずしも「無駄」ではない。それより単純さのほうが、しばしば成功の妨げになる。
 たとえば、私が世界征服を望んでいるとしよう。単純さを第一に考えれば、私は独力で世界を征服すべきである。しかし、現状から判断して、世界を征服するには他人の力を借りなければならない。そして他人というのは非常に複雑である。実のところ、私は人間の複雑性を一つの機能と見なしている。他人どうしの結びつきはそれ以上に複雑である。ふだん、私はそれも機能として考えている。しかし、それらはときとしてバグであったりする。他人の結びつきをデバッグすることはできるが、人間そのものは機能と見なすほうが賢明である。人間をデバッグしようとすれば、相手を不愉快にさせるだけだ。
 前述のとおり、複雑さの中には無益なものもあれば有益なものもある。次の図は、有益な複雑さの実例である。



 いまこれを読んでいる読者のほとんどは、西洋の表記法をひいきにしているはずなので、表意的な表記法はやたらと複雑だとお思いだろう。ひょっとして、この概念は前述の概念と同じくらい複雑だとお思いかもしれない。しかし、これもまた一種のトレードオフなのである。この場合、中国語は憶えやすさと交換に移植性を手に入れたということである。少しはわかりやすくなっただろうか?
 実際のところ、中国語は単一の言語ではない。中国語は五種類ほどの主要言語からなっており、それぞれの言語どうしでの会話は不可能である。それなのに、筆記してしまえば、どの主要言語の人でも読むことができる。私はこれを移植可能言語と呼んでいる。より高度な抽象化を選択した中国語の表記法は、単純化よりも伝達の用途に合うようにできている。中国に住む十億の人びとは、全員が話し言葉で通じ合うことはできないが、少なくとも文書のメッセージを交換することはできる。
 コンピュータも文書のメッセージを交換するのが好きである。コンピュータにおけるメッセージの交換を我われはネットワークと呼んでいる。
 今年、私は、ユニコード(Unicode)とXMLに取り組んだことで多くのことを考えさせられた。十年前、
Perlはテキストの処理が得意だった。テキストの古い定義のもとでは、現在のPerlはテキストの処理がもっと上手になっている。しかし、「テキスト」とは何かの定義は、ここ十年あまりの間にPerlのもとを離れて変化し始めている。
 それはすべてインターネットのせいだと言ってよい。



 ブラウザのボタンをクリックすると、コンピュータがメッセージを交換したがるようになる。さらに、コンピュータは、それらのメッセージを文化間の境界線を越えて交換したがる。コンピュータの画面に現われたものをあなたが理解しようとするように、コンピュータも、これから画面に現われようとしているものを理解しようとする。まさかと思うかもしれないが、コンピュータはそれをきちんとこなすのが好きなのである。コンピュータはまぬけなやつかもしれないが、いつだって−いや、たいていの場合は−従順である。



 そこでユニコードとXMLに出番がまわってくる。ユニコードは万国共通の一連の表意文字であり、世界中のコンピュータはそれを使ってメッセージを回覧しあうことができ、立派な仕事をするチャンスをつかむことができる。ユニコードの表意文字の中には、ASCIIを始めとする様々な国で使用されている文字セットと同じものも含まれている。しかし、それらの言語を全部憶えられる人間は世界中を探してもいない。全部憶えられる人間がいるとは誰も思っていない。私はそれを問題にしているわけではない。
 私が問題にしているのは、先月、私が自分の所属する教会のウェブページを作ったときの話に関連がある。この教会は、最近、中国人を対象にした活動もするようになり、二つの名前を使用するようになった。一方はASCIIで表現できる名前であり、もう一方はできない名前である。教会のウェブページはこんな感じである。
 あなたのブラウザが比較的最新バージョンのものであって、また、あなたのコンピュータにユニコードのフォントがインストールされていれば、私の教会のウェブページは上記のように見えるはずである。ここで注目していただきたい重要な事柄がある。
 私が一年前にこのウェブページを作成していたら、漢字の部分はおそらくGIFイメージで表示していたと思う。しかし、GIFイメージの文字はカットアンドペーストできない。私は何度もやってみてやっとわかったのだが、みなさんもきっとそうだと思う。一年前にこの仕事にとりかかっていたら、このウェブページを作るのにもう一つ複雑な作業を強いられていただろう。そのころは、ブラウザがユニコードをサポートしているかどうかを確認するために、CGIスクリプトのようなものが必要だったからである。ユニコードをサポートしていないブラウザ上でユニコードを表示させたりすると、ページ全体が文字化けしてしまう。たいていの場合、文字化けしている部分は、無用の複雑さであると解釈される。
 ともあれ、単純さの問題に戻ろう。



 我われは、円(輪)を用いて様々なものを表現する。友だちの輪。封筒の裏に記される抱擁のマーク。永遠の愛を象徴する結婚指輪の円形。
 円が象徴するものはピンからキリまであるが、くずかご−不要になった書類にとっては地獄のようなもの−もそれだ。
 火の玉。ブラックホール。あるいは事象の地平線。
 それらすべてを支配し、闇の中で縁どっているのは、一つの円である(J.R.R Tolkien、“The Fellowship of the Ring”邦訳 指輪物語シリーズ 『旅の仲間』 瀬田、田中 訳、評論社 )



水晶玉。真珠玉。



タマネギ。パール・オニオン



 円は象徴記号としてきわめて頻繁に使われている。特に、我われは、円に様々なものをつけ加えることによって、かなり複雑な概念を単純な記号で表現しようとする。その場合、それらの記号は、単純さと複雑さとをつなぐ橋の役割を果たすことになる。
 たとえば、以下の陰陽シンボルは、禅宗で実際に使用されている。



 いや、実際にはそうではない。本当のところ、陰陽は「道教」に由来している。道教は古代の東洋哲学であり、禅宗より千年あまりも古い。
 さて、陰と陽の話に戻ろう。
 陰陽は二元的な哲学体系の象徴であり、映画『スターウォーズ』にでてくるフォースのようなものである。フォースは配管工事用のダクトテープに似ているが、その理由がおわかりだろうか。答−ダクトテープに明るい面と真っ黒な面があるように、フォースにも光と闇があり、万物を融合させている。私自身は二元論者ではないが、それは、光が暗黒にまさると信じているからである。それでも、均衡のとれた力という概念は、とりわけエンジニアにとっては役に立つ場合がある。力を均衡させたいときや、力の安定を保ちたいとき、エンジニアはダクトテープに手を伸ばすではないか。
 私は、この陰陽のシンボルを作ったとき、これでいいのだろうかと自問していた。もしも、逆さだったり曲がったりしていたら、みっともないことこのうえない。



 確かに、(要素の結合が鏡像のイメージで左右逆になってしまう)類のことが重要な意味を持つ場合もある。それは有機化学者にとって非常に重要であり、鏡像異性体と呼ばれている。たとえば、スペアミントの匂いの分子をつかまえて左右をひっくり返すと、キャラウェイの匂いの分子に変わってしまう。それはかんべんしてもらいたい。以前、私はライ麦パンが嫌いなのだとばかり思っていたが、そのうちに、キャラウェイの種が入っているから嫌いなのだということに気づいたのだった。
 どちらの匂いが好きかということは嗜好の問題にすぎないが、医師や有機化学者によれば、鏡像異性体が死活問題になることもある。たとえば、サリドマイド剤には四肢に奇形が生じるという問題があるが、それは複数存在するサリドマイド剤の鏡像異性体のうちの、悪玉鏡像異性体が引き起こすのである。失読症の患者に言わせれば、鏡像のイメージで逆になってしまう現象は、視覚的なシンボルの判読に大きくかかわっている。まず、アルファベットの「b」と「d」、「p」と「q」を見てほしい。そして、数字の6とくれば、もちろん9。こんなふうにしむけられると、6と9が陰陽のマークのように見えてくる。
 長くなったのでまとめると、私は、あの陰陽のシンボルを描いているとき、このシンボルも卍(まんじ)のように向きが逆さまになってしまったりすると、誰かの逆鱗にふれるものなのかなと思ったのである。
 そこで、私がウェブを使って多少の調査をしたことは言うまでもない。実のところ、ウェブはTMTOWTDI(there's more than one way to do it 物事のやり方は一つだけではない)のすばらしいお手本である。そして陰陽のシンボルは、なんでもござれで、上下左右あらゆる方向を向いたものがある。しかし、これらの中のどれかが他のものより正しいのかどうか、私はまだわからない。
 A TYEDYE WORLDは、絞り染めのTシャツを売っている人たちのウェブ上の集まりである。この場合、彼らは同じ絞り染めでも「道教」に染まっているのではないだろうか。彼らには陰陽のシンボルがこんなふうに見えるそうだ。



 パターンを逆に見せたいと思ったら、シャツを裏返しに着てはどうだろうか。ちなみに、上下逆に着れば、あなたは注目の的である。
 ユニコード・コンソーシアム(文字コードの国際標準であるユニコードを定義している標準化機関)のメンバーには、陰陽のシンボルは、次のように見えるそうだ。彼らが正しいのかどうかわからないが、彼らはこんなふうに公表したのであって、いまのところ、それは定義上は正しい。



 そして、私の使っている辞書のイラストは、上下が逆転している。



 さて、ユニコードの話に戻ろう。ユニコードは円に満ちている。ユニコードには、様々な国の文字セットが含まれているが、円はそれらのほどんどで使われている。そして、それらの大部分において、円は数字の0を意味している。ここに記したのはユニコードの3007番(十六進法)だが、これは0を表わす表意的な記号である。



 意外や意外。それはOに似ているではないか。これは文化的帝国主義の賜物だろうか。もちろん、英語を使う我われは、アルファベットのOと区別するために0を縦につぶして書く傾向がある。



 ベンガル語圏の人びとは、0を横につぶして書くが、そうする理由は英語圏の場合と同じである。



 世界中に無(nothing)に関する表現が数多く存在することは興味深い。無をネタにすればいくらでも冗談が言えそうだ。つまらないことに大騒ぎする。誰も次の犠牲は誰かという考えを止めることができない……。
 次のシンボルも無に関するもである。



 これは世界共通の「禁止」を意味するシンボルである。ユニコードでは、それは結合文字に分類されている。
 もちろん、Perlのカルチャーでは、ほとんど何も禁止されていない。この世はすでに禁止事項であふれている。Perlのカルチャーで何かを禁止して、この世の禁止事項をこれ以上増やす必要はない。それが私の考えである。ついでながら、禁止事項を増やす必要がないのはプログラミングだけではない。人間関係においても禁止事項を増やす必要はない。私は、Perlコミュニティの一部のメンバーを−主に、何かにつけて反抗的だという理由で−追放するよう求められたことが何度もあるが、いままで一貫して拒否してきた。そして、これが正しいやり方だと信じているし、いまのところ、このやり方が実際面でうまく機能していることは確かである。反抗的なメンバーは自分から去っていくか、おとなしくなって、他人と前向きにつきあうようになるかのどちらかである。コンピュータプログラマが意志を通じ合うためには、追放されたものに対して各人が厳格になり、受け入れられたものに対して寛大になることが最善の方法であることを、人びとは本能的に理解しているのである。これは不思議だ。しかし、奇妙なことに、人びとは、口を慎んだり聞く耳を貸したりすることに厳格であろうとはしない。これもまた自明のことだろう。我われは自己表現するように教育されている。
 というわけで、Perlのカルチャーでは、何かを禁止する代わりに、一定の徳目を奨励するようにしている。使徒パウロが指摘しているように、愛、喜び、平和、忍耐、親切心、善、優しさ、柔和さ、自制といったものに対して禁止法を定める者はいない。だから、我われも、悪を禁じることに専念するよりも、善を奨励することに専念しようというわけである。それを表わすユニコードをここに記しておく。



 もちろん、ヒッピー世代は、こちらのほうが好みだろう。



 ところで、肯定的なユニコードの中には、一見して何だかわからないものもある。



 これは、国際発音記号の一つで、両唇クリック音(bilabial click)を表わしている。ご存知ないかもしれないが、我われの多くは定期的にこの音を出している。発音しようと思ったら、次のようにすればよい。両唇を閉じ、空気を吸い込みながら短い破裂音を出すのである(つまり、両唇を合わせて作り出す(キスの)チュッという音である)。
 言うまでもなく、英語を使う我われは、それをXという文字で表わし、封筒の裏にOと並べて書いたりする(「XXOO」で、“Kiss Kiss Huggy Huggy”をI Love Youみたいな感じで使う)。だが、時代は移り変わろうとしている。電子メールが普及したこともあって、封筒の裏にキスや抱擁のマークをつけて送るのは古きよき時代の技術になりつつある。その効果は、電子メールのヘッダ情報とまったく同じではない。Content-type: text/hugs&kisses.(抱擁とキス)
 電子メールのメッセージに香水で匂いをつけるのもまたむずかしい。Content-type: text/scented. (匂いつき)こうなるとしちめんどくさくなってくる。
 複雑な物事を表わす単純な円をもう少し紹介しておこう。これは地球を表わす記号である。



 次は火星である。



 そして、これは金星である。



 私はジェット推進研究所に勤めていたとき、火星と金星がかなり複雑な惑星であることを発見するのにちょっと貢献した。しかし、物事の複雑さがまだ足りないとでも言うように、古代文明人は、火星と金星を表わす同じ記号を使って男性と女性を表わして、すでに複雑な物事をさらに複雑にしてしまった。最近のベストセラーに、「男性は火星に由来し、女性は金星に由来する」と銘打ったものがあるが、この言い回しは別に新しいものではない。
 歴史の話のついでに、Perlの変遷について述べておこう。
タマネギを切ったところを絵にすると、次のようになる。これをPerlの世界のイメージと見なすなら、私はこのちっぽけなタマネギの内側にいるということになる。



 私のまわりには、早い時期からPerlを使っていた人たちの輪がある。彼らはいま、Perl革命の英雄に数えられる人たちである。それらの人たちに続いて、もっと多くの人がPerlのコミュニティに参加するに従い、輪の数も増えてきている。上の図は、何層もの電子殻が一つの原子を被っているようにも見える。もちろん、そんなにたくさんの電子殻を持つ原子があるかどうかわからないので、やっぱりタマネギのたとえでいこう。
 タマネギがどうしたのかと言えば、それが、私に自分が重要であること、というか、自分が重要でないことを教えてくれるのである。つまり、Perlの創始者でありながら、私は相変わらずちっぽけなタマネギの芯にすぎない。タマネギ本体の大部分は外側の層から成り立っている(だからこそ、私は、Perl Mongersのような草の根運動が起こってほしいと思っている)。そして私は、中のほうにいて外側にいない。自分の果たした歴史的役割について多少の評価はもらっているが、現実には、ほとんどの人が見るのはタマネギの外側であって内側ではない。オニオンリングを作るとなれば内側も見てもらえるが、それでも、小さいわっかより大きいわっかのほうが重要である。「インナーリンガー(中心人物)」になりたいという人にとって、これは教訓である。真の力が存在するのはインナーリングではない。よそではそうでないかもしれないが、このPerlムーブメントにおいてはそうなのだ。私は、自分が参加している別のムーブメントにならってPerlムーブメントを計画した。そして、そのムーブメントの創始者は、「人の上に立ちたいと思ったら、しもべとなって全員に仕えなければならない」と言ったのである。彼の十二人のインナーリンガーのうち、一人は造反し、残った十一人のうちの十人は殉教者となった。とはいえ、私はいまのところ、友人に犠牲になってくれと頼んだりはしていない。
 層をかさねて成長する話に戻ろう。天然の真珠も、砂粒のまわりに層をなして成長する。砂粒が真珠貝を刺激することで、美しい真珠の層が形成されるのである。真珠を横に切ってみるとそれがわかる。我われがタマネギを切り分けるのはしょっちゅうだが、真珠を切り分けることはまずない。したがって、外側の層がもっとも重要だということは、タマネギよりも真珠のほうにずっとよく当てはまる。人びとが見るのは真珠の外側の層である。また、真珠がまだ成長過程にあるなら、その外側の層が、次にできる層を支えることになる。そのように考えると、私自身は真珠貝を刺激する砂粒として分類される。そして私は、そう分類されることに満足している。
 時間をかけて成長するものは他にもある。木の年輪を例にとれば、話はもっとわかりやすい。



 物理学にちょっと詳しい人なら、同じ直径を持つ管と棒の強度がほぼ同じであることを知っている(これは、力の大部分が外側の層に伝わるためである)。実は、木は中心部が腐っていても完全に健康を保っている。同様に、Perlカルチャーが健全なのは、周縁部が活動的に支えているからであって、中心部が支えているからではない。人びとは、Perl言語でプログラミングして、年に数十億ドルも節約しているが、それをしている人は外側で頑張っている人がほとんどである。もっと中心部に近づくと、Perlそのものを変えるよりもPerlを他のものに接続する仕事のほうが多くなってくる。私はこれこそが本来の形だと思っている。中心部分のPerlは安定しつつある。マルチスレッドやユニコードサポートなどを追加するときでさえ、我われは拡張モジュールを増設するようなふりをしている。というのも、そのほうがフェアだからであり、人びとが不要だと思えば、新しい機能を使う必要がないからである。
 ここまでは、輪をたとえに使って過去に何があったかを述べてきた。未来は何を使って語ろうかと考える私には、占師の使う水晶玉はないが、双眼鏡ならある。双眼鏡を表わす典型的なシンボルがこれである。



 そしてこれは、誰かが双眼鏡をのぞいていることを示すのによく使われる映像である。突然のことで、何をのぞいているのかわからないので、とりあえず双眼鏡をのぞいている側に何があるか見てみよう。



 また、これは、二つの天体がおたがいのまわりを回転しているようにも見える。
これらの惑星はおたがいに潮を高めあっている。たいていの人は、他の惑星に面した側の海面が隆起する理由を知っている。人びとがそう簡単に理解できないのは、惑星に面していない側の海面が隆起する理由である。それは、近い側の海水を引っぱっている同じ力が、遠い側の海水を、その惑星の中心点から引き離しているからである。
 この二つの天体の話は、フリーソフトウェアコミュニティと商用ソフトウェアコミュニティの関係を実にうまく表わしているから、最もふくらんだ外側部分に名前をつけてしまおう。左側の円の最も中心から遠い部分を「リチャード」、右側の円の最も中心から遠い部分を「ビル」とでも呼ぼう。
 中間の部分に名前をつけるのは少々むずかしいが、いまのところは、左側の中間部分を「ラリー」、右側の中間部分を「ティム」とでもしておこう。
 もちろん、これも過度の単純化である。個人は、一箇所にとどまっているわけではなく、あちこち移動する傾向がある。一つの端から別の端へとうまく渡り歩く者もいる。彼らは、フリーソフトウェアコミュニティと商用コミュニティの協力体勢を強化することに賛成したかと思えば、次の瞬間には商用ソフトウェアにかかわるすべてをこきおろしていたりする。少なくとも、仮名のリチャードとビルは常に一貫した立場をつらぬいている。
 そして、いろいろな出来事が進行しているのは真ん中の部分である。



 誰もがこの部分に注目し、成り行きを見守っている。だが、実際には、この図は昨年の状況を描いたものであって、今年の状況はむしろこんな感じである。



 ロバート・L・フォワード(Robert L. Forward)は、ロッシュワールド(Rocheworld)と呼ばれる場所について一冊のSF本−実際にはシリーズ本−を書いた。ロッシュワールドという名称は、ロッシュ(Roche)という名前の男にちなんでつけられた。いやはや。その男とは、ロッシュワールドの限界つまり、双子の惑星どうしが接近しすぎるとばらばらになることを予測した人物である。だが、結局、ロッシュは物事を単純化しすぎていた。彼の計算は説得力に欠けていたからである。双子の惑星は、上の図のように変形できれば、ロッシュの限界以上に近づいても、安定を保っていられるのである。双子の惑星の間にかかる引力は非常に小さくなるが、二つを近づけたままにしておくには十分な大きさなのである。
 この双子の惑星間の距離と同じように、フリーソフトウェアコミュニティと商用コミュニティは、今年になって、大方の予想以上に接近している。ロッシュワールドでは、それぞれの惑星は接触しているのではなく、大気を共有している。(Xウィンドウシステムを用いたペイントツールの)Xペイントの「ぼかし機能」を使って、先ほどの図の輪郭を少しぼかすと、こんな感じになる。



 一つの惑星から別の惑星に飛んでいく方法は誰でも知っているが、歩いていく方法は誰も知らない。それは量子力学のトンネリングを連想させる。その場合、あなたはここからあちらへ自動的に移動できるわけではなく、助走をつけて跳躍しなければならない。
 これらの二つの接近しあった世界は、フリーソフトウェアコミュニティと商用コミュニティみたいなものであり、この二つのコミュニティの間でやりとりされているのは、たくさんのアイデアである。これらの二つが協力することで、我われがオープンソースムーブメントと呼んでいるものの本質が明らかになる。この本質とは、これまで敵対していた二つのコミュニティが、それぞれのビジネスモデルで売ることのできる商品である。そして、この共通の商品とは、よりよいソフトウェアなのである。こういう考え方をすることが可能になったのは、我われが、特許権や企業秘密に頼らなくてもソフトウェアの商売ができるという、シンプルなアイデアに気づいたからである。いま必要なのは、次に示すシンプルな形の円だけである。



 著作権法を意味する「c」という文字をかこむ一つの円。オープンソースの生死は、著作権法にかかっている。そして我われの望みは、オープンソースが死なないことである。我われの本分をつくして、オープンソースを生きのびさせようではないか。特許権よりも著作権を推奨する機会があれば、ぜひそうしてほしい。すでに多くの人がそうしているように、企業秘密よりも著作権を推奨していこう。また、著作権者の意志を尊重することによって著作権法を擁護しよう(この際、著作権表示が、あなたの弁護士が満足するように成文化されているかどうかは別問題である)。円でかこまれた「c」は、市民性(civility)を表わすものでなければならない。
 市民性(civility)という言葉で思い出すのは都市(cities)である。また、物事の公正な処理である。というわけで、これが、なくてはならない四角形(スクウェア)である。



 現に、都市は正方形や長方形といった四角いもので作られている。それは街区(ブロック)と呼ばれており、都市計画者が建物を建てずに残しておいたブロックは広場と呼ばれている。なお、四角形じゃない広場がなぜスクエアーと呼ばれているかについては、自分で考えてほしい。
 建物自体が四角形ということもある。



 しかし、建物は四角形でないことが多い。同様に、ユニコードを見ると、四角形の数が円よりはるかに少ないことがわかるが、それには隠された重要な理由がある。建物を建てるときや文字を書くとき、我われは、直線の枠の中にそれらをはめこんでいる。文字を書くとき、我われは、左から右、右から左、あるいは上から下に書く。文字や建物がはめこまれる理論上の枠は四角形である。しかし、建物も文字も、全体の調子と同じ線をなぞっているとだんだん見分けがつかなくなる。そういうわけで、ほとんどの文字には異なる角度の線が含まれるようになったのである。これは、多くの現代高層建築が箱のように見えない設計になっているのと同じ理屈である。一九六〇年代の高層建築が好まれないのは、あまりにも箱形ばかりだからである。人間は、物事を区別できるようにしておきたい。
 それとまったく同じ理由で、Perl言語では、演算子や変数が一見して識別できる形になっている。それが人間工学というものではないだろうか。Lisp言語のように、演算子がどれも同じに見えるのも困りものだ。ヨーロッパの道路標識は、どれも同じように見える。これも困りものだ。だから、一時停止の標識を他の標識とまったく違うものにすることに決めたドイツはさすがだと思う。もちろん、それがアメリカの一時停止の標識に似せて作られていることも、事情を知らない我われアメリカ人にとってはありがたい。これもまた文化的帝国主義の賜物なんだろう。
 と言ってしまったところで、アメリカの文化的帝国主義を悔い改めつつ、表意的表記法のもう一つの利点を指摘しておきたい。表意文字は正方形の枠におさまるため、横書きにも縦書きにもしやすい。幅がばらばらのアルファベットではこうはいかない。特にヘルヴェティカ(Helvetica)のようなフォントでは、iとlを見分けるのに苦労する(二つが隣どうしに並んでいても苦労する)。二つを縦に並べると点線のように見えてしまう。ここでは、中国語、日本語、韓国語が一歩リード。
 長い話になってしまった。ここいらでまとめるために、話題を三角形の話に移そう。これがサンプルである。



 矢じりと標的が関連しているように、三角形は円と関連している。次は標的である。



 この標的がうまいこと描かれているのは、ウェブで見つけたからである。そして、最初の一つを見つけたところで、それ以上検索を続けなかったから、こんないいのをお見せできるのである。
 実は、次の文字は、「ど真ん中の金的」と呼ばれるユニコードである。



 これが何を意味することになっているのか、私にはよくわからない。それにしても、いままで、そんなことはまったく気にならなかった。何か意味を持たせることにしよう。
 このエッセイの中でずいぶん矢を放ったが、「ど真ん中の金的」に当たった矢があるかどうか、まだわからない。我われが矢の先端に三角形のものをつけるのは、三角形がとがっているからである。三角形は痛みを連想させるが、踏んづけてしまったときはなおさらである。三角形の角(かど)は、しばしば登山という苛酷な労働を連想させる。



 だが、ものは見かけによる。一つの三角形は、地平線に向かって伸びる平坦な道に見えなくもない。



 あなたは、視点を選ぶことによって視野を変えることができる。そこで問題になるのが遠近法である。Perlの前に伸びる道が凸凹なのか平坦なのかはわからないが、多くの視点から物事を見ることができれば、好みの視点も選びやすくなる。結局のところ、多くの視点から物事を見ることは人工言語を設計する人間の仕事である。つまり、言語を設計する人は、多くの視点から問題を見きわめ、少しばかり物知りになって、他の人びとに利益をもたらさなければならない。言語を設計する私は、三角測量のまねごとをして、領土の地図を作っている。それが私の仕事である。この地図を使う人が、それで目的地に到着できれば、そんなにうれしいことはない。
 以前に表示したPerl言語のタマネギの絵から、その一部を切り取ると、それは三角形に見えなくもない。この切り口を横にして見ると、過去十年間のPerl言語の成長の記録が表形式になっている。



 たいへんけっこうな図であるが、もちろん、これは想像上のものである。私はPerl言語の実際の成長を測る方法を知らないからだ。しかし、多くのことがうまくいっているのだから、この言語は明らかに成長を続けている。全般的に見れば、我われはいまやっていることを続けるべきなのだろう。
 この三角形を少し変形して、Perlの寿命を明らかにしようとすると、次のようになるが、我われには、Perlがいつまで存続するかはわからない。
 判断の基準を決めるのはむずかしい。しかし、言っておくが、私は、自分が何人の人に気に入ってもらえたかによってPerlの成否を判断しているわけではない。私が知りたいのは、自分がどれだけの人の仕事を助けることができたかである。



 私に言えるのは、潜在的なウィンドウズユーザの総数と、彼らが解決しなければならない問題の総数を計算にいれて、Perlがその人たちの仕事を助けることができたら、前の図表中の1の部分が2になるということである。ちなみに、この人たちの数は非常に多い。我われがWin Perlリソースキットを出荷したのは偶然ではない。
 また、Perlから利益を得ることのできる世界中の人間の総数を計算にいれて、その人たちがみんなPerlのユーザになると想定すると、前の図表中の2の部分が3になる。Perlの最新版では、ユニコードの英数文字を変数として使えるようになったのは偶然ではないのである。それには表意文字も含まれている。中国の人口は十億である。彼らにPerlで手紙を交換できるようになってもらいたい。Perlで詩を書けるようになってもらいたい。
 それが私の望む未来であり、私の遠近法である。
 この章の始めの部分で、私はプログラマの徳目−無精、短気、傲慢−について語った。



 これらは人間の感情について当てはまるものである。これらは、個人についても当てはまるが、コミュニティについては当てはまらない。コミュニティについて当てはまるのは、それらとは正反対の−努力、忍耐、謙遜−のような気がする。



 だが、この六つの徳目は実際には正反対のものではない。我われはそれらを同時に持つことができるからだ。ここでも遠近法が問題になる。それらは、我われ人類をここまで導いてくれた徳目なのである。そして、我われが途中で投げ出さない限り、これからも我われ人類のコミュニティを未来へと導いてくれる徳目なのである。
 要するに、困難にめげず最後まで頑張るしかないということである。フリードリヒ・ニーチェはそれを「同一方向の長き服従」と呼んだ。なかなか潔い標語である。もっときちんと引用しておこう。




 さあ、一周してもとの場所に戻ってきた。ここはビルボ・バギンズの家の玄関口である。その玄関口からは道が伸びており、ビルボはそれについて次の詩を書いている。