Views
Apache has gone through several distinct phases since its founding in 1995. The first dates to a web server development project at the National Center for Supercomputing Applications (NCSA) at the University of Illinois. Offered as open source code, the NCSA server generated web sites in response to a query from a user. Because those who had created the original code had departed the NCSA for Netscape, a group of eight developers, including Brian Behlendorf, was left to redevelop the code. Many recognized the potential value of such an application, and this core group began regular communications about how the code could be modified and improved. A public email list was established, and the Apache Group was born in 1995. (The name “Apache” was chosen in honor of the traditional attributes of endurance and warfare associated with the Apache Native American Indian tribe, and because of its pun on “patchy web server.”)
Apache had entered its second phase – that of wide community engagement. In its early development, the Apache Group operated on consensus, running a public email list in which anyone could voice opinions and have a vote in decisions regarding code changes and other matters. Because of the growing size of the Apache community, this approach toward decision-making quickly proved untenable. The Apache Committee was instituted and the original eight core developers were offered binding votes. All questions under consideration were made public, allowing feedback from the public email group. In order for a resolution to be approved, at least three votes in favor and none opposed had to be received in order to make changes in code, and a majority of three votes in favor had to be received in order to make other sorts of decisions. The Apache Committee could be expanded by vote of the Committee, if a developer offered significant contributions.
As more developers were admitted to the Apache Committee, the ranks of email subscribers swelled, many projects beyond the original Apache server emerged, and as commercial providers began working with Apache as Apache members (beginning with IBM in 1998), the need for a more formal governing body became clear. A non-profit organization called the Apache Software Foundation (ASF) was created to replace the Apache Group in 1999, beginning Apache’s third phase. ASF was formed to “provide a foundation for open, collaborative software development projects by supplying hardware, communication, and business infrastructure; create an independent legal entity to which companies and individuals can donate resources and be assured that those resources will be used for the public benefit; provide a means for individual volunteers to be sheltered from legal suits directed at the Foundation’s projects; and protect the ‘Apache’ brand, as applied to its software products, from being abused by other organizations.”
The ASF’s Board of Directors was charged with the overall management of Apache, but was not called upon to make decisions internal to each particular project. Instead, Project Management Committees (PMC) were established with oversight for non-code related decisions on each project. The chairperson of each PMC was also an officer of the ASF, making the linkages between projects and governance more explicit. A complex system of “meritocracy” was instituted, in which users could be promoted to developers to committers to members, based on the quality of their contributions. Members held voting rights and the power to elect the Apache Board. The ASF was also responsible for intensifying community engagement, hosting Apache’s first conference in 2000.
Today there are about 130 Apache members (who are also committers), though only around 50 of those are active. A step below members are committers, who must sign a license agreement and have access to Apache code. Today there are about 800 committers, up from around 200 in 1999. Developers (also called contributors) offer code suggestions through the developer mailing list but do not have the power to implement those changes. Project Management Committee members are elected from among committers and developers who have demonstrated competence in a particular area. They are permitted to vote on project decisions and can nominate others to serve on their respective Project Committee. The chairperson of each Project Management Committee is appointed vice president of the ASF and must previously have been an officer of the ASF (elected by the Board of Directors). Project Management Committees do not make decisions related to code, but manage the legal and community interface aspects of a project. A strong set of values and norms have evolved over time that govern the interactions among developers and decision-making processes.
With a system for engaging its community participants, a legal organization established, and a means of housing projects in an organization, Apache began to consider how it might respond to community requests for help in developing related projects. Building upon the ASF infrastructure, Apache launched the Apache Incubator in 2002, effectively entering a fourth phase. The Incubator developed formal rules for the intake of projects, requiring support from inside Apache, working code, and multiple “committers.” In order for a project to be accepted in the Apache Incubator, it must receive support from a sponsor (an Apache member, Board member, Project Management Committee or Top-Level Project). It must have at least three people working on it and have workable code. In order to be approved, the entity (Board or Project Management Committee) from which the sponsor hails must vote on the project. If accepted, a Mentor is assigned, and a review is conducted by the relevant Project Management Committee. While effective in reducing the pool of projects for consideration, this set of criteria has also raised questions about Apache’s links to commercial service providers, the group that is most likely to be able to meet the requirements for entry into the Incubator.
Through these four phases of development, Apache has proven to be a sustainable organization. Apache receives very few direct financial contributions, with annual funding streams estimated at between $25,000 and $60,000, much of that coming from individuals who can contribute directly over the Apache website. No paid staff members are maintained and overhead costs are kept low. However, the lack of direct monetary transfers obscures the substantial support Apache has received in labor. It is estimated that 60% of its committers are actually employed by corporations. Apache has partnerships with IBM, Sun Microsystems and Hewlett-Packard, and development efforts and donations of hardware have come from these commercial providers. In addition, participants must pay for Apache conferences, which also have corporate sponsors. It is unclear whether this money merely covers costs for conferences, or if some is redirected in other ways.
Apache had entered its second phase – that of wide community engagement. In its early development, the Apache Group operated on consensus, running a public email list in which anyone could voice opinions and have a vote in decisions regarding code changes and other matters. Because of the growing size of the Apache community, this approach toward decision-making quickly proved untenable. The Apache Committee was instituted and the original eight core developers were offered binding votes. All questions under consideration were made public, allowing feedback from the public email group. In order for a resolution to be approved, at least three votes in favor and none opposed had to be received in order to make changes in code, and a majority of three votes in favor had to be received in order to make other sorts of decisions. The Apache Committee could be expanded by vote of the Committee, if a developer offered significant contributions.
As more developers were admitted to the Apache Committee, the ranks of email subscribers swelled, many projects beyond the original Apache server emerged, and as commercial providers began working with Apache as Apache members (beginning with IBM in 1998), the need for a more formal governing body became clear. A non-profit organization called the Apache Software Foundation (ASF) was created to replace the Apache Group in 1999, beginning Apache’s third phase. ASF was formed to “provide a foundation for open, collaborative software development projects by supplying hardware, communication, and business infrastructure; create an independent legal entity to which companies and individuals can donate resources and be assured that those resources will be used for the public benefit; provide a means for individual volunteers to be sheltered from legal suits directed at the Foundation’s projects; and protect the ‘Apache’ brand, as applied to its software products, from being abused by other organizations.”
The ASF’s Board of Directors was charged with the overall management of Apache, but was not called upon to make decisions internal to each particular project. Instead, Project Management Committees (PMC) were established with oversight for non-code related decisions on each project. The chairperson of each PMC was also an officer of the ASF, making the linkages between projects and governance more explicit. A complex system of “meritocracy” was instituted, in which users could be promoted to developers to committers to members, based on the quality of their contributions. Members held voting rights and the power to elect the Apache Board. The ASF was also responsible for intensifying community engagement, hosting Apache’s first conference in 2000.
Today there are about 130 Apache members (who are also committers), though only around 50 of those are active. A step below members are committers, who must sign a license agreement and have access to Apache code. Today there are about 800 committers, up from around 200 in 1999. Developers (also called contributors) offer code suggestions through the developer mailing list but do not have the power to implement those changes. Project Management Committee members are elected from among committers and developers who have demonstrated competence in a particular area. They are permitted to vote on project decisions and can nominate others to serve on their respective Project Committee. The chairperson of each Project Management Committee is appointed vice president of the ASF and must previously have been an officer of the ASF (elected by the Board of Directors). Project Management Committees do not make decisions related to code, but manage the legal and community interface aspects of a project. A strong set of values and norms have evolved over time that govern the interactions among developers and decision-making processes.
With a system for engaging its community participants, a legal organization established, and a means of housing projects in an organization, Apache began to consider how it might respond to community requests for help in developing related projects. Building upon the ASF infrastructure, Apache launched the Apache Incubator in 2002, effectively entering a fourth phase. The Incubator developed formal rules for the intake of projects, requiring support from inside Apache, working code, and multiple “committers.” In order for a project to be accepted in the Apache Incubator, it must receive support from a sponsor (an Apache member, Board member, Project Management Committee or Top-Level Project). It must have at least three people working on it and have workable code. In order to be approved, the entity (Board or Project Management Committee) from which the sponsor hails must vote on the project. If accepted, a Mentor is assigned, and a review is conducted by the relevant Project Management Committee. While effective in reducing the pool of projects for consideration, this set of criteria has also raised questions about Apache’s links to commercial service providers, the group that is most likely to be able to meet the requirements for entry into the Incubator.
Through these four phases of development, Apache has proven to be a sustainable organization. Apache receives very few direct financial contributions, with annual funding streams estimated at between $25,000 and $60,000, much of that coming from individuals who can contribute directly over the Apache website. No paid staff members are maintained and overhead costs are kept low. However, the lack of direct monetary transfers obscures the substantial support Apache has received in labor. It is estimated that 60% of its committers are actually employed by corporations. Apache has partnerships with IBM, Sun Microsystems and Hewlett-Packard, and development efforts and donations of hardware have come from these commercial providers. In addition, participants must pay for Apache conferences, which also have corporate sponsors. It is unclear whether this money merely covers costs for conferences, or if some is redirected in other ways.
| subtopics: |