Upgrade to Pro — share decks privately, control downloads, hide ads and more …

InnerSource Pattern: リポジトリアクティビティスコア

InnerSource Pattern: リポジトリアクティビティスコア

概要
パターンの著者: Michael Graf (SAP)
スピーカー/翻訳: Yuki Hattori | LinkedIn | Twitter | GitHub
YouTube: リポジトリアクティビティスコア
Doc: リポジトリアクティビティスコア

「InnerSource Pattern: リポジトリアクティビティスコア」
潜在的なコントリビューターは、彼らの助けを必要とするアクティブなインナーソースプロジェクトを見つけたいと思っています。各プロジェクトのリポジトリのアクティビティスコアを計算することで、プロジェクトのランク付けされたリストを作成することができます (参考: インナーソースポータル)そのため、潜在的コントリビューターは、彼らがコントリビュートしたいプロジェクトをより簡単に決定できます。

リンク
InnerSource Patterns: English 🇬🇧| 日本語 🇯🇵
Website: innersourcecommons.org
Slack: Invite Link | 🇯🇵#jp-general
Twitter: @InnerSourceJP (日本) | @InnerSourceOrg (公式)

Yuki Hattori

January 13, 2023
Tweet

More Decks by Yuki Hattori

Other Decks in Technology

Transcript

  1. 問題 インナーソースのプロジェクトはどのような順番で表示されるべきでしょうか? GitHub のスター数, フォーク 数, コミット数, コードの行数, 最終更新日時 などの典型的なKPI

    は、プロジェクトの活動状況を簡潔に示すに は十分ではありません。 活発なプロジェクトはもちろん、新しいコントリビューターを必要としているかなり新しく熱心なプロジェ クトも、成熟したプロジェクトで活動が少ないものやメンテナンス中のものよりも上位にランクされるべき でしょう。 プロジェクトのアクティビティレベルについて、信頼性が高く汎用性のあるスコアを定義するために、いく つかのKPI から派生した新しい評価指標が必要になります。この指標は、プロジェクトのアクティビティレベ ルに応じて、プロジェクトを分類するために使用されます。 InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 3
  2. ケーススタディ インナーソースが長期間実践されている場合、または特定の数のプロジェクト( 意味のあるしきい値を与える ために50 としましょう) を超えて拡がっている場合、現在最も人気がありアクティブなインナーソースプロジ ェクトを見つけるのは困難です。 長い間存在するプロジェクトはよく知られていますが、もはやあまり活発 ではないかもしれません。 一方、かなり新しいプロジェクトには、まだ評判や活発なコミュニティがありま

    せん。 インナーソースプロジェクトのリストは、静的なリソースと考えるべきではありませんが、ちょうどその日 の最も興味深いトピックを最初にリストするニュースページのように、新しいアクティブなプロジェクトを 発見し探索するためのエキサイティングな場所です。したがって、プロジェクトの順序が定期的に更新さ れ、プロジェクトの人気と活動に応じて変更された場合、それは有益であると言えます。 これらの考慮事項を加味し、リポジトリアクティビティスコアを計算する最初のプロトタイプが開発されま した。 このプロトタイプは驚くほどよく機能し、プロジェクトの活動状況に応じて常に変化する順序を決定するこ とができます。 InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 4
  3. ソリューション リポジトリアクティビティスコアは、インナーソースプロジェクトの(GitHub) 活性度を表す数値です。GitHub スター、ウォッチ、フォークなどのリポジトリ統計から自動的に導き出され、他のツールからのKPI や手動評 価で付加情報が足されることもあります。 さらに、最終更新日やレポの作成日などの活動パラメータを考慮し、多くのトラクションを持つ若いプロジ ェクトに活力を与えます。 コントリビューションガイドライン、積極的な参加統計、課題( 公開バックログ)

    を持つプロジェクトも、より高いランキングを受け取ります。 これらはすべて、GitHub search API と GitHub statistics API の結果を使って自動的に取得・計算することが可 能です。BitBucket 、Gitlab 、Gerrit のような他のコード・バージョニング・システムも、同様のAPI があれば統 合することが可能です。 InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 8
  4. 参考 // スター数、ウォッチ数、コミット数、およびイシュー数から仮想のInnerSource スコアを計算します。 function calculateScore(repo) { // 初期スコアは 50

    にします。GitHub の KPI ( フォーク数、ウォッチャ数、スター数) が低い、アクティブなレポジトリをより良いスタート地点にするためです。 let iScore = 50; // 重み付け:フォーク数とウォッチ数で最もポイント付けし、次にスター数でポイント付け。オープンなイシューの数でも若干のスコアを加える。 iScore += repo.forks_count * 5; iScore += (repo.subscribers_count ? repo.subscribers_count : 0); iScore += repo.stargazers_count / 3; iScore += repo.open_issues_count / 5; ... return iScore; } InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 9
  5. 事例 SAP のインナーソースポータルで、インナーソースプロジェクトのデフォルトの順序を定義するために使 用されています。2020 年7 月に初めて作成され、それ以来、頻繁に微調整や更新が行われています。 2020 年7 月にこのことを InnerSourceCommons

    に提案したところ、このパターンが確立しました。ま た、Michael Graf & Harish B (SAP) at ISC.S11 - The Unexpected Path of Applying InnerSource Patterns もご 参照ください。 InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 11
  6. InnerSource についてもっと知る InnerSource Commons: https://innersourcecommons.org Join our Slack community: https://innersourcecommons.org/slack

    InnerSource Patterns: https://patterns.innersourcecommons.org Twitter: @InnerSourceOrg 日本語 Slack チャンネル: #jp-general 日本語 Twitter: @InnerSourceJP InnerSource Patterns: リポジトリアクティビティスコア @yuhattor 13