Free as in community…..
September 24th, 2006 by HenFor a long while now (years+++), ASF conversations have been about ‘open development’ and not ‘open source’; though I personally prefer ‘open community’ as the model is not linked just to coding. Some have tried to document particular facets that make up the open community model, but there’s usually very little that can be put down, and a feeling that there is not enough there to explain what exists.
To start with, the ASF is not a place for developing new projects. Nobody starts a project there, and few ever have. Most of the projects that are ascribed to Jakarta joined Jakarta and then became top level projects. Commons is an example of one that was started, but its reason for creation was to find the common elements in code amongst Apache projects, not to develop new code. So if you have an idea, but no community and no code - Apache is not designed for you.
Mailing lists are one of the first things you can put on paper about the ASF model. There is strong pressure to do everything on public mailing lists. Mailing list technology breaks down with size, so pan-Apache conversations are not doable for all 1500 committers (or all interested parties). Niches are still doable at the current size - so a legal-discuss mailing list functions well, and the members mailing list is still small enough for pan-Apache conversations; though we don’t have uniformity of members across the projects.
There’s also a strong negative view of non-mailing list conversations. IRC is viewed as bad as timezones mean not everyone can be involved in the conversation. There is a tendency to only think of everyone-list => everyone-irc and not individual-head => many-irc. For example I happily sit and resolve a JIRA issue as WONTFIX, with all the decision making happening in my head. How much better if I chat with a peer on IRC or IM?
You can’t try to define the ASF model without using the Apache license (AL) as a cornerstone (someone pointed out that its AL now, not ASL). It’s a license that doesn’t try to enforce rules on the user or redistributor. It’s very business friendly - if only because the amount you have to worry about is a lot less, and it’s the only 21st century BSD-like license I know of. It’s been a big success - lots of projects (especially in Java) are using it even if they have absolutely no affiliation with Apache.
Being an organized foundation and not just a group of committers is another core part of the Apache model. Definitely a part that has been emulated elsewhere. I think the ASF emulated someone else on it, FreeBSD maybe? Not sure. There’s a chain of responsibility for what is going on from the members (shareholders as such), to the board (the member’s appointed operations management), to the VPs (blah, fancy title - I mean the chairs) and to the PMCs. That oversight chain is definitely a core part of the model.
It’s not without its discussion points. Who should be on a PMC is a common one. Some think that the PMC and committers should be much the same, and there should be a high barrier to entry. Others think that the barrier should be much lower and that people should have to then earn the right to be on the PMC. It’s not a mandated definition, so different projects handle it differently. Personally I think that within the ASF, everyone should have commit rights to everything public. Projects would not have committers. PMCs then become the projects. It’s a great suggestion in my opinion as it simplifies the svn authorisation, opens public things up (always good), and does away with the PMC/committer debate. Everyone is a committer, so the PMC has to be those who have earnt it; but it doesn’t create two tiers within the project. The negative view is that people don’t want people they don’t trust being able to commit - to which I answer “that’s why we’re usinig a source repository”. Okay, not my answer - I stole it from one of the Subversion members.
A rather amusing part is the +1/-1 style of conversation. It’s not the ASF’s originally, as far as I know it came from the IETF committees; but it’s definitely become a part of the ASF model. A very simple way of acknowledging agreement/disagreement and it ties people together as a community. “Yes it’s a bit silly, but it works” is a positive building block. I’ve sat in an IRC meeting at work and after a while of trying to figure out that ‘yes, everyone agrees we can move onto the next issue’, pushed people towards +1s and -1s because it’s just easier.
So, how many Apache people does it take to put up a lightbulb? A PMC is in charge of putting up lightbulbs, and the rest of the community can complain if they do it wrong.
Of course, it’s never that simple. Methods range from calling a vote to put the lightbulb up, ensuring you get three +1s from PMC members and notifying the PMC that the lightbulb will be put up; having a huge flame war about the idea of putting up a lightbulb, usually with lots of cross-posting of mail lists (an evil thing is cross-posting); or one person just does it and waits to see if the rest complain. My personal favourite after a good many years of trying variants is to announce “On Friday I’ll put the lightbulb up” a few days before and then to just do it when Friday arrives; priorities not withstanding of course. Deleting the vendor page from the Jakarta site is one of those, though someone always -1s. Damn silly page if you ask me.
Hidden in the above was another Apache model component though. Three +1s. That’s how many it takes to make a decision that needs oversight. One person is a dictator, two people are a timebomb, three are a community (err, maybe that should read ‘compromise committee’).
Returning to public mailing lists above, because the previous paragraph reminded me of it. Making everyone talk on the mailing list is linked to the cluetrain manifesto. It’s about opening up the conversation to everyone, because communities are built on conversations. Now I also argue that private conversations are the foundation-stone for those communities, if the core of a community are friends then the community will blossom - but it doesn’t help to have firm foundations if you don’t build anything on them. Public conversations are the building.
I’ll also bring up forums at this point. Many want forums, many at the ASF are against them. Where many often means ‘vocal minority’ in both cases. I think there’s a fear that pull methods like forums will mean oversight will be less than push methods like mailing lists (let me introduce you to my mail filters… how many unread maven-dev emails?). That fear ignores that forums can just be facades on mailing lists. I’d quite like to see a standard forum interface at the ASF for all its mailing lists, but apart from a +1 you’re not going to see me doing anything towards it as GMail is close enough.
Again spinning off the last paragraph - there’s some debate as to what +1 means. Does +1 mean “Sure, that sounds good”, or does it mean “That sounds great, and by jeeves I’m going to roll up my sleeves and muck in to get it done”. Or something that sounds less like I want to move back to England. People generally think it’s the latter, but there are many parts of the ASF that need those vague +1s to survive so making it a part of the model would be damaging.
I think a lot of this adds up to one thing. The search for enterprise open source. Now, don’t make rash judgements about what I mean there - I really should be saying ‘enterprise open community’. It’s not software (peopleware, whateverware) for the enterprise, it’s about trying to apply the difference that exists between an enterprise company and a small company to open source projects. What do we get when we amalgramate in large numbers; what is the value. We get to lower costs - meaning time and money, in terms of shared hardware and shared expertise. We get to share brand, so that trust for one spreads to the others, though it also has a backlash of weakening the original trust a little. We get bigger boots - so if Apache can speak as one on an issue, they can speak louder. The desire to open the Java Community Process and an email on Sender something or other (email tech) are ones that spring to mind. I don’t recall if the ASF signed anything etc on the European patent topics.
I don’t think we’ve succeeded in finding enterprise open community, but it’s definitely been a good stab in the right direction so far. What do you think? What is the benefit of enterprise open community?
Disclaimer: So what if I’m on the board at Apache - this is just rambling and nothing to get your hair in a tizzy about. It’s not official - whatever that means.

September 24th, 2006 at 11:51 am
(like the special edition pharagraph, probably best tho’)
I take the point about, “a bunch of friends, a community does not make”.
Does sound like the community support tools at Apache are not quite adequate yet.. something doesn’t seem quite joined up there.
You did miss one point tho’.. “change”.. Apache has changed a lot since it was just the httpd, it has changed since Jakarta meant Tomcat + Ant and changed in the time since you became heavily involved (to my observations). Change has remained something that Apache and OSS (OSC?) generally cope with relatively well..
September 25th, 2006 at 10:39 am
Actually, FWIW it looks like the ASF was founded before the FreeBSD Foundation. The ASF in 1999, and it looks like the FreeBSD Foundation first started operating sometime in 2001, although it’s hard to tell because the Articles of Incorporation on their website don’t actually have the date field filled in. I’m not sure if there were any open source projects that had associated foundations back in 1999, but if there were any to inspire the ASF it certainly wasn’t FreeBSD.