The Apache Software Foundation's President Dissects the "Apache Way"
As we reported recently, the ApacheCon 2009 conference is rapidly approaching, to be held November 2nd through 6th in Oakland, California. The conference will feature sessions and speakers talking not only about web server- and services-related topics, but about the Hadoop software framework for data-intensive queries, and the many sub-projects that the Apache Software Foundation oversees. The event is partly intended to mark the 10th anniversary of the Apache Software Foundation, and we already ran a post from Jim Jagielski, co-founder and chairman of the foundation, on Apache's future.
Today, we offer up a guest post from Justin Erenkrantz, president of the Apache Software Foundation, on community efforts that drive Apache and the workings of the foundation. Here it is.
Tracking the Elusive "Apache Way"
By Justin Erenkrantz, President, Apache Software Foundation
Over the past decade, the enormous reach of technologies from The Apache Software Foundation (ASF) make them among the most ubiquitous in open source, with billions of users each day. The ASF's first project also happens to be its most popular: the Apache HTTP Server dominates the Web server market, powering more than 105 million web sites worldwide.
As an all volunteer, non-profit organization, the ASF is regularly lauded for its consistent, repeatable, open development model. This model, affectionately dubbed by some as "the Apache Way", is behind the ASF's success in scaling from a single project to 70 primary projects today.
Each of the ASF's primary technology projects (known as top-level-projects; abbreviated as TLPs) are independent, governed by a Project Management Committee (PMC). While you can't force creativity, and you can't force collaboration, you can get out of the way. What's unique is that the ASF doesn't have "management" that dictates who should do what or how the technology should perform: that's up to each TLP to decide under the guidance of the PMC. We believe that our community is one of our greatest strengths behind the Apache brand. The ASF's developer-friendly culture has championed great creativity and project diversity.
It's interesting to note that many popular ASF projects represent different ways of achieving the same ostensible goal. For example, both Apache Ant (when coupled with Apache Ivy) and Apache Maven represent two pillars of developing Java-based build systems, but do so with very differing philosophies; Apache MyFaces and Apache Struts are two ways to create Java-based Web pages. More such examples exist, including Apache Tomcat, Apache Hadoop, and Apache Wicket. The Foundation's perspective is that as long as there is a healthy community to drive the individual projects, we are always happy to support and encourage alternative implementations: there does not have to be only one "Apache" solution.
One of the core tenets of the Apache Way is that the projects are founded on a meritocracy: those who contribute the most receive the most input into the direction of the project. When visiting the OSS Watch group in Oxford, I learned that the term "meritocracy" can be first found in Michael Young's book "Rise of the Meritocracy". Although Young takes a rather satirical and pessimistic view of this governance model, the key differing aspect in Open Source is the remarkable level of transparency within Apache projects.
A critical characteristic for Apache projects is that all major decisions and discussions must occur on the public mailing lists. To paraphrase one of the canards from one of the founders of the ASF, Roy Fielding, "If it doesn't happen on-list, it doesn't happen." This does not mean that people can not get together face-to-face --as happens at our ApacheCon events-- or over IRC or Skype, but all discussions must be brought back to the list to allow others to contribute and to ultimately make decisions.
The key decision-making process in Apache projects is characterized by voting and mandating that there is a minimum quorum of three binding votes that are cast and that there are no vetos. These binding votes reflect the structure of the community: while all people are encouraged to cast their opinions on the matter at-hand (even those who are just "lurkers" on the list), only Apache Committers (developers who have been granted access to contribute code, patches, or documentation by "committing" or "writing" directly to the code repository) and are on the TLP's PMC are able to cast a binding vote.
One of our biggest challenges as the ASF has grown to nearly 2,000 Committers is how to teach the Apache Way to those interested in bringing new Open Source projects to the Foundation. The way to address this on a formal level is through the Apache Incubator, created to "mentor" new projects and to assist in their learning how to operate as an ASF project. ASF Members who find the candidate technology (called a "podling") worth pursuing, they can then volunteer to be a mentor to the project.
Rather than overseeing its technical development, the mentor's main responsibility to a podling is more social, by helping to pass down the traditions and culture of other projects. Over time, once the podling has demonstrated that it has learned the Apache Way and can govern itself successfully, it can become a full-fledged ASF project and graduate to a top-level project.
Anyone can submit a podling proposal to the Incubator for consideration as a new ASF project. If you have an existing Open Source project and would like to join the ASF, we encourage you to check out the Incubator, and submit your proposals to firstname.lastname@example.org.
A great way to learn more about the Apache Way is at ApacheCon, the ASF's official conference, trainings, and expo. Dozens of hands-on training hours, more than 80 sessions, entertaining keynote presentations, excellent networking opportunities, social events, and special activities open to the general public (such as the Hackathon, where you can collaborate on code alongside ASF Committers) make ApacheCon an ideal opportunity to get to know us better in a relaxed, friendly environment.
Justin Erenkrantz is President of The Apache Software Foundation. He is also Chief Architect at Joost and has recently completed his PhD at the University of California, Irvine. He's a long-time contributor to numerous projects, including the Apache HTTP Server, Subversion, APR, Serf, mod_mbox, and flood.
Join Justin and members of The Apache Software Foundation at ApacheCon, 2-6 November 2009, where the ASF will be celebrating its 10th anniversary and ushering in the next decade of the Apache Way with the global community of Apache users and developers.