Last week I read this interesting post by Lars Vogel, promoting people to contribute to the Eclipse project. He shows that a single developer can make a great difference to a project, giving as example how two developers have done more than 50% or all commits of the Eclipse JDT project.
After my previous experience trying to contribute to the Eclipse UI project (since then, and a couple more iterations, I decided to abandon the change), this post created mixed feelings in me. On the one hand, every project has major developers that do most of the coding. But IMHO, having one/two developers as more than 50% of your commits may have other (not so good) implications. They may have taken control of the project, creating a selected group of “blessed” commiters, and generally making it hard for others to commit because things have to be done their way.
So I decided to check if this is an attribute of the Eclipse community or of the open source community in general. I did this by checking how the commits to a project are divided between the “main” commiters (the 3 highest commiters of the project), and the “small” commiters (those that commited little so they are counted as others in the commit statistics). The data is taken from Ohloh using the last 12 months of commits for the project. The columns “#1″, #2”, and “#3” show the percentage of commits done by the highest 3 commiters, which are added in the next column. The “others” column shows how many commits are done by “small”, possibly casual commiters. I decided to specifically check the Apache Foundation specifically as it is a similar organization to Eclipse, and also some well known OSS projects that I a aware of. The results are mixed, and I’m not sure something can be concluded, but the research is pretty interesting :-).
[table id=1 /]
[table id=2 /]
Various OS projects
[table id=3 /]
Since data does not lie, we can see that most of the projects have a very active core of programmers, for in most cases the three highest commiters make up for more than half of the commits in the project.The Linux Kernel and Firefox show a very good and large community effort, having both (almost) 3/4 of their commits done by small commiters.
I did not find any real difference between Eclipse and Apache projects. In both there are strong core commiters and varied ranges of other commiters. In truth, I was surprised to see the small amount of “other” commiters in Apache projects. There may be very good reasons for this, but alas, I have work to do and can’t spend all my time analysing this data.
So I guess that in OSS, you CAN make a real difference. But you probably have to work real hard to do so. And many of us just don’t have the time :-(.