デベロッパーリレーションズ

オープンソースコミュニティを測定する5つの指標

2018-10-03
デベロッパーリレーションズ
ja

もしあなたが指標を使用して自由オープンソースソフトウェア(FOSS)のコミュニティを追跡したい場合、今一つの問題に直面しています:どの指標を追跡すべきでしょうか?

この質問に答えるには、どのような情報が必要かを知る必要があります。例えば、プロジェクトコミュニティの持続可能性を知りたいかもしれません。コミュニティが問題にどれだけ速く対応できるか。コミュニティがどのように貢献者を引き付け、維持し、または失うか。必要な情報の種類がわかれば、どのコミュニティ活動が知りたい内容を提供できるかを見つけることができます。幸いなことに、自由オープンソースソフトウェア(FOSS)はオープン開発モデルに従い、そのソフトウェア開発リポジトリに大量の公開データを残しており、これらのデータを分析し、有用なデータを収集することができます。

この記事では、いくつかの指標を紹介し、プロジェクトコミュニティに多角的な視点分析を提供します。

1. コミュニティ活動(Activity)

コミュニティの全体的な活動とコミュニティが時間とともにどのように変化するかは、すべてのコミュニティの良し悪しを測定する非常に有用な指標です。コミュニティ活動はコミュニティの作業量を評価する第一印象であり、異なる種類の活動を追跡するのにも使用できます。例えば、コミット回数は第一印象として開発作業量に関連します。提出された問題tickets openedを通じて、いくつのバグが報告されたか、またはいくつの新機能が提案されたかを大まかに知ることができます。メーリングリストのメール数やフォーラムの投稿数は、公開議論が何回あったかを理解するのに役立ちます。

OpenStack活動ダッシュボードに表示されるプロジェクトコードコミット回数とコードレビュー後のコードマージ回数の時間変化トレンドグラフ(週次データ)

2. コミュニティ規模(Size)

コミュニティの規模は、このコミュニティに参加している人数を指しますが、異なる参加形態に基づいて人数にも大きな差があります。良いニュースは、通常、アクティブな貢献者にのみ関心があることです。アクティブな貢献者はプロジェクトのリポジトリにいくつかの手がかりを残します。これは、gitリポジトリに保存されているコードのauthorフィールドを見て、積極的にコードを貢献している人数を統計できるか、または問題解決に積極的に参加している人数を見てアクティブ人数を統計できることを意味します。

いわゆる活動(誰かが何かをした)は多くの側面に拡張できます。活動を追跡する一般的な方法は、どれだけの人がかなりの作業量のタスクを完了したかを見ることです。例えば、通常、プロジェクトコードの貢献者はプロジェクトコミュニティの一部の人々です。この少数の人々を理解することで、コアワーキンググループ(例えば、コミュニティをリードする人々)の基本的な認識が得られます。

Xenプロジェクト開発ダッシュボードに表示されるプロジェクトメーリングリストの著者数とコミット人数の時間変化トレンド(月次データ)

3. コミュニティパフォーマンス(Performance)

これまで、焦点は主に活動数と貢献者数の統計にありました。プロセスとユーザーのパフォーマンスも分析できます。例えば、あるプロセスが完了するのにどれくらいの時間がかかるかを測定できます。問題を解決または閉じる時間は、タイムリーな対応が必要なプロジェクトが新しい情報にどのように対応するかを示すことができます。例えば、報告されたバグを修正したり、新しい要求を実装したりすることです。コードレビューにかかる時間、つまりコード修正が提出されてから承認されるまでの時間は、提出された変更がコミュニティの期待される基準に達するのにどれくらいの時間がかかるかを示します。

他のいくつかの指標は、主にプロジェクトが保留中の作業をどのように処理するかに関連しています。例えば、新しい問題と閉じられた問題の比率、またはまだ完了していないコードレビューのキューです。これらのパラメータは、これらの問題を解決するのに十分なリソースが投入されているかなどの情報を教えてくれます。

2015年第3四半期OpenStack開発レポートに表示される、四半期ごとの閉じられた問題と開かれた問題の比率、承認された変更提案と放棄された変更提案の比率と最新の変更提案の比率

4. コミュニティ人口統計(Demographics)

貢献者が参加または退出するにつれて、コミュニティも絶えず変化しています。人々がコミュニティに参加または退出するにつれて、コミュニティメンバーの会齢(コミュニティメンバーが参加した時から計算)も異なります。コミュニティ会齢統計グラフは、これらの変化が時間とともにどのように変化するかを直感的に示しています。グラフは一連の水平バーで構成され、2つの水平バーがコミュニティに参加した一世帯を表します。各世代について、吸引力Attractedの水平バーは、相応の時間に何人がコミュニティに参加したかを示します。活性度Retainedの水平バーは、何人が現在もコミュニティで活動しているかを示します。

一世帯を表す2つの水平バーの関係が留保比率です:まだプロジェクトに残っているその世代の一部。吸引力Attractedの水平バーの完全なセットは、このプロジェクトが過去にどれほど人気があったかを示します。活性度Retainedの水平バーの完全なセットは、コミュニティの現在の会齢構造を示します。

Eclipse開発ダッシュボードに表示されるEclipseコミュニティのコミュニティ年齢表。6ヶ月ごとに1回定義

5. コミュニティ多様性(Diversity)

多様性はコミュニティが弾力性を保つための非常に重要な要素です。一般的に、コミュニティがより多様であればあるほど(人または組織の参加の多様化)、そのコミュニティの弾力性も大きくなります。例えば、ある企業が自由オープンソースコミュニティから離れることを決定した場合、その企業の従業員が5%貢献している場合と85%貢献している場合では、後者の方が潜在的な問題がはるかに小さくなります。

ポニー係数Pony Factorは、Daniel Grunoが「最も少ない開発者がコードコミット量の50%を貢献した」という現象のために定義した用語です。ポニー係数に基づいて、ゾウ係数Elephant Factorは、従業員がコードコミット量の50%を貢献した最も少ない企業数を指します。これら2つのデータは、このコミュニティが何人または何社に依存しているかの指標を提供します。

2015開発クラウド数量状態統計に表示されるクラウドコンピューティング分野のいくつかの自由オープンソースコミュニティプロジェクトのポニーとゾウ係数。

コミュニティを測定する他の多くの指標があります。どの指標を収集するかを決定する際、コミュニティの目標と、どの指標が役立つかを考慮してください。

転載请注明:开发者关系 »


Similar Posts

Content icon
Content