A look at the Apache Software Foundation

Digital Incubator

© Lead Image © Aleksey Mnogosmyslov, 123RF.com

© Lead Image © Aleksey Mnogosmyslov, 123RF.com

Article from Issue 179/2015

Apache incubates hundreds of major software projects and brings together thousands of developers – all without ensuing chaos. How do they manage it?

Apache projects such as Hadoop [1], Cassandra [2], Tomcat [3], and Spark [4] have enjoyed great popularity in data centers for years, but the venerable HTTP server [5] is the tool that laid the foundation of the Apache Software Foundation (ASF) [6].

The HTTP daemon (httpd) from the National Center for Supercomputing Applications (NCSA) [7] was the precursor to the Apache server. Rob McCool worked at NCSA in the early 1990s and was awarded the contract to develop a web server that was not as complex as the one CERN preferred to use at the time. He collected the code in the fledgling Internet.

The server was pretty much neglected when McCool left NCSA to start a new job. Just a few users kept sending their own patches to keep it alive. Brian Behlendorf collected them, which is how "A patchy server" came to being. It remains unclear whether the Apache server is named after this play on words, or after the Native American tribal group.

Steep Climb

In April 1995, the self-proclaimed Apache Group, which consisted of eight developers, published a first version 0.6.2 of the server; version 1.0 appeared in December 1995. Within a year, the Apache user figures were already outperforming those of the NCSA httpd. In the wake of this development, the Apache Group founded the Apache Software Foundation (ASF) in 1999. More software projects sprung up in the Apache environment, which also looked after the Perl and PHP modules.

Today, the ASF manages 164 top-level projects, with 110 subprojects. Additionally, 35 junior projects, called podlings, live in the Apache Incubator [8], and 39 initiatives are in the Apache Lab [9]. That is 348 open source initiatives altogether. Two new projects are added on average each month (Figure 1), and the total number of ASF code suppliers is 4,700 [10].

Figure 1: The trend is upward for both top-level projects and the Incubator. Fluctuations in the Incubator arise because mature projects move to the top level.

Apache License 1.0 was formed in the mid-1990s. At that time, the Apache Group had to be named in promotional materials, but that requirement later ceased. The latest version 2.0 is compatible with GPLv3 if a project integrates Apache 2.0 code into its GPLv3 project. It does not work the other way around [11].

On the Stage

The ASF describes its organizational form as a meritocracy. Grossly simplified, that means: Those who do a lot have a lot to say. Existing members vote on the admission of new members; the details are regulated by statute [12].

Apache projects run through several predetermined stages (Figure 2). Any projects delivered into the custody of the ASF will initially land in the Apache Incubator. If the code flourishes and a community forms around the project, it becomes a top-level project [13] and is on a par with all other projects at that level.

Figure 2: Companies such as Google, Facebook, and Twitter often rank among both user and developer in the ASF development model.

The ASF gives its members the opportunity to experiment with code to stimulate innovation. Apache Labs provides the corresponding infrastructure. If one of the experiments is successful, it ends up in the Incubator and follows the path described above. The foundation even thinks about the cleaning up process: Projects that are no longer maintained or current land in the Attic [14]. The code remains accessible and can be revived by interested parties.

However, those hoping for a second life in the Apache project for code that is no longer maintained do not understand the system. The ASF only accepts code if the owner follows certain rules and meets certain conditions. These include:

  • The code must be executable. The ASF justifies this rule by saying that a community can only be formed if the code really works. And, if a lengthy design phase is required at the beginning, that would often result in the community becoming fragmented.
  • The owner of the code must pass the copyright to the software and the intellectual property contained therein to the ASF within the framework of a Contributor License Agreement [15]. Only then can the users be sure of landing in a lock-in at some point.
  • Last, but not least, the project needs a sponsor within the ASF or an officer. This person must act as a mentor, help the project, and be the liaison to the project's Project Management Committee (PMC).

The ASF believes in officials who take the lead: Not only is there a PMC for each project, there is also a member of the foundation who acts as the official contact person for the project [16].

Well Looked After

A board with nine positions sits at the top of the ASF. Additionally, 16 officers take care of organizational matters, such as marketing or fundraising, with the Treasurer and Fundraising having two representatives. The foundation still has numerous sponsors [17] who finance both the infrastructure and the work of the foundation and events, including the ASF Conference ApacheCon.

Sponsors can choose from different levels. Google, Microsoft, Facebook, Citrix, and Yahoo, for example, are among the platinum sponsors who each pay $100,000 a year to the foundation. Other well-known companies are gold, silver, or bronze sponsors.

This system is reasonable because the ASF manages numerous open source projects that come from these companies and are used by them daily. As sponsors, they promise to exert influence on project development and provide better access to developers. The annual financial reports show where the money flows, and the 2014 report is available online [10]. The company's employees meet free Apache developers at conferences where new developments are presented and discussed.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More