集計方法
対象となる人
- 国ごとに、プロフィールの所在地がその国または国内の都市に一致するユーザーをGitHubで検索します。各国の所在地文字列のリストは
presets/にあり、プルリクエストを受け付けています。 - GitHubの検索はコントリビューション数で並べ替えられないため、一致したユーザーのうちフォロワー数上位1000人だけを対象にランキングします。各国のページには、対象者の中で最もフォロワーが少ない人の実際のフォロワー数が表示されます。
- Organizationとボットは除外します。
- 各ユーザーはちょうど1つの国に属します。プロフィールの所在地で最初に挙げられた国です。複数の国が書かれている場合は、最初の国だけが数えられます。
集計するもの
過去12か月のコントリビューションを、GitHubがプロフィールで数えるとおりに集計します。
- 公開コントリビューション:誰でも見られるコミット、プルリクエスト、Issue、レビュー。
- 全コントリビューション:公開と非公開の合計。非公開のコントリビューションは、プロフィールに表示することを選んだ人の分だけが数えられます。それ以外の人については、このタブにも公開と同じ数が表示されます。
- コミット:公開コミットのみ。
同数の場合はフォロワー数、次にユーザー名の順で順位を決めます。
各名前の下には、C 公開コミット、PR プルリクエスト、IS Issue、RV レビュー、そして非公開コントリビューションを表す鍵が表示されます(カーソルを合わせると正確な数が表示されます)。GitHubは非公開の活動を、分割も検証もできない1つの数値として報告します。そのため全コントリビューションのランキングでは、合計の横の小さな鍵が、コントリビューションのほぼすべて(90%以上)が非公開である人を示します。こうした人も除外はしません。クローズドソースのコードに携わる人は多いからです。メインのランキングには公開コントリビューションだけを使います。
一部のアカウントは、膨大な数のコミットがある一方で、プルリクエスト、Issue、レビューといったほかの活動がほとんどありません。これは一日中同じリポジトリにコミットし続けるスクリプトの特徴で、ほかに誰も使っていない自分のリポジトリにコミットのほぼすべてが向かっているアカウントも同様です。大規模なコミュニティプロジェクトのメンテナーによくあるように、広く使われている他者のプロジェクトに直接コミットしている人は、自動化とはみなしません。このようなアカウントには国別ランキングで小さなロボットが付き、世界ランキングと世界のバッジからは除外されます。
自分が載っていないのはなぜ?
- プロフィールの所在地が、自分の国のプリセットのどの文字列にも一致していない。所在地は自由記述なので、都市名や国名を書き加えるか、プリセットにプルリクエストを送ってください。
- 自分の国でフォロワー数上位1000人に入っていない。
- コントリビューションが非公開で、プロフィールに表示されていない。
- 削除を依頼した(プライバシーとオプトアウトを参照)。
データへのアクセス
各ランキングはJSONでも提供しています。/api/index.json には国の一覧が、/api/<country>.json(例:/api/canada.json)には順位、ユーザー名、コントリビューション数を含む3つのランキングすべてが入っています。世界ランキングは /api/world.json にあります。ファイルは静的で、どのサイトからでも取得できます。
オープンソースの研究、統計、コミュニティプロジェクトに使ってください。人への一斉連絡、採用のための声かけ、データの転売には使わないでください。オプトアウトした人が含まれることはありません。
更新
国は、最後の更新が最も古いものから順に1つずつ更新されます。各国のページには最終更新日時が表示されます。
committers.top に着想を得ています。