Friday, September 14, 2007

On diversity and contributors

Much has been blogged recently about diversity in the project members and committer communities, and of the willingness to embrace contributions from the outside.

While I agree with what appears to be a consensus - that diversity is "A Good Thing"(TM), I would like to point out that there are other kinds of diversity than what can be calculated from the host-part of committers' email addresses.

One such diversity is that of contribution patterns. I would guess that most module owners work on their modules to fulfill the plans of both their daytime employers and the OSS project itself. Many contribute to one or more Eclipse projects on a regular basis, some may ONLY work on Eclipse itself.

And then there's people such as myself, who can hardly even qualify as software developers on "the day job". I just contribute minor stuff here and there: The odd bug report, a patch, technical clarification on some unexpected (but correct) behavior. When I get hit by a bug, and I'm able to, I'll gladly dig down to the bottom of the implementation of some plugin or other and fix it. But I rarely stay at the bottom for long - and thus I'm hardly committer material.

At any rate, I'd say that ad-hoc contributions are useful:

  • A fixed bug is a good bug, even if you didn't know it was there in the first place.
  • They sometimes add a missing piece of functionality which all downstream users may benefit from (unplanned).
  • They serve as a litmus-test for code clarity and quality. If a "total stranger" can find and fix a bug without prior knowledge of the code base, that's a good sign. People giving up after an initial glance is a bad sign.
  • They sometimes help to cross pollinate, inspiring adoption of useful code from other projects. So many software bugs come from re-inventing the wheel when it could just be imported.

The Eclipse projects I've been in contact with (mostly WTP, some EMF) welcome this kind of contribution with open arms, typically respond quickly, and give good, positive feed-back, even for rejected bugs/patches/ideas. That leads me to conclude that this kind of diversity of contribution is definitely appreciated by the projects, even if 95% of the people supporting it come from the same company.

As I see it, while the diversity of committers is crucial for the long-term survival of a project, nurturing the "satelite contributors" helps to keep the project healthy, too.


Ed Merks said...

I agree with you completely and of course appreciate your kind words about your experiences with EMF. When you work in a large company like IBM, having folks from outside your group contribute to your project is indeed a form of diversity that will be under appreciated by folks looking at company names as the one true measure of diversity.

On my recent blog, Kim Moir commented:

Other statistics are also interesting...committers by country, committers by gender, the number with purple hair and so on. Diversity makes life more interesting.

Doug Schaefer said...

Great words Jesper. You are right on the mark. It's probably one of the best aspects of the CDT project. We have people from around the world and from many different organizations raising bugs, some with patches, but always helping us do the right thing. Projects are nowhere without a community like that. Thanks for this!