IDG ニュース
2004/05/13 21:21 更新


オープンソース開発モデルの泣きどころと強み

Open Source Conferenceにおいて、分散開発方式に基づくオープンソースプロジェクトの成功および失敗の要因について分析する講演が行われた。

 典型的なオープンソースプロジェクト開発戦略はフリーソフトウェアには有効だが、商用製品の開発ではうまくいかないと指摘する専門家がいる。

 カーネギー・メロン大学のソフトウェア研究部門であるコンピュータサイエンス・インターナショナル校のジム・ハーブスレブ教授は以前、Lucent TechnologiesのBell Labsに勤務していたとき、Apacheなどのオープンソースプロジェクトが分散型開発モデルを採用して成功した理由を調査した。同氏は今週、カナダのトロントで開催されたOpen Source Conferenceで講演を行った。

 ハーブスレブ氏は、全世界に分散した多数の開発者が協力・協調して一つのソフトウェアを開発するのに成功するケースについて調べた。その一方で同氏は、この分散型開発モデルが業界に普及しない理由を探った。その結果、開発者が離れた場所に分散してソフトウェアを開発するのは、1カ所で開発するのと比べると2倍の時間がかかることが分かったという。

 フリー/オープンソースソフトウェア(FOSS)で分散開発方式が成功する理由の一つに、開発作業がユーザーによって行われ、これらのユーザー開発者が機能を決定することが挙げられる、とハーブスレブ氏は話す。

 「ユーザーによって作業が行われるので、適切な機能が開発され、その結果、失敗の最大の要因が取り除かれる」と同氏は指摘する。商用ソフトウェアの場合、開発者がユーザーであることは少なく、プロジェクトマネジャーによって機能が決定されるという。

 「プロジェクトマネジャーは購入デザイン――企業がソフトウェアを購入する理由――を理解しているため、それに合わせてプロジェクトを構築する」とハーブスレブ氏は説明する。これは、ユーザーの要求に必ずしも合致しない商用ソフトウェアが開発される可能性があることを意味する。一方、FOSS開発者はユーザーでもあるため、彼らは自分たちが具体的に必要とする機能を開発する。

 しかしFOSS開発モデルの欠点は、メインストリームユーザーが置き去りにされることが多いということだ。技術系の人間は、平均的なユーザーではなく自分たちのためにソフトウェアのデザイン/機能を作成するからである。「インストールできないのなら、それを使う資格はない」というオタクの信条は今でも、多くのオープンソースプロジェクトで生きている。そう指摘するのは、カリフォルニア州メンロパークにあるSun Microsystemsのソフトウェア部門でユーザー志向のソフトウェアデザインを担当するナンシー・フリッシュバーグ氏だ。

 その結果、「時としてユーザビリティの欠如がオープンソースの泣きどころになる」。トロント大学のコンピュータサイエンス学部の助教授で同大学付属ナレッジ&メディア研究所の副ディレクターを務めるスティーブ・イースターブルック氏はそう話す。

 加えて、Sunのフリッシュバーグ氏によると、「誰でも貢献できる」というオープンソースのモットーは誤解を招くものだという。オープンソースプロジェクトに提供できるのは、基本的にコードとバグ報告とパッチに限定されているからだ。

 同氏によると、開発者といえどもFOSS開発コミュニティーに参加するには強引に割り込まなくてはならず、能力主義の社会だといっても、知人の紹介がないと参加できないことも多いという。また、「誰でも」というのは通常、コンピュータの技術に習熟した人を指しており、創造力のある人でもプログラミングの専門家でなければFOSSプロジェクトに貢献できないのが実状だ。

 しかしFOSSのデザインにあたっては、開発者自身が自分の作業分担を選択するが、商用プロジェクトの場合はマネジャーが作業を割り当てる。つまり、FOSS開発者は自分の専門分野で仕事ができ、自分の個人的関心によってモチベーションが得られるのだ。

 また、ハーブスレブ氏によると、FOSSプロジェクトの連携は開発者の間で自然発生的に生まれることが多く、商用開発に付きものの官僚主義の弊害は生じない。FOSSプロジェクトはオープンな技術論議を促すのに対し、商用プロジェクトの場合は閉鎖的になりがちだという。

 IBMは、2004年2月に開発プラットフォーム「Eclipse」をオープンソース化したとき、FOSSと商用ソフトウェアの開発環境の文化的差異に気づいたようだ。

 IBMでJavaプラットフォーム戦略とEclipseを担当するディレクター、ポール・バック氏によると、最大の違いがコードの透明性であり、Eclipse開発担当者はロプライエタリな開発戦略からFOSS開発戦略に考え方を切り替える必要があったという。

 ユーザーがEclipseのコードを見たり修正したりできるため、開発者は多くのフィードバックを受け取った。プロプライエタリモデルでは、開発者はわき目も振らず作業に専念し、ユーザーにいろいろと説明する暇はない、とバック氏は話す。しかしEclipseがオープン化した途端に、開発者はFOSS開発のギブアンドテイク主義に適応することが求められたという。

 すなわち、開発者は毎日時間をかけて、ニュースグループの記事を読んだり、ニュースグループに投稿したり、ユーザーに説明をしたり、デモを行ったりすることが求められたのだ。また、ユーザーからのフィードバック(機能に対する要求など)をチェックしたり、提出されたパッチや機能改善を検討したりする必要もあった。

 「やりがいはあるけれども、Eclipseのユーザーコミュニティーが遠慮なしに注文をつけてくるのも確かだ。しかしそれが開発者の意欲をかき立てるのだ」(バック氏)

関連リンク
▼ITmedia デベロッパー

[IDG Japan]

Copyright(C) IDG Japan, Inc. All Rights Reserved.