Recently the Apache Software Foundations SVN repository hit the 1,000,000 commit milestone (landmark?). Congratulations to all who participate in the Apache community. You should be proud of what you have achieved. There are very few projects that last so long and survive being so large and so active.
In fact, I can think of only one other: KDE, of course!
To get from commit 1 to commit 1,000,000 took the ASF roughly 14-and-a-half years and the effort of 2506 contributors in the VCS. For KDE it was roughly 10-and-a-half years and the effort of 2154 contributors in the VCS.
I will write a couple of short posts comparing how Apache and KDE got from there to here, and will start by looking at the two most basic counts measurable: the number of commits and committers per day.
Below you will find a plot showing, for each day and for each of ASF and KDE, the number of commits made each day:
What strikes me as being very interesting is just how similar these plots are. KDE had managed to get off to a quicker start, but otherwise both communities grow to a similar commit rate and then plateau at similar levels.
The questions in my mind are:
- If these communities continue to grow (assumption), why does would the commit rate plateau like this?
- Is it just coincidence that this plateau happens at a similar level in both projects?
- Why is it that for half of the days since (roughly) 2006 there have been roughly half the commits than on the other days in the ASF? This is what is creating the “fork” effect in the ASF plot.
I am not going to offer any thoughts on these questions just yet. Instead, let’s take a look at the rate of committers per day in each of the communities.
Those of you who have seen me do these kind of plots before will no be surprised to see that the committers plots follows a very similar form to the commits plot. This is because, for various social reasons, the commit rate and the committer rate usually correlate: (personal) process, community influence etc.
It’s interesting to see that the forking in the commit rate is caused by a similar pattern in the committers rate. The question I now have in my mind is why? Why do only half the ASF committers turn up on every other day? If anyone has an idea I would love to hear it. I think this is fascinating.
It is also interesting to see that the committer rates in both KDE and ASF plateau at similar levels. There are not many projects that get as large as KDE and ASF do. We know from both Brook’s Law and Conway’s Law that a certain level of restructuring is required as teams grow in order to maintain productivity. Perhaps there is a point around 100 daily committers where communities (that are lucky enough to get that large) have to really rethink their structure.
More on this next time.