DUICUO

オープンソースプロジェクトの成功を確実にする3つの重要な要素

GitHub データの調査によると、成功しているオープンソース プロジェクトには、いくつかの共通の特徴が見られることが多いようです。

[[120132]]

今週、Facebook、Google、そしてその他大手テクノロジー企業がTODO(Open Communication, Open Development)プロジェクトを立ち上げました。このプロジェクトは、企業や開発者がオープンソースプロジェクトの活用と実装に関する知識と経験を共有し、あらゆる規模のユーザーの間でオープンソースソリューションへのより積極的なアプローチを促進することを目的としています。参加組織の一つであるGitHubは、ブログ記事でプロジェクトの目標の一つとして「オープンソースプロジェクトが健全かつ前向きに発展し続けることを保証する」ことを取り上げました。新たな調査レポートでは、多少の幸運に加えて、オープンソースプロジェクトの成功に不可欠な要素がいくつか明らかにされており、これはTODOの今後の円滑な発展に大きく貢献するでしょう。

日本の研究者である吉川雄也氏、岩田智治氏、澤田浩氏は、「ソーシャルメディアにおけるコラボレーション:成功したソーシャルコーディングプロジェクトの分析」と題した論文を共同執筆しました。彼らは、GitHubのような「ソーシャルコーディングサイト」における様々な開発プロジェクトの最終的な運命を決定づける要因を理解することを目指しました。この目的を達成するために、彼らは2011年2月から2013年5月まで、GitHubアーカイブ(具体的には、コメントが30件以上の非フォークリポジトリ)から継続的にデータを収集しました。このデータには、140万人の開発者と31万7000件の関連プロジェクトに関わる約4200万件のコメントが含まれていました。

オープンソース プロジェクトの成功を測定するために、研究者は、アクティビティ レベル (1 日あたりの新しいコード コミットの数)、人気レベル (1 日あたりに受け取ったスターの合計数)、および「ソーシャル」側面 (1 日あたりのプッシュ リクエストの数) という 3 つの指標を使用しました。

彼らは、上記の成功基準の実際のパフォーマンスを決定づける主な要因として、チーム構造 (プロジェクト チームの規模とチーム メンバーの内部コミュニケーションの方法)、外部開発者とのインタラクション効果 (プッシュ リクエストから得られる応答)、開発中のプロジェクトの具体的な種類 (Web アプリケーションなど) の 3 つがあると考えています。

これらの中核となる要素を検討する前に、研究者が行った次のような他の興味深い発見を見てみましょう。

  • ほとんどのプロジェクトでは、外部開発者からの貢献は見られません。調査データによると、プロジェクトの70%はプッシュリクエストを一度も送信したことがありません。
  • ほとんどのプロジェクトは短期間で完了する傾向があります。長期間にわたって比較的安定したコードコミット率を維持できるプロジェクトは、わずか10%程度です。残りの90%のプロジェクトの大部分は、コミットが1つまたは少数の比較的短いフェーズに集中しており、サイクル全体を通してコードコミットが全くない月が続くことも珍しくありません。さらに、60%のプロジェクトでは、コードコミットの90%がプロジェクト開始後3ヶ月以内に発生しています。

オープンソースプロジェクトの成功に影響を与える要因を調査する中で、いくつか興味深い現象も発見しました。本論文の理解に基づき、オープンソースプロジェクトの成功の中核となる条件として、以下の3つの要素が挙げられます。

  • チームが大きくなればなるほど、プロジェクトの成功率は高まります。社内チームが大きくなればなるほど(つまり、コードに貢献する参加者が増えるほど)、上記の3つの成功指標のスコアは高くなります。
  • チームメンバーが過去に他のプロジェクトでコラボレーション経験を持っている場合、現在のプロジェクトで成功する可能性が高くなります。研究者たちは、各プロジェクトの内部チームについて「コラボレーションネットワーク」を構築しました。このネットワークは、基本的に、現在のプロジェクトの参加者が他のプロジェクトでも同様のコラボレーションを維持しているかどうかを表します。この説明に当てはまる参加者が多いほど、これら3つの成功指標のスコアは高くなります。
  • プッシュリクエストへの対応は、コード貢献者のモチベーションを高める可能性があります。研究者たちは、プロジェクトに寄せられるスターやプッシュリクエストの数が多いほど、チームメンバーのモチベーションが高まることを発見しました。つまり、プッシュリクエストへの対応やマージは、参加者のモチベーションを効果的に高めるということです。興味深いことに、プッシュリクエストへの対応時間はプロジェクトの成功確率に影響を与えません。つまり、どんな対応もプロジェクトにとって前向きな一歩なのです。

これが私たちの結論です。オープンソースプロジェクトを成功させたいなら、まず社内チームを可能な限り拡大する必要があります。次に、参加者が他のプロジェクトでも同様な協力関係を維持できるようにする必要があります。そして最後に、プッシュリクエストに定期的に対応する必要があります。それほど難しいことではないですよね?

元の英語テキスト: http://www.itworld.com/cloud-computing/436472/3-keys-open-source-success?source=ITWNLE_nlt_today_2014-09-17