Contributor analysis
Some of you might find it interesting to know that over 900 unique contributors have participated in Django’s development since Jan 1st, 2007, as attributed by the svn log messages. I would say the community is very healthy especially if you compare it to other well known projects:
Django: 906
Pylons: 80
PyPy: 240
Linux Kernel: 4043
PostgreSQL: 150
Appache HTTP server: 118
SQLAlchemy: 36 (Contributors identified from trac tickets mentioned in svn log)
Python: 428
Note that I consider anonymous or guest contributors as a single contributor, so these number can be considered conservative if the project allows anonymous contributions.






Comments
That looks very impressive, but I think the barrier to entry skews the numbers a bit. Contributing to PostgreSQL, the Linux kernel or even Python itself requires a lot deeper understanding of programming than contributing to Django would do – and every one of the things on this list besides Django, SQLAlchemy and Pylons are not end-user libraries. You don’t have to know any of the workings of its internal code to use Apache or PostgreSQL.
While these numbers look very encouraging, I’d like to see how Django stacks up against competing projects like RoR, Drupal, Symfony, Zend Framework, Catalyst, TurboGears and similar web frameworks.
agreed mikkel, eventually I hope to perform some statistical analysis that could account for these differences.
So far I have only examined python and c/c++ based projects. Once I gather the data about other competing product, I’ll be sure to share it.
How did you find contributions “as attributed by the svn log messages”? Just “thank.(?P<name>.)”, or something else?
I would say this was a partially automated process. I created an app that identified all log messages with certain cues that signal attribution.
The app presents 10 log messages per screen with the best guess of what might be the contributor name. I then have the chance to approve the extracted name or refine the regex statements that extracted the names.
It was a painful process to say the least.