←前
続・Fetchmail の教訓
トップ 次→
フリーソフトの社会的な意義

9. バザール方式の前提条件とは

 この論文の初期レビューアーや、試験読者たちがたえず返してきた質問というのは、 上手なバザール形式の開発に必要な条件は何か、というものだった。 これはプロジェクトリーダーの資質と、共同開発者コミュニティをつくろうとして コードを公開する時点での、コードの状態についての条件の 両方についてのものだった。

 バザール形式で最初からコードを書くのが無理だというのは、 まあはっきりしているだろう。[IN] バザール形式でテストしたりデバッグしたり改善したりはできるけれど、 プロジェクトを最初からバザール式で始めるのは すごくむずかしいだろう。リーヌスはそんなことはしなかったし、 ぼくもしなかった。あなたが生み出そうとしてる開発者コミュニティは、 いじるために何か動いてテストできるものを必要としているんだ。

 コミュニティ形成を始めるときには、まずなによりも 実現できそうな見込みを示せなきゃならない。 別にそのソフトは特によく書けてなくてもいい。雑で、バグだらけで、不完全で、 ドキュメント皆無でもいい。でも絶対不可欠なのが、開発者候補たちに、 それが目に見える将来にはなにか本当に使える代物に発展させられると 説得できることだ。

 Linux と fetchmail は、どちらも強力で魅力的な基本デザインをもって公開された。 ぼくが提出したバザールモデルについて考えてきた人の多くは、 これがきわめて重要だということを正しく認識し、そこからいきなり、 だったらプロジェクトリーダーには高度なデザイン上の直感と才能が 必要にちがいないという結論に一足飛びにとびついてしまった。

 でもリーヌスはデザインを UNIX からもらってる。 ぼくはもともと先祖の popmail からアイデアを得てる (もっともそれは後に大きく変わった。割合から言えば Linux よりはずっと大きな変化だ)。ということは、 バザール形式のリーダー/コーディネーターはずばぬけたデザインの才能が 本当にいるんだろうか、それとも他人のデザインの才能をうまく生かすだけで やっていけるんだろうか。

 コーディネーターが、とてつもないデザイン上のひらめきを自分で得る必要性は 必ずしもないと思う。でも、絶対に必要なのは、その人物が ほかの人たちのよいデザイン上のアイデアを認識できる ということだ。

 Linux も fetchmail も、この証拠を示している。リーヌスは(すでに述べた通り)、 驚異的に独創的な設計者ではないけれど、よいデザインを認識してそれを Linux カーネルに組み込む強力な第六感を示した。そしてすでに述べたように、 fetchmail 最大の強力なデザインアイデア(SMTP 転送)は 他人にもらったものだった。

 この論文を早い時期に読んだ人たちは、おまえはバザールプロジェクトでの デザイン上の独創性を過小評価している、自分にはいろいろアイデアが あるもんだから、それが当然のことだと思ってるんだろう、と誉めてくれた。 確かにこれは一理ある。ぼくの最大の強みは確かに、 コーディングやデバッグではなく、デザイン能力にある。

 でもソフトの設計で、小利口で独創的になることの問題点は、 それが習慣になってしまうことだ。ソフトは堅牢でシンプルにしておかなきゃ ダメなのに、反射的にそれを媚びた複雑なものにしてしまいがちになる。 このまちがいのおかげでつぶれたプロジェクトもいくつかある。 でも、fetchmail ではそういうことにならずにすんだ。

 だから fetchmail プロジェクトが成功したのは、一部はぼくが 小利口になりがちな自分の性格を抑えたからだと思う。これは(少なくとも) バザールプロジェクトの成功にデザイン上の独創性が不可欠という議論の 反証になっている。そして Linux もそうだ。もしリーヌス・トーヴァルズが 開発途上で根本的な OS デザインの革新をやってのけようとしていたら、 その結果のカーネルがいまのものほど安定してうまくいっていたかどうか?

 一定レベルのデザインとコード書き能力は必要だけれど、 でもバザール式のプロジェクトを始めようかと真剣に考えている人なら、 ほとんどだれでもそんな最低限以上の能力はあるだろう。 フリーソフト/オープンソースコミュニティ内における評判の市場は、 最後まで面倒を見られないような開発プロジェクトを始めないように、 みんなに微妙な圧力をかける。いまのところ、 これはなかなかうまく機能してきたようだ。

 別の才能で、ソフト開発とはふつうは関連づけられないけれど、 でもバザールプロジェクトではデザイン上の才覚に匹敵するほど —— あるいはそれ以上 —— 重要なものがあると思う。バザールプロジェクトは、 コーディネータやリーダの対人能力やコミュニケーション能力が 優れていないとダメだ。

 これは説明するまでもないだろう。開発コミュニティをつくるには、 人を引きつける必要がある。自分のやっていることに興味を持たせて、 各人のやっている仕事量についてみんなが満足しているように気を配る必要がある。 技術的な先進性は、これを実現する役にはおおいに立つけれど、 でもそれだけではぜんぜん足りない。その人が発する個性も大事だ。

 リーヌスがナイスガイで、みんなかれを気に入って手伝いたくなってしまうのは、 偶然ではない。ぼくがエネルギッシュで外向的で、大人数を動かすのが好きで、 コメディアンの話術や本能をちょっと備えているのも偶然じゃない。 バザールモデルが機能するためには、人を魅了する能力が少しくらいでもあると、 きわめて役に立つのだ。


←前
続・Fetchmail の教訓
トップ 次→
フリーソフトの社会的な意義