OSS開発、“はじめの一歩”で抑えておくべきポイントオープンソースソフトウェアの育て方(2/5 ページ)

» 2009年08月19日 14時05分 公開
[Karl Fogel, ]

個人的な議論を避ける

 プロジェクトを一般に向けて公開した後でも、難しい問題についての話し合いは内輪の関係者たちだけで行いたいと考えることもあるでしょう。これは、プロジェクトが始まったばかりのときにはあり得ることです。話し合うべきことは山ほどありますし、通常はその話し合いに参加する資格のある外部の協力者はほとんどいないからです。公開されている場所で議論することによるさまざまな損失があなたの頭の中に浮かぶことでしょう。メールでのやり取りに特有ののんびりした速度、合意を形成するのに掛かる時間、本当は何も分かっていないのに「自分はすべて分かっている」と勘違いしているボランティアへの対応(どんなプロジェクトでもこの手の人がいます。彼らのうち何人かは将来素晴らしい貢献をしてくれることになるでしょうが、中にはずっと勘違いしたままの人もいます)、ある問題Xがより大きい問題Yの一部であるときに、なぜ問題Yではなく問題Xだけを解決したいのかを理解してくれない人たち、などなど。こんなときに、密室の話し合いで決めた内容を“既成事実(faits accomplis)”、あるいは少なくとも有力な選択肢として提示できればどんなに楽なことでしょう。

 でも、そんなことをしてはいけません。

 たとえ公開の場での議論の進行が遅くて厄介だとしても、長い目で見ればそれが一番望ましい方法です。重要な決定を内輪でこっそり行うのは、まるでそのプロジェクトに「貢献者よけスプレー」を振りまくようなものです。秘密の協議会がすべての重要な決定を行うような環境では、やる気のあるボランティアは決してついてこないでしょう。さらに、公開の場での議論にはよい副作用もあります。

  • その議論が、新しく参加する開発者の訓練や教育に役立ちます。その議論をいったいどれだけの人が注目しているかは決して分かりません。大半の人たちは単なる傍観者と見ているだけで、黙ってそのソフトウェアについての情報を追いかけているのです
  • その議論は、あなた自身の訓練にもなります。技術的な問題を、そのソフトウェアにあまり詳しくない人たちにも分かるように説明するという技術を磨くことができます。これは実際に必要となる技術であり、すでにそのソフトウェアについて熟知している人たちと話しているだけでは身につけることができません
  • 議論の内容とその結論が公開されたアーカイブに残るようになります。後に同じような問題が発生したときに、同じ議論を繰り返す必要がなくなります。詳細は章6.コミュニケーションアーカイブを目につきやすくする方法項を参照してください

 最後に、メーリングリスト上の誰かがそのやり取りに対して真の貢献をしてくれるかもしれません。つまり、あなたが思いもしなかった新たな考え方を示してくれるということです。これがどのくらいの頻度で起こるのかは断言できません。そのコードの複雑さがどれくらいか、そしてどの程度の専門知識を要するかによっても異なります。ただ、わたしのこれまでの経験上、その頻度は皆さんが思っているよりもかなり高くなります。

 Subversionプロジェクトで、わたしたち(プロジェクトを開始した当時のメンバー)は深く複雑なさまざまな問題に直面していました。わたしたちは何カ月も悩み続けました。そして、率直に言って、当時できたてのメーリングリストにいるメンバーがこの手の議論に貢献してくれるとは期待していませんでした。そこでわたしたちは安易な方法を取ることにしました。技術的なアイデアについての議論を個人的なメールのやり取りで行うようにしだしたのです。その様子を嗅ぎ付けた人*1から「議論は公開されたメーリングリストでしてくれ」といわれるまで、その状態が続きました。わたしたちはそれを受け入れ、その話題をメーリングリストに移動しました。そのとたん、数々の洞察に満ちた意見や提案が寄せられるようになり、わたしたちは驚きました。寄せられた意見の多くは、これまでわたしたちが考えもしなかったものでした。メーリングリスト上には、非常に優秀な人間がいたのです。彼らはただ、メーリングリスト上にネタが投下されるのを待ちわびていたのです。確かに、すべて密室の議論ですませるのに比べれば時間は掛かりました。しかし、それに見合うだけの十分な成果が得られました。

 “三人寄れば文殊の知恵”だとか“個人よりも集団の方が常によい判断ができる”とかいうように一般化して逃げるのではなく、集団の方がよい結果が出る活動としてはどんなものがあるのかを知っておきましょう。大規模なピアレビューなどがその例の1つです。あるいは、とにかくたくさんの案を手早く出していくといった作業もそれに当たります。もちろんアイデアの質はそれを考えた人たちの質に依存しますが、困難な問題を皆にぶつけてみるまで、誰がどのような案を持っているかは分からないものです。

 当然、内容によっては個人的に議論しなければならないものもあります。本連載の中でもそのような例が幾つか登場します。しかし、基本方針として、隠す必要がないものは、すべて公開すべきであることは常に心においておきましょう。

 そのためには何らかのアクションが必要です。あなた自身が常に公開のメーリングリストに投稿しようと心がけるだけでは不十分です。隠す必要がない内容のメールをほかの人から受け取ったら、それをメーリングリストにも流すようにしなければなりません。誰かが個人的に議論を始めようとしているとき、もしそれが個人的にする必要のないものなら、それを個人的に行うのか公開で行うのかに関する議論をすぐに始める責任があります。首尾よくその議論を公開の場に持ち出すか、あるいは個人的に話し合うのが適切であることが分かるまで、元の話題にはコメントしないでください。常にこのようにすることを心がければ、人はやがてデフォルトで公開の場を使用することになるでしょう。

[1] ここまではまだ個人の名前を挙げることはありませんでしたが、これ以降では必要に応じて名前を挙げていきます。ここでいう「嗅ぎ付けた人」とはブライアン・ベーレンドルフ(Brian Behlendorf)のことです。彼は、プライバシーの侵害の恐れがない議論はすべて公開の場で行うべきだという一般論を指摘してくれました。


content on this article is licensed under a Creative Commons License.

注目のテーマ