Mr. Behlendorf, can you tell us about the history of the Apache web server?
Behlendorf: Briefly, Apache was founded in 1995 by a group of Webmasters concerned about the future of one of the original web servers, the NCSA server. NCSA’s developers had been hired away by Netscape, and it meant there was no one left to incorporate the bug fixes and improvements that we were submitting.
So we looked at the license, saw that it was essentially “Open Source” (long before Open Source was an actual trademark or concept) and allowed for redistributing of modified versions. We decided to take that future into our own hands by combining those patches ourselves into a new work. We called it “Apache” because it was “a patchy server”, and because we thought that the name had the right attitude for a rebellious group like ourselves.
In 1998, after three years of growth no one could have imagined, we realized we needed the legal defensibility and organizational structure that would come from putting the IP and the future of our own project in the hands of a 501c3 non-profit. So we started the Apache Software Foundation, a membership-based organization, and created a governance structure that allowed for many new projects to be started. Since that time we’ve launched over 25 different top-level projects, with several more on their way through the incubator.
Where do you expect ASF is headed in the future?
Behlendorf: We are growing rapidly, and anticipate continuing to add a couple of new projects a year. We are attempting to “scale” what we consider the most important part of our process: the ability to grow real, diverse, consensus-driven communities. Meanwhile we are working with other Open Source groups to make our licenses more compatible, to define a patent policy, and address other issues that affect the foundation as a whole.
The Apache server reached 10 million sites in June 2000, 20 million in November 2001 and 30 million in November 2003 according to Netcraft. What do you credit its success to?
Behlendorf: Being the right product at the right time. The web was just getting underway when Apache got started, and from the beginning our focus was on a production-quality server you could run your business on, because all of us were participants in the first wave of web businesses. We also saw the addition of many features crucial to hosting many web sites on commodity hardware, which helped the Netcraft numbers look even more impressive. And we plugged into a virtuous circle, passing a point of increasing returns, as more people started to use it because they could see that many other people were using it, and the more people who used it the more who became developers, and the stronger the software became.
As co-founder of the Apace Software Foundation how would you describe the collaboration of the group?
Behlendorf: The ASF has about 140 “members” – these are developers and others who have been invited to the foundation by other members, and who elect the board of directors. The board then elects a Chairperson, President, Secretary, and Treasurer. The members of the Foundation predominantly use mailing list to communicate and coordinate, though we do have at least one unofficial in-person members meeting per year at our yearly Apache conference, and an Internet Relay Chat-based official meeting each year where those new members are voted in. The members also discuss policy, new projects to accept, infrastructural issues, and where to go get a good beer when visiting a particular city on business.
Where do you see potential growth for ASF?
Behlendorf: The web server market is a mature market now – the market shares of the different servers are not going to change drastically within the next few years. So what’s been amazing has been the growth of the other products within the Foundation. Some of them are very well known, like SpamAssassin and Struts; some of them are just getting started, like Derby and Geronimo. But we believe that they will in time become as popular as the web server became, as we hope each plugs into that same virtuous circle.
Geronimo is an Apache Software Foundation-licensed application J2EE server project while the Derby effort is undergoing incubation at the ASF. Geronimo provides support for J2EE features like JTA, JACC, Connection Pooling and Web services. Derby messaging database technology is written in Java and supports platforms such as J2ME, J2SE and J2EE. Derby does not require database administration or resource management and advanced features include signed JAR files, optional LDAP and application-defined authentication. Geronimo comes pre-configured with one data source, Derby, which stores internal data.
What are the strengths of successful open source software?
Behlendorf: Successful open source software projects all share a couple of common traits. Their development is done publicly, transparently, with a diverse development community whose decisions are made through trust and consensus. They welcome new developers and actively work to help those new developers climb the learning curve. Successful open source projects are also designed with modularity in mind, so as to more easily be plugged into other software, whether open source or commercial.
We would also expect to see multiple providers of support, customization, or other commercial activity around the project, as that ensures there will be developers tending to the code for the long term. At the same time we would hope to see active non-commercial developers who work on the project for the thrill of the challenge, or to try new ideas, because often those developers can take greater creative risks as they have less at stake if their experiments prove incorrect.
The idea that open source projects can accommodate both kinds of developers and (usually) find a happy medium between innovation and stability is vital to its success.
You recently said “greatness in software comes from collaboration, trust and transparency.” Could you elaborate on this statement and explain how it ties in with CollabNet’s strategy?
Behlendorf: Much of the last 20 years of thought in software engineering circles has been about the mechanization of software development – the idea that formal processes and heavy emphasis on pre-planning produce the best code on the most predictable schedules. Along the way we have lost the concept of software engineering as a craft practiced by artisans who have individual strengths, who desire peer approval (and also accountability) for their efforts, and whose creativity does not always happen according to a pre-determined schedule. The success of the Open Source approach has come by largely throwing away the requirement of predictability, and replacing a heavily scheduled approach with an opportunistic and teamwork-oriented approach. In my view, the strength of the software that a team creates is a direct function of their ability to work together, the trust they have in each other, and the openness of the process to team members and those on the periphery; more so than the rigor of the process applied to develop that software.
Our mission with CollabNet is to learn from how Open Source communities work to recapture this lost concept, and to embody it in the software development tools we provide to our customers. While our more visible engagements are open source communities like OpenOffice or TianoCore or Bioforge, most of our business is in deploying our tool suite inside of large and mid-sized companies with significant software development activity. We believe there is a way to marry the benefits of collaboration and transparency to the processes that companies deploy to bring predictability, repeatability, and quality to their engineering organizations; building that into our tools is our competitive advantage and the real value we provide to customers.
What has been the effect of related Apache projects like the rise in use of mod_perl and Tomcat?
Behlendorf: We believe that the other Apache projects at the ASF have helped advance the state of the art in Open Source technologies for enterprise applications, by providing a rich environment of frameworks and components for developers to select from. I believe the amazing growth of the web software industry (from managed-service providers and on-demand models to the new field of web services) is due in no small part to the functionality these tools provided, and the open governance model that Apache established for advancing this tech.
Do you favor open source projects that are vendor independent and free from the control of one particular group or individual?
Behlendorf: I believe it’s important that Open Source communities have a governance structure that can survive the departure of any individual developer or sponsor. Open Source licenses themselves provide a great deal of resilience, though – if that founder departs, one always has the right to “fork” and start the project anew at a new location, just as Apache did with the original NCSA code base. But that can be a disruptive change, so a governance that allows for a graceful handoff is always going to be preferable.