LoginSignup
11
11

More than 5 years have passed since last update.

Gitリポジトリの作者メールドメイン別コミット数を集計・可視化する「Git Analysis」

Posted at

Gitリポジトリのコミットログを元に、作者のメールアドレスのドメイン名別に集計し、コミット数と割合を表示するサイトを作成しました。
これにより、Gitリポジトリをどのような企業が開発しているかおおよそ推測することができます。

Git Analysis

概要

Gitリポジトリのコミットログを元に、作者のメールアドレスのドメイン名別にコミット数と割合を表示します。
表示ルールは次の通りです。

  • コミットログから抽出
  • ブランチはclone時の初期ブランチ。
  • マージコミット含む。
  • メールドメイン別の上位5グループを表示。
  • それ以外は「Others」に集約。

例えば、Chefであれば「opscode.com」が最も多いので「現Chef社(旧:Opscode社)」が開発に多く携わっていることが推測できます。
一方でAnsibleであれば「gmail.com」が最も多いので個人開発者が開発に多く携わっていることが推測できます。(開発初期はAnsible社の社員でもgmailアカウントを使っていることもありますが。。)

なお、内部的にはgit_analysisというGemを作成して利用しています。
このGemの紹介もいずれ書きたいと思います。

このGemはGitのコミットログからAuthorのメールアドレスを抽出し、メールアドレスのドメイン別に分類しています。
誰がという意味ではgit shortlog -sneでリスト表示できますが、どのグループかは分かりませんでした。
同様にGithubのContributorsも個人の活動実績が主です。
このGemにより、どの企業がOSSを支えているのか、ということがわかりやすくなったと思います。

掲載済みOSS(順不同)

個人的に興味があるGitリポジトリを掲載しています。
自動化できていないので、追加は手動です。
もし要望あればIssueに書いて頂けると対応します。

  • Chef
  • Ansible
  • Riak
  • MongoDB(mongo)
  • elasticsearch
  • Kibana
  • ServerSpec
  • Fluentd
  • Norikra
  • jquery

掲載予定

  • Linux kernel
  • KVM
  • Ruby

あと、追加/削除行数もGemで取れるので、それも表示したい。

作った背景

ChefはOSSか?

Chefはオープンソースではない
以前、この記事が話題となっていました。Chefはソースコードを公開しているけれども、その開発手法/エコシステムはOSS的であると言えるのか、という提起でした。
Chefだけでなく、AndroidやMySQLも同様の仕組みで開発が進められていますが、果たして他のソフトウェアなどはどうなのか、gitのログから推測できないだろうか、という疑問がきっかけでした。

勤務先での調査

こちらは私的な理由ですが、勤務先でOSSを使用する場合、OSSはどの企業が主に作成しているのか、または個人開発者の集合なのか調査したい場合がたまにあるので。。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11