Outer Web Thought Log
June 23, 2003
Apache projects and ASF membership
When making the suggestion yesterday that the distribution of ASF members across (top-level) projects is somewhat askew, I knew I had to go in and check my assumptions or I'd be making a fool of myself. Furthermore, Stefano just posted a personal and well-written account on the value of ASF membership, with an interesting endnote:
I personally believe in keeping the bar low for committership and
keeping the bar high for membership.

I believe that this helps us getting more people inside the foundation
(potential members) but keeps the real powers of the foundation heavily
filtered and therefore highly focused on what it means to be a member.
As much as I understand his rationale, I was curious to see how this reflects upon the actual representation of each top-level project in the Foundation. Armed with a pinch of Python and the CVS permission configuration file, I tabulated some data which reflect the technical distribution of ASF members per top-level projects, i.e. the projects a given ASF member has commit access to. Relating that to the amount of normal committers who have access to a given project produces the following chart:
members-pct.gif
Which means that i.e. for the httpd project, 63% of the possible project participants are ASF members. Things to note: technicaly, James was still considered to be a Jakarta project (repository-wise) at the time I run my little script, instead of a proper top-level project. PHP also doesn't appear on this chart, since they operate their own infrastructure. What you can't see from the previous chart is the lack of relationship between community size and membership, so here's one which reflects this:
community-size.gif
This puts the amount of people with technical commit access (members included) to one (or more) module(s) of a top-level project in perspective against the percentage from the chart above. Now, things are more interesting. Relate Jakarta and XML with the TCL project.  Or APR and Cocoon. Of course, the oldest project (httpd) quite logicaly has a large amount of members.
project-members.gif
This last one basically shows what projects members are working in. Out of 111 members (at the time of running my script), more than half of them have somehow commit rights to a CVS module related to the httpd project. 25% of the members is interested in the XML project, etc...
Caveat: the assumption that commit access reflects actual involvement in a project is definitely wrong. I.e. of the 14 ASF members that have commit access to the Cocoon project repository, only 7 or 8 can be considered active participants. Factoring in that change would change the graphs dramatically, but would be hardly scientifical. Also, the large amount of Avalon committers is caused by 60 Cocoon committers that have access to a certain Avalon CVS module. In reality, there's only some 30'ish 'real' Avalon committers, and some of them also are Cocoon committers.
Caveat: statistics are a means to prove anything. So please take all this as a grain of salt:
Comments and reactions are much welcomed.
Posted by stevenn at June 23, 2003 03:16 PM ()
Comments

I was wondering what James' project numbers are compared to this. Any reason that TLP was excluded?

Posted by: Serge Knystautas at June 23, 2003 04:01 PM

Because James' source is still inside the jakarta-james CVS module, it gets added to the Jakarta project. I manually count 13 committers of which 3 members, which puts it somewhere in the same league as Ant percentage-wise, but near the bottom of the third chart.

Posted by: Steven Noels at June 23, 2003 04:10 PM