課題集 黄ツゲ の山
苗
絵
林
丘
○自由な題名
/池
池新
○ゴミ
/池
池新
★Linuxは破壊的存在(感)
/池
池新
Linuxは破壊的存在なり。インターネットのかぼそい糸だけで結ばれた、地球全体に散らばった数千人の開発者たちが片手間にハッキングするだけで、超一流のOSが魔法みたいに編み出されてしまうなんて、ほんの五年前でさえだれも想像すらできなかったんだから。
ぼくもできなかった。Linuxがぼくのレーダー画面に泳ぎ着いたのは一九九三年の頭だったけれど、その頃ぼくはすでにUNIXやフリーソフト開発に一〇年以上も関わってきていた。一九八〇年代半ば、ぼくは最初期のGNU協力者の一人だったし、ネット上にかなりのフリーソフトもリリースして、いまでも広く使われているようなプログラムをいくつか単独または共同で開発してきた。だから、もうやり方はわかってるもんだと思いこんでいた。
Linuxは、ぼがわかつているつもりでいたものを、大幅にひっくりかえしてくれた。それまでだつて、小さなツールや高速プロトタイプ作成、進化的プログラミングといったUNIXの福音は説き続けてはいた。でももっと上のしべルでは何かどうしようもない複雑な部分がでてきて、もっと中央集権的で、アプリオリなアプローチが必要になってくるものだとも思っていた。一番だいじなソフト(OSや、Emacsみたいな本当に大規模なツール)は伽藍のように組み立てられなきやダメで、一人のウィザードか魔術師の小集団が、まったく孤立して慎重に組み立てあげるべきもので、完成するまでベータ版も出さないようでなくちゃダメだと思っていた。
だからリーヌス・トーバルズの開発スタイル――はやめにしょっちゅうリリース、任せられるものはなんでもオープンにする――にはまったく驚かされた。静かで荘厳な伽藍づくりなんかない――Linuxコミュニティはむしろ、いろんな作業やアプローチが渦巻く、でかい騒がしいバザールに似ているみたいだった(これをまさに象徴しているのが、Linuxのアーカイブサイトで、ここはどこのだれからでもソフトを受け入れてしまう)。そしてそこから一貫した安定なシステムが出てくるなんて、奇跡がいくつも続かなければ不可能に思えた。
(中略)
1、よいソフトはすべて開発者の個人的な悩み解決から始まる。
これは自明のことかもしれない(昔から「必要は発明の母」って言うし)。でも実際のソフト開発者つてのは、お金で横っ面はられて自分では要りもしないし好きでもないようなソフトを一日中シコシコ書いてることがあまりに多いんだ。でも、LInuxの世界ではちがう――Linux界出身ソフトの質が、平均してすごく高いのはこのせいかもしれないね。
そこでぼくは、既存のものとタメを張るようなまつさらのPOP3クライアントを書き上げるべく、即座にコード書きの渦中へ猛然ととびこんだ――かな?ご冗談を!ぼくはまず、手元にあるPOPユーティリティをじっくりながめてこう考えた。「ぼくの欲しいものにいちばん近いのはどれかな?」というのも、
2、何を書けばいいかわかってるのがよいプログラマー。なにを書き直せば(そして使い回せば)いいかわかってるのが、すごいプログラマー。
――だからね。すごいプログラマーを気取るつもりはないけど、でもそのまねくらいはしたい。すごいプログラマーの大事な特徴の一つが、建設的な面倒くさがりってヤツなんだ。評価してもらえるのは結果であって、そのための努力じゃないってのがわかってるってこと。そして白紙から始めるよりは、よくできた部分解からはじめたほうがほぼ絶対に楽。
たとえばリーヌスは、Linuxをゼロから書き始めたわけじゃない。386マシン用の、小さなUNIXっぽいOSだったMINIXのコードやアィデアを再利用するところから始めてる。やがれMINIXのコードは全部落とされたか、あるいは完全に書き直された――でも最初のうちは、やがてLinuxとなるべき赤ん坊のための簡単な囲いを提供してくれてたんだ。
「オープンソースワールド」(川崎和哉著・翔泳社)の「伽藍とバザール」(エリック・S・レイモンド著)より
原文は「The Cathedral and the Bazaar」
http://www.tuxedo.org/~esr/writings/cathedral-bazaar/