PrevousNextContents


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


PrevousNextContents