I recently extracted some data from the Drupal project's CVS and Git logs to see how the number of code contributors and total contributions have changed over time. If there was any doubt of our continual growth, the resulting charts demolish it.

Aggregated results from core and contributed modules.
Aggregated results from core and contributed modules.

As can be seen from the graphs, there is a pretty big spike in commit activity post-Git migration.


Aturetta (not verified):

I think the spike is not only due to Git migration, but also to D7 release, which forced most of the major modules' maintainers to publish a new release.

Johnny van de Laar (not verified):

Would be interesting to know how many commits are made by the same number of people then we can see how many new active developers in addition to that we know that we still attract new developers.


The second graph shows you the unique number of monthly committers. It shows that we have a growing number of active developers.

webkenny (not verified):

This is important data and I'd love to see how it maps to other open source projects to see if it has a wider net than just Drupal.

I, for one, can speak to my own contributions being more fluid since the migration to Git. I recently learned Git and even as a newcomer to the technology, it was still easier to use than having used CVS for a good portion of my career. I no longer find the concept of contribution painful. I'm even planning a 2.0 release for my module now! :)

S1L (not verified):

Great stuff!

Would it be possible to generate these kinds of graphs for other interesting indicators like for example: number of issue comments per month, number of commenters per month, number of forum posts per month, and number of forum posters per month as indicators for community activity and growth? Or would that make no sense?


I track those things and have most of that data in graphs. I will try to share that in the next few days.

Together with Angie (webchick), I'm working on making more community metrics available in real-time. Expect Angie to share more about that soon.

Adam Gregory (not verified):

I think that the implementation of sandbox projects has helped increase contributors and commits. It has made it easier for people to try and get involved in contributing. The Project Application process is still tough but sandbox projects have made it slightly easier.

webchick (not verified):

Yeah, the original stats I pulled were thrown off by two factors:

1. When a project is "forked" into a sandbox, its commits are logged in the versioncontrol_operations table again, so those stats count for double. So sandboxes of core particularly inflated the stats. I changed the query to only count distinct commit hashes.

2. Additionally, during the Git migration, the '[email protected]' user did a whole bunch of commits for mass-tagging/branching and stripping out $Id$ tags, etc. I stripped it out.

So this is the raw number with those adjustments (which took about 22K commits out of the pool in February), which is still pretty darn impressive.

I attribute a lot of this to the following factors:

1. People coming back "home" after months/years spent doing primary development on Github while Drupal.org was on CVS.
2. The addition of sandbox projects, which don't have a formalized approval process around them.
3. The mad dash to port modules/themes to Drupal 7.

But yeah. :) Nice to see the Drupal Association's money going to a great cause!

Larry Garfield (not verified):

Another factor here is that Git development tends to involve a lot more small commits than CVS, which tended to favor carefully curated larger commits.

Even with that, though, I don't think there's any doubt that moving to Git was a huge win.

Kevin (not verified):

Great success!

I'd also attribute some of this success to how welcoming the community has become to new contributors (in comparison to when I first started in 2008), with big thanks to Angie Byron and Larry Garfield who are the two people that always make me want to contribute more to Drupal.