Does Community Matter (Oh and GIT is Frickin' Cool BTW)
Let me start by saying some of the flexibility that GIT gives you is just awesome. Take the following command:
$ git log --since="1 year ago" --pretty=format:"%an" | sort | uniq -c | sort -nr
That will print out a list of all the authors of commits to a GIT repository along with the number of commits for the last 1 year (Hint: if you want to see who made the commits as opposed to who authored them, change the %an to %cn)
Now that gives us something interesting… A quick bit of shell tweaking and we get the following set of commands:
$ git log --since="1 year ago" --pretty=format:"%an" | sort | uniq -c | sort -nr > all-counts.dat $ echo commits,author > top-counts.dat && \ head -n 10 all-counts.dat >> top-counts.dat && \ tail -n+11 all-counts.dat | \ awk '{total=total+$1;count=count+1}END{print total " Others (" count ")"}' >> top-counts.dat && \ sed -e 's/ *\([0-9]*\) \(.*\)/\1,"\2"/' < top-counts.dat > graph.dat
Using R we can then plot a nice bar graph:
d<-read.table("graph.dat",header=TRUE,sep=",") png("graph.png") barplot(d$commits,names.arg=d$author,cex.names=0.7,las=2,col=rainbow(10),ylab="Number of commits",main="Commit authors") dev.off() q()
Throw that all together, and let's take it out for a spin on… Jenkins:
Let's try some more, eh!
Well we should probably take a look at Mr Jenkins brother
How does CruiseControl fair?
Well I don't know about you, but if I were picking a CI server, based on the above three graphs, I think I know which one I'd be choosing.
Let's try something I don't have a stake in though...
CSS baselines:
Bootstrap from Twitter
Foundation from zurb
OK, so Bootstrap is mostly one committer, while Foundation is more evenly spread across four committers.
What about JavaScript
Backbone.js
ember.js
We're not exactly comparing like with like, but these are both projects addressing the similar problem spaces… and you know what, they seem to have similar community profiles.
Let's take some more from Java
Apache Maven
Eclipse Aether
Jackson (The JSON parser)
Logback
Apache Cassandra
—Stephen Connolly
CloudBees
cloudbees.com
Stephen Connolly has nearly 20 years experience in software development. He is involved in a number of open source projects, including Jenkins . Stephen was one of the first non-Sun committers to the Jenkins project and developed the weather icons. Stephen lives in Dublin, Ireland - where the weather icons are particularly useful. Follow Stephen on Twitter and on his blog .
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.