Growth of the AOSP
1/Jan 2015
謹賀新年。
以前からやろうやろうと思ってて放置してたネタです。
Androidが公開されて6年以上経ちます。
その間に何万ものコミットがなされ、今や一大オープンソースプロジェクトとなりました。
以前よりコードのライン数やコミットの変遷などが気になってましたのでざっと調べてみました。
ほんとは昨年(2014年)のAdventCalendarで書こうと思っていたのですが、ボケっとしてたら終わってた・・
http://qiita.com/advent-calendar/2014/android
対象のブランチ
AOSPのmasterブランチが対象です。
使った道具とか
主にgitとawkとmatplotlibとgnuplotを使いました。
ソースコードの行数の変遷
いきなりですが、 c, cpp, cc, h, s(S), javaのライン数の総和の変遷を描いたのが下図です。
aidlとかxmlとかは無視してます。
グラフ中の赤線は、上記の拡張子の全ファイルのライン数総和を意味します。 同様に、緑線がJava以外(Native)、青がJavaのライン数の総和を示します。
ちょっと怪しいところもありますが、概形はまぁこんなもんでしょう。
ちなみに、externalは、
- それだけで巨大なのでexternal以外が見えなくなる
- 基本的にはAOSPとは別のOSSという存在である
という理由のため今回は除外しました。
コミット数の変遷
次は2010年から2014年の月毎のコミット数の変遷です。
お、なんかperiodicalですね。
ちなみに2010年以降のAdroidの大きな動きは以下の通りです:参考wiki
- Froyo(2.2)リリース 2010年5月〜6月頃 (Dalvik w/ JIT, V8)
- GB(2.3)リリース 2010年12月頃 (NFCサポート)
- Honeycomb(3.x)リリース 2011年2, 5, 7月あたり (マルチコア化)(もはやなかったことになっている希ガス)
- ICS(4.0)リリース 2011年10月〜2012年3月(Phone/Tab統合)
- JB(4.1)リリース 2012年7月, 10月(なんかいろいろ)
- JB(4.2)リリース 2012年11月, 2013年3月
- JB(4.3)リリース 2013年7月
- KK(4.4)リリース 2013年10月, 12月、2014年6月(OpenCL,ART)
- L(5.0)リリース 2014年11月(64bit, ART, いろいろ)
コミッタ(Author)の内訳
次はコミッタの内訳です。 どの企業や組織が多くコミットしているか気になりますよね。
コミットログのAuthorのメールアドレスからドメイン別に集計しました。
全ドメインの内訳
まずはすべてのドメインを対象に内訳を出したものが下の10個の円グラフです。 10個あるのは、2010年から2014年を10等分したことによるものです。
すぐにわかりますが、google.comとandroid.comが支配的ですね。当然ですね。
Othersの組成が気になります。 AOSPのコミットログで稀によく目にするソニーさんはどれくらいなんでしょうか。
google.comとandroid.com以外のドメインの内訳
次に上の10個の円グラフそれぞれについて、Othersをさらに分解してみます。
下の10個の円グラフがOthersを分解したものです。 円グラフの位置は上図(全ドメイン内訳)と対応しています。
端末ベンダやチップベンダが貢献しているのがわかります。
ということで、かなりやっつけですが以上です。
今後はさらに詳細な調査や考察をしていきたいです(小並感
来年から本ry