6年間のコミットを可視化
今日は、Git上にあるRedisの全コミットをプロットしてみたくなりました。これはRedisのコミット全体の90%にあたります。最初の短い期間だけはSVNを使っていましたが、すぐに切り替えました。
画像のフルサイズ版はこちらです: http://antirez.com/misc/commitsvis.png

各コミットは長方形で表されています。高さは変更された行数を示しており、対数スケールを使っています。灰色のラベルはリリースタグです。
コミット数は長期的に見てもほぼ変わっていないので、意外な点はあまりありません。ただ、現在は3.0や今後のリリースへ機能をバックポートしなくなったため、新しいパッチレベル版がリリースされる頻度は下がっています。
メジャーリリースは2.6、2.8、3.0の間で、だいたい均等な間隔になっています。ただ、初期のころはもっと頻繁でした。これは近いうちに変わるはずです。現在は、時間ベースのリリースへ移行しようとしており、毎年3回、新しいメジャーリリースを出す予定だからです(当然ながら、1年かけて行われたメジャーリリースに含まれていた変更量と比べると、1回あたりの新機能は少なくなります)。たとえば、3.2 RCは2015年12月の予定です。
特定のメジャーリリースにおけるパッチリリースの数は、対数曲線のような形になる傾向があります。リリースが成熟するにつれて、一般的には重大なバグが少なくなります。また、関心は徐々に新しいリリースへ移っていきます。
Githubには、こういうものや、さらに多くの情報を提供してもらえたらと思います。何年も続いているプロジェクトのコミットには、たくさんのデータが詰まっています。このデータは分析し、掘り下げていくべきです……グラフのセクションが何年も同じままに見えるのは、残念なことです。
追記:このグラフの生成に使ったTclスクリプトはこちらです: https://github.com/antirez/redis/tree/unstable/utils/graphs/commits-over-time
記事をランダムに読む