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はどの企業が主に作成しているのか、または個人開発者の集合なのか調査したい場合がたまにあるので。。