This is something I wrote on the 27th March 2005. No idea why - some commentary that must have been spinning around in my head.
Much of the strength of a community is built upon the subtle agreement to ignore the cracks in the foundation stones.
One of the foundation stones of the Apache community is that the community develops the software, instead of one or two inspired hackers. This is the major difference between Apache and Codehaus for example, Codehaus focuses on the existence of these icons of inspiration, declaring them a project’s despots. However, for Apache the only sign of despotism is in the oversight funnel that leads from the committers, through the chair, to the board, and on to the legal heart of the community, the members.
The issue with this community-developed software view is that in many places it’s not backed up by reality, most of the codebases are coupled directly to their inspired hackers, and while the community are aware of issues, inspiration (aka merit/doing) is often a leader in what the community is seeing.
So it is easy to see why this concept of community-developed software can be a bit hard to swallow; much of the time it’s not a piece of committee-development, but a piece of focused work - probably better quality most of the time, given the pain of committees.
Despite this reality, of inspired hacker/despots, there is a very strong mantra that the code is developed by the community and a general blindness to admit the despot reality. This seems odd, but it’s an issue of perception which lies at the heart of the ASF way of doing things. “The community is more important than the coder”.
In a despot-driven project, it is always obvious that the inspired hacker is the core of the project, if they should dry up then chances are the project will dry up. Few have the brazen guts to dive in and wrest a dying project from its despots hands.
In a community-perceived project, the whole community is the core of the project and even when the inspired hacker vanishes, the mental ownership of the project spans more than that one absence and there is far greater chance that somebody will feel empowered to step in and fix things, or make a new release.
So the difference is not the existence of despots, but the focus on their importance. The “community” mantras are an attempt to encourage the users to step up and take the despot role when previous despots have moved on. Unfortunately the pain of getting commit access works against the community mantra, the community may be more important, but they’re not allowed to commit.