連載
» 2009年08月17日 14時00分 公開

オープンソースソフトウェアの育て方:フリーソフトウェアプロジェクトはなぜ失敗するのか (2/2)

[Karl Fogel, ]
前のページへ 1|2       

 残念ながら、世の多くのプログラマーはこれらの作業を二の次にしてコードだけに注力しがちです。理由は幾つかあります。まず、それが彼らにとってあまり重要な作業ではないということです。それが役に立つのはこれまでプロジェクトにほとんどかかわってこなかった人たちであり、いままでプロジェクトに参加してきた人たちにとってはあまり意味のない作業だと感じられることでしょう。結局のところ、実際にコードを書いている人にとってはパッケージなんて不要なのです。彼らはそのインストール方法も管理方法も熟知しています。だって自分自身でそれを書いているんですから。

 次に、見栄えをよくしたり使いやすくパッケージ化したりするのに必要なスキルは、コードを書くスキルとはまったく異なるものだということです。人は皆、自分の得意なところに力を入れたがるものです。苦手なことに少し取り組むだけでプロジェクトがよりよいものになるかもしれないとしても。☆章2.さあ始めましょうでは、見栄えをよくしたりパッケージを作成したりする方法について詳しく説明します。そして、それをプロジェクトの最初期から行うべきである理由についても説明します。

 次によくある誤解は「オープンソースではプロジェクト管理にあまり気を使わなくていい」とか、逆に「社内開発の場合と同じようにプロジェクト管理をしておけば、オープンソースプロジェクトも問題なく動くだろう」というものです。オープンソースプロジェクトにおいてはプロジェクト管理があまり表に出ることはありません。しかし、成功しているプロジェクトの舞台裏では、何らかのプロジェクト管理が行われています。なぜ? 理由を説明するため、ここでちょっとした思考実験をしてみましょう。

 オープンソースプロジェクトに参加するプログラマーは、いろいろな意味でバラバラです――よく知られているように、一匹狼的な人種です――彼らはお互いに顔を合わせることもなく、そのプロジェクトで何を達成したいのかという目標も個々に異なります。このような集団で、何も管理をしなかったらどうなるでしょうか? 奇跡でも起こらない限り、すぐにバラバラになってしまうかあさっての方向に向かってしまうことでしょう。わたしたちが思っているほど物事はうまく進みません。

 それでは、いったい何を管理すべきなのでしょうか。管理はおおっぴらにやるものではなく、非公式に控えめに行うことになるでしょう。開発者たちを結びつける唯一の理由は、個別にやるよりも協調した方がよりよいものができるという共通認識です。従って、管理者の目標は、開発者たちがこの考えを信じ続けられるようにすることとなります。そのためには、標準的なコミュニケーション手段を定めることが大切です。また、有能な開発者が「周りと違う」というだけで仲間はずれにされることのないように注意が必要です。要するに、開発者たちにとって「またここに戻ってきたい」と思わせるようにしようということです。そのための具体的なテクニックについて、本連載でこれから説明していきます。

 最後に「文化的な導き方の失敗(failures of cultural navigation)」といわれる一般的な問題について説明しましょう。ほんの10年前くらいまで、いや5年前くらいまでは、フリーソフトウェア文化について語るだなんて時期尚早だといわれていました。でも今はもう違います。徐々にフリーソフトウェア文化が目につくようになってきました。確かにそれは一枚岩のものではありません――少なくともごく普通の文化と同様に意見の相違や派閥争いなどが起こりがちです――が、コアとなる部分は一貫しています。

 うまくいっているオープンソースプロジェクトの大半は、このコアとなる考え方の一部あるいはすべてを備えています。彼らはよい振る舞いに対しては賞賛し、そうでないものは非難します。彼らは誰でもプロジェクトに参加しやすくなるような雰囲気作りを心がけています。たとえ時にはそれが現在のメンバー間の連携を乱すことになったとしても。彼らは何が失礼で何がそうでないのかをきちんと分かっています。その基準はほかの文化におけるものとは大きく異なっているかもしれません。

 最も重要なのは、長年そのプロジェクトに参加している人たちがこれらの考えを身に着けており、プロジェクトがどうあるべきかという指針を大ざっぱにつかんでいることです。うまくいっていないプロジェクトはたいてい、無意識のうちにこの基本から逸脱しています。また、デフォルトの振る舞いがどうあるべきかという共通認識を持っていないことが多いです。こうなると、いざ何か問題が起こったときに状態が急速に悪化してしまうようになります。争いを解決するためのより所となるべき確立された文化的行動様式を参加者が持ち合わせていないからです。

 本連載は実用的なガイドブックであり、人類学や歴史学を扱う学術書ではありません。しかし、今日のフリーソフトウェア文化の始まった背景についての基本的な知識を身に着けておくと、本連載での実用的なアドバイスがより分かりやすくなるでしょう。背景となる文化を知っておくと、オープンソースの世界をより広く深く歩き回れるようになります。プロジェクトによっては独特の習慣や方言があったりするでしょうが、そんな場合も気にせずに仲間入りできるようになるでしょう。

 反対に、そのような背景を知らない人は、プロジェクトを作成したりプロジェクトに参加したりする手続きを見て非常に難しくてびっくりすることばかりだと感じられるでしょう。フリーソフトウェアの開発にかかわる人は依然として飛躍的に増えつづけています。従って、後者に属する人(つまり背景を知らない人)がたくさんいるのです。つまり、主として新しい移民による文化だということです。この傾向はもうしばらくは続くことでしょう。もし自分も「背景を知らない人」の1人だと思われるなら、ぜひ次のセクションを読んでください。ここでは、今後本連載やインターネット上で登場することになるさまざまな議論の背景について説明しています(一方、すでにオープンソースの世界での活動経験があり、その歴史についてもよく知っているという方は、次のセクションは読み飛ばしていただいてけっこうです)。

著者:Fogel Karl

翻訳者:高木 正弘

翻訳者:Takaoka Yoshinari(a.k.a mumumu)

製作著作 © 2005, 2006, 2007, 2008, 2009 Karl Fogel, 高木正弘, Yoshinari Takaoka(a.k.a mumumu), under a CreativeCommons Attribution-ShareAlike (表示・継承) license (3.0, 2.1-jp)


前のページへ 1|2       

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

注目のテーマ