Does Community Matter (Oh and GIT is Frickin' Cool BTW)

Written by: Stephen Connolly
2 min read
Stay connected

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.