Well, it is true, I am a V.P. ! Unfortunately this means I have to work more for no money. Still I am happy and a little proud of it, as it means the other people in the team trust me. If you are totally confused now, read on. And if you want to get such a nice title too, you should read on aswell: everybody can become a Vice President. Well, everybody who puts some effort in it.
But let’s start the story from the beginning.
Before around 10 years I worked as a junior programmer in a great company. It was huge luck that the team had some people in it which I consider gurus. They made simply amazing and impressive things and wow, how much did I learn from them. One of these guys told me about “The Apache Software Foundation” and that it is always a good idea to learn from the code of these people. Curious I went to the websites. These were damn ugly in the old times and some projects still keep that old style. But the code I found was good: all Open Source, great license and easy to get in touch with the people. I was lurking at some mailinglists then and hoped my english would improve so much that I could understand more from what has been said. After a while, I understood better.
Later I learned how to contribute patches. In the Apache Software Foundation it is pretty easy: check out the source code, patch, create a patch file and send it to the mailinglist with a description of what you have done. Usually people ask you to create a Jira/Bugzilla entry with the patch. After a review from the Committers, that patch goes into the source.
What actually is an Apache Software Foundation Committer?
While one starts a Contributor who doesn’t have write access to SCM, a Committer is one of these people who can actually alter the source code. Committer-ship cannot be simply requested. One must earn it. That means, projects will have a (private) vote on each individual they consider trustful and invite that person then to join. Every project has different strategies to add new committers. On some projects you need to stick several months with the project and show your support (aka, be active on the mailing list or contribute patches). Some other projects count the patches you send and don’t look at the time at all. However, finally the project members decide if you can join them as a Committer. If you are invited, you can consider it as some kind of honor: the people like what you have done and they mostly think you are a pretty nice guy.
I wrote “the project decides” – but actually it is the PMC, the project management committee, which decides if you can join or not.
What is the Project Management Committee (PMC)?
If you have become a committer and had some fun with the codebase (or doing something else for the project, committership is not tied to code only) you can become a PMC member. You should know, only PMC members have binding votes. Uh, votes? Yes votes! Most things on Apache projects are decided with a vote on the mailinglist.
One of these decisions is for example the vote if a specific version of the source code should be released or not. You can identify such votes with the prefix [VOTE] in the mailinglist. Usually one can repond to such a vote with -1/+1 (there are some other options available but these 2 are the most used). Of course everybody is invited to express an opinion with casting a +1/-1. But only those whose votes are binding (PMC members) are really counted for the actual decision. It means, if 10 committers, contributors or users say “-1″, but the PMC all give a “+1″, the decision is “+1″.
Anyway, I have never seen a PMC acting against the will of users and committers. If you vote as a contributer, you can be sure that your vote is discussed and considered.
The Apache Software Foundation runs billions of projects. How can that work?
The Apache Software Foundation is not only a source code hoster. This is the difference to Google Code or Github. The Infrastructure is of course important, but what ASF people really make to stick together is the community. As a community, we have a similar goal: write cool software and publish it for free. But we want even more: we want to drink a couple of beers together, promote our software in an easy way and want to be safe when it comes to legals or trademarks. This all is happening somewhere in the corners of the ASF. There are great people working in the background who care on that – but how do they interact?
There is something which is called “The Board”. The Board are a couple of people who are elected on a yearly basis. They are “the elder people” at Apache. Most of them stick around for countless years. They have experience. They are mostly idealistic. And they try to run something which is called the Apache Software Foundation. You should know, the ASF is incooperated. This does mean some work. These people do cary on them.
Also they make sure the budget is spent correctly. The ASF gets some donations (yes, you can donate too). And the Board takes care the donations are used for the ASF and not for some holidays on Bueno Aires. Donations are spent for the Apache Con or for our Infrastructure. The ASF has even some contractors who deal with the really, really gory details: the servers. So we are on the safe side: if something fails, somebody from Infra is already working on it. And there is a good bunch people need to take care.
To make a proper work and keep the ASF running, the Board needs information on the organisation itself. Somebody needs to tell them if everything is well. And this is done by the PMC chairs.
The PMC Chairs – the Vice Presidents
The PMC Chair is one of the projects PMC members. There are different strategies on electing them; some projects do not change the chair for years, some do an annually election. Anyway, this Chair makes sure the Board gets the information which is needed. Therefore he writes a regular board report which contains the most important things. The Board usually discussed the report and approves it. If something is going into the wrong direction, it intervenes. Besides this task, the Chair does not have much to do.
Well, in most cases. Actually it seem that the Chair is a person who is listened too. At the Apache Incubator project were some problems, until Jukka Zitting became Chair. He got into this role because of his nice way dealing with things and his great ideas how to improve things. For my taste, he did a fantastic job so far and my feeling says, as a Chair he could positively influence the project.
While in theory the Chair is just the connection between PMC and Board, in some cases it is more.
That being said: it is quite a honor to become a Chair. It means, the PMC trusts you. As the Board does approve every new Chair, it does also mean the Board trusts you. Besides that, there is nothing special at the role: you are just a committer as everybody else. There is no Boss at the ASF. The one who takes the leadership, well leads. This usually happens when you have some spare time to spend. After the time is up, you probably are pretty glad somebody else takes the leadership role and writes some more code. This way the software does always envolve.
Thank you guys from the Apache Logging Services Project, who elected me as an Chair. With the upcoming log4j 2.0, and pretty active log4php and other interesting changes, we are heading into exciting times! We constantly need help, so if you are interested in logging, join us! We have logging implementations in C++, Java and PHP. And we care about Chainsaw a Logfile Viewer. Get in touch!
Want to become a committer known and join a great community? Read on!.
Follow me on Twitter :-)