5beae861ede7eba138c7140f195ae77ba3106cbffielding The Apache HTTP Server Project
50085d81a01f6efbb898397253634837b2b4bddarbowenThe Apache HTTP Server Project is a collaborative software development effort
50085d81a01f6efbb898397253634837b2b4bddarbowenaimed at creating a robust, commercial-grade, featureful, and freely-available
50085d81a01f6efbb898397253634837b2b4bddarbowensource code implementation of an HTTP (Web) server. The project is jointly
50085d81a01f6efbb898397253634837b2b4bddarbowenmanaged by a group of volunteers located around the world, using the Internet
50085d81a01f6efbb898397253634837b2b4bddarbowenand the Web to communicate, plan, and develop the server and its related
50085d81a01f6efbb898397253634837b2b4bddarbowendocumentation. In addition, hundreds of users have contributed ideas, code,
50085d81a01f6efbb898397253634837b2b4bddarbowenand documentation to the project.
50085d81a01f6efbb898397253634837b2b4bddarbowenThis file is intended to briefly describe the history of the Apache Group (as
50085d81a01f6efbb898397253634837b2b4bddarbowenit was called in the early days), recognize the many contributors, and explain
50085d81a01f6efbb898397253634837b2b4bddarbowenhow you can join the fun too.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingIn February of 1995, the most popular server software on the Web was the
5beae861ede7eba138c7140f195ae77ba3106cbffieldingpublic domain HTTP daemon developed by Rob McCool at the National Center
5beae861ede7eba138c7140f195ae77ba3106cbffieldingfor Supercomputing Applications, University of Illinois, Urbana-Champaign.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingHowever, development of that httpd had stalled after Rob left NCSA in
5beae861ede7eba138c7140f195ae77ba3106cbffieldingmid-1994, and many webmasters had developed their own extensions and bug
50085d81a01f6efbb898397253634837b2b4bddarbowenfixes that were in need of a common distribution. A small group of these
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwebmasters, contacted via private e-mail, gathered together for the purpose
50085d81a01f6efbb898397253634837b2b4bddarbowenof coordinating their changes (in the form of "patches"). Brian Behlendorf
5beae861ede7eba138c7140f195ae77ba3106cbffieldingand Cliff Skolnick put together a mailing list, shared information space,
5beae861ede7eba138c7140f195ae77ba3106cbffieldingand logins for the core developers on a machine in the California Bay Area,
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwith bandwidth and diskspace donated by HotWired and Organic Online.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingBy the end of February, eight core contributors formed the foundation
5beae861ede7eba138c7140f195ae77ba3106cbffieldingof the original Apache Group:
5beae861ede7eba138c7140f195ae77ba3106cbffielding Brian Behlendorf Roy T. Fielding Rob Hartill
5beae861ede7eba138c7140f195ae77ba3106cbffielding David Robinson Cliff Skolnick Randy Terbush
5beae861ede7eba138c7140f195ae77ba3106cbffielding Robert S. Thau Andrew Wilson
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwith additional contributions from
5beae861ede7eba138c7140f195ae77ba3106cbffielding Eric Hagberg Frank Peters Nicolas Pioch
5beae861ede7eba138c7140f195ae77ba3106cbffieldingUsing NCSA httpd 1.3 as a base, we added all of the published bug fixes
5beae861ede7eba138c7140f195ae77ba3106cbffieldingand worthwhile enhancements we could find, tested the result on our own
5beae861ede7eba138c7140f195ae77ba3106cbffieldingservers, and made the first official public release (0.6.2) of the Apache
50085d81a01f6efbb898397253634837b2b4bddarbowenserver in April 1995. By coincidence, NCSA restarted their own development
5beae861ede7eba138c7140f195ae77ba3106cbffieldingduring the same period, and Brandon Long and Beth Frank of the NCSA Server
5beae861ede7eba138c7140f195ae77ba3106cbffieldingDevelopment Team joined the list in March as honorary members so that the
5beae861ede7eba138c7140f195ae77ba3106cbffieldingtwo projects could share ideas and fixes.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingThe early Apache server was a big hit, but we all knew that the codebase
50085d81a01f6efbb898397253634837b2b4bddarbowenneeded a general overhaul and redesign. During May-June 1995, while
5beae861ede7eba138c7140f195ae77ba3106cbffieldingRob Hartill and the rest of the group focused on implementing new features
5beae861ede7eba138c7140f195ae77ba3106cbffieldingfor 0.7.x (like pre-forked child processes) and supporting the rapidly growing
5beae861ede7eba138c7140f195ae77ba3106cbffieldingApache user community, Robert Thau designed a new server architecture
5beae861ede7eba138c7140f195ae77ba3106cbffielding(code-named Shambhala) which included a modular structure and API for better
5beae861ede7eba138c7140f195ae77ba3106cbffieldingextensibility, pool-based memory allocation, and an adaptive pre-forking
50085d81a01f6efbb898397253634837b2b4bddarbowenprocess model. The group switched to this new server base in July and added
5beae861ede7eba138c7140f195ae77ba3106cbffieldingthe features from 0.7.x, resulting in Apache 0.8.8 (and its brethren)
5beae861ede7eba138c7140f195ae77ba3106cbffieldingAfter extensive beta testing, many ports to obscure platforms, a new set
5beae861ede7eba138c7140f195ae77ba3106cbffieldingof documentation (by David Robinson), and the addition of many features
5beae861ede7eba138c7140f195ae77ba3106cbffieldingin the form of our standard modules, Apache 1.0 was released on
5beae861ede7eba138c7140f195ae77ba3106cbffieldingDecember 1, 1995.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingLess than a year after the group was formed, the Apache server passed
5beae861ede7eba138c7140f195ae77ba3106cbffieldingNCSA's httpd as the #1 server on the Internet.
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfieldingThe survey by Netcraft (http://www.netcraft.com/survey/) shows that Apache
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfieldingis today more widely used than all other web servers combined.
5beae861ede7eba138c7140f195ae77ba3106cbffielding ============================================================================
50085d81a01f6efbb898397253634837b2b4bddarbowenThe current project management committe of the Apache HTTP Server
50085d81a01f6efbb898397253634837b2b4bddarbowenproject (as of March, 2011) is:
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Aaron Bannert André Malo Astrid Stolper
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Ben Laurie Bojan Smojver Brad Nicholes
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Brian Havard Brian McCallister Chris Darroch
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Chuck Murcko Colm MacCárthaigh Dan Poirier
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Dirk-Willem van Gulik Doug MacEachern
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Eric Covener Erik Abele Graham Dumpleton
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Graham Leggett Greg Ames Greg Stein
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Gregory Trubetskoy Guenter Knauf Issac Goldstand
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Jeff Trawick Jim Gallacher Jim Jagielski
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Joe Orton Joe Schaefer Joshua Slive
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Justin Erenkrantz Ken Coar Lars Eilebrecht
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Manoj Kasichainula Marc Slemko Mark J. Cox
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Martin Kraemer Maxime Petazzoni Nick Kew
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Nicolas Lehuen Noirin Shirley Paul Querna
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Philip M. Gollucci Ralf S. Engelschall Randy Kobes
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Rasmus Lerdorf Rich Bowen Roy T. Fielding
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen RĂĽdiger PlĂĽm Sander Striker Sander Temm
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Stefan Fritsch Tony Stevenson Victor J. Orlikowski
f28faf3b1ca7c6bc03736819a8929ddce2233340rbowen Wilfredo Sanchez William A. Rowe Jr. Yoshiki Hayashi
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfieldingOther major contributors
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Howard Fear (mod_include), Florent Guillaume (language negotiation),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Koen Holtman (rewrite of mod_negotiation),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Kevin Hughes (creator of all those nifty icons),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Brandon Long and Beth Frank (NCSA Server Development Team, post-1.3),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Ambarish Malpani (Beginning of the NT port),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Rob McCool (original author of the NCSA httpd 1.3),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Paul Richards (convinced the group to use remote CVS after 1.0),
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfielding Garey Smiley (OS/2 port), Henry Spencer (author of the regex library).
5beae861ede7eba138c7140f195ae77ba3106cbffieldingMany 3rd-party modules, frequently used and recommended, are also
5beae861ede7eba138c7140f195ae77ba3106cbffieldingfreely-available and linked from the related projects page:
5beae861ede7eba138c7140f195ae77ba3106cbffielding<http://modules.apache.org/>, and their authors frequently
5beae861ede7eba138c7140f195ae77ba3106cbffieldingcontribute ideas, patches, and testing.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingHundreds of people have made individual contributions to the Apache
50085d81a01f6efbb898397253634837b2b4bddarbowenproject. Patch contributors are listed in the CHANGES file.
5beae861ede7eba138c7140f195ae77ba3106cbffielding ============================================================================
5beae861ede7eba138c7140f195ae77ba3106cbffieldingHow to become involved in the Apache project
50085d81a01f6efbb898397253634837b2b4bddarbowenThere are several levels of contributing. If you just want to send
5beae861ede7eba138c7140f195ae77ba3106cbffieldingin an occasional suggestion/fix, then you can just use the bug reporting
50085d81a01f6efbb898397253634837b2b4bddarbowenform at <http://httpd.apache.org/bug_report.html>. You can also subscribe
209d30d974f66f7f62c5888827d4cc0b95de40c0larsto the announcements mailing list (announce-subscribe@httpd.apache.org) which
209d30d974f66f7f62c5888827d4cc0b95de40c0larswe use to broadcast information about new releases, bugfixes, and upcoming
50085d81a01f6efbb898397253634837b2b4bddarbowenevents. There's a lot of information about the development process (much of
209d30d974f66f7f62c5888827d4cc0b95de40c0larsit in serious need of updating) to be found at <http://httpd.apache.org/dev/>.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingIf you'd like to become an active contributor to the Apache project (the
5beae861ede7eba138c7140f195ae77ba3106cbffieldinggroup of volunteers who vote on changes to the distributed server), then
711d4b43c1e5c33611ac1b938cf7b944c3aa77b7jerenkrantzyou need to start by subscribing to the dev@httpd.apache.org mailing list.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingOne warning though: traffic is high, 1000 to 1500 messages/month.
0729ed19effa96566e715392dd17440bb5a107d6jwoolleyTo subscribe to the list, send an email to dev-subscribe@httpd.apache.org.
0729ed19effa96566e715392dd17440bb5a107d6jwoolleyWe recommend reading the list for a while before trying to jump in to
0729ed19effa96566e715392dd17440bb5a107d6jwoolleydevelopment.
711d4b43c1e5c33611ac1b938cf7b944c3aa77b7jerenkrantz NOTE: The developer mailing list (dev@httpd.apache.org) is not
5beae861ede7eba138c7140f195ae77ba3106cbffielding a user support forum; it is for people actively working on development
5beae861ede7eba138c7140f195ae77ba3106cbffielding of the server code and documentation, and for planning future
50085d81a01f6efbb898397253634837b2b4bddarbowen directions. If you have user/configuration questions, send them
209d30d974f66f7f62c5888827d4cc0b95de40c0lars to users list <http://httpd.apache.org/userslist> or to the USENET
209d30d974f66f7f62c5888827d4cc0b95de40c0lars newsgroup "comp.infosystems.www.servers.unix".or for windows users,
209d30d974f66f7f62c5888827d4cc0b95de40c0lars the newsgroup "comp.infosystems.www.servers.ms-windows".
5beae861ede7eba138c7140f195ae77ba3106cbffieldingThere is a core group of contributors (informally called the "core")
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwhich was formed from the project founders and is augmented from time
5beae861ede7eba138c7140f195ae77ba3106cbffieldingto time when core members nominate outstanding contributors and the
50085d81a01f6efbb898397253634837b2b4bddarbowenrest of the core members agree. The core group focus is more on
5beae861ede7eba138c7140f195ae77ba3106cbffielding"business" issues and limited-circulation things like security problems
50085d81a01f6efbb898397253634837b2b4bddarbowenthan on mainstream code development. The term "The Apache Group"
5beae861ede7eba138c7140f195ae77ba3106cbffieldingtechnically refers to this core of project contributors.
f7fb2188930331fccd6337569b5e67feefcef10arbowenThe Apache project is a meritocracy--the more work you have done, the more
50085d81a01f6efbb898397253634837b2b4bddarbowenyou are allowed to do. The group founders set the original rules, but
50085d81a01f6efbb898397253634837b2b4bddarbowenthey can be changed by vote of the active members. There is a group
5beae861ede7eba138c7140f195ae77ba3106cbffieldingof people who have logins on our server (apache.org) and access to the
ae7bb2d0ddd3b41ced6100e77f6d1ed306774bd5rbowensvn repository. Everyone has access to the svn snapshots. Changes to
5beae861ede7eba138c7140f195ae77ba3106cbffieldingthe code are proposed on the mailing list and usually voted on by active
f7fb2188930331fccd6337569b5e67feefcef10arbowenmembers--three +1 (yes votes) and no -1 (no votes, or vetoes) are needed
5beae861ede7eba138c7140f195ae77ba3106cbffieldingto commit a code change during a release cycle; docs are usually committed
5beae861ede7eba138c7140f195ae77ba3106cbffieldingfirst and then changed as needed, with conflicts resolved by majority vote.
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfieldingOur primary method of communication is our mailing list. Approximately 40
5beae861ede7eba138c7140f195ae77ba3106cbffieldingmessages a day flow over the list, and are typically very conversational in
5beae861ede7eba138c7140f195ae77ba3106cbffieldingtone. We discuss new features to add, bug fixes, user problems, developments
50085d81a01f6efbb898397253634837b2b4bddarbowenin the web server community, release dates, etc. The actual code development
5beae861ede7eba138c7140f195ae77ba3106cbffieldingtakes place on the developers' local machines, with proposed changes
5beae861ede7eba138c7140f195ae77ba3106cbffieldingcommunicated using a patch (output of a unified "diff -u oldfile newfile"
5beae861ede7eba138c7140f195ae77ba3106cbffieldingcommand), and committed to the source repository by one of the core
ae7bb2d0ddd3b41ced6100e77f6d1ed306774bd5rbowendevelopers using remote svn. Anyone on the mailing list can vote on a
5beae861ede7eba138c7140f195ae77ba3106cbffieldingparticular issue, but we only count those made by active members or people
50085d81a01f6efbb898397253634837b2b4bddarbowenwho are known to be experts on that part of the server. Vetoes must be
5beae861ede7eba138c7140f195ae77ba3106cbffieldingaccompanied by a convincing explanation.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingNew members of the Apache Group are added when a frequent contributor is
5beae861ede7eba138c7140f195ae77ba3106cbffieldingnominated by one member and unanimously approved by the voting members.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingIn most cases, this "new" member has been actively contributing to the
5beae861ede7eba138c7140f195ae77ba3106cbffieldinggroup's work for over six months, so it's usually an easy decision.
c7a58a2e12f7a380fd330a1b5f931ae5d65d308bfieldingThe above describes our past and current (as of July 2000) guidelines,
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwhich will probably change over time as the membership of the group
5beae861ede7eba138c7140f195ae77ba3106cbffieldingchanges and our development/coordination tools improve.
5beae861ede7eba138c7140f195ae77ba3106cbffielding ============================================================================
5beae861ede7eba138c7140f195ae77ba3106cbffieldingThe Apache Software Foundation (www.apache.org)
5beae861ede7eba138c7140f195ae77ba3106cbffieldingThe Apache Software Foundation exists to provide organizational, legal,
5beae861ede7eba138c7140f195ae77ba3106cbffieldingand financial support for the Apache open-source software projects.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingFounded in June 1999 by the Apache Group, the Foundation has been
5beae861ede7eba138c7140f195ae77ba3106cbffieldingincorporated as a membership-based, not-for-profit corporation in order
5beae861ede7eba138c7140f195ae77ba3106cbffieldingto ensure that the Apache projects continue to exist beyond the participation
5beae861ede7eba138c7140f195ae77ba3106cbffieldingof individual volunteers, to enable contributions of intellectual property
5beae861ede7eba138c7140f195ae77ba3106cbffieldingand funds on a sound basis, and to provide a vehicle for limiting legal
5beae861ede7eba138c7140f195ae77ba3106cbffieldingexposure while participating in open-source software projects.
5beae861ede7eba138c7140f195ae77ba3106cbffieldingYou are invited to participate in The Apache Software Foundation. We welcome
50085d81a01f6efbb898397253634837b2b4bddarbowencontributions in many forms. Our membership consists of those individuals
5beae861ede7eba138c7140f195ae77ba3106cbffieldingwho have demonstrated a commitment to collaborative open-source software
5beae861ede7eba138c7140f195ae77ba3106cbffieldingdevelopment through sustained participation and contributions within the
50085d81a01f6efbb898397253634837b2b4bddarbowenFoundation's projects. Many people and companies have contributed towards
5beae861ede7eba138c7140f195ae77ba3106cbffieldingthe success of the Apache projects.
5beae861ede7eba138c7140f195ae77ba3106cbffielding ============================================================================
50085d81a01f6efbb898397253634837b2b4bddarbowenWhy The Apache HTTP Server Is Free
50085d81a01f6efbb898397253634837b2b4bddarbowenApache HTTP Server exists to provide a robust and commercial-grade reference
50085d81a01f6efbb898397253634837b2b4bddarbowenimplementation of the HTTP protocol. It must remain a platform upon which
5beae861ede7eba138c7140f195ae77ba3106cbffieldingindividuals and institutions can build reliable systems, both for
50085d81a01f6efbb898397253634837b2b4bddarbowenexperimental purposes and for mission-critical purposes. We believe the
5beae861ede7eba138c7140f195ae77ba3106cbffieldingtools of online publishing should be in the hands of everyone, and
5beae861ede7eba138c7140f195ae77ba3106cbffieldingsoftware companies should make their money providing value-added services
50085d81a01f6efbb898397253634837b2b4bddarbowensuch as specialized modules and support, amongst other things. We realize
5beae861ede7eba138c7140f195ae77ba3106cbffieldingthat it is often seen as an economic advantage for one company to "own" a
5beae861ede7eba138c7140f195ae77ba3106cbffieldingmarket - in the software industry that means to control tightly a
50085d81a01f6efbb898397253634837b2b4bddarbowenparticular conduit such that all others must pay. This is typically done
5beae861ede7eba138c7140f195ae77ba3106cbffieldingby "owning" the protocols through which companies conduct business, at the
50085d81a01f6efbb898397253634837b2b4bddarbowenexpense of all those other companies. To the extent that the protocols of
5beae861ede7eba138c7140f195ae77ba3106cbffieldingthe World Wide Web remain "unowned" by a single company, the Web will
5beae861ede7eba138c7140f195ae77ba3106cbffieldingremain a level playing field for companies large and small. Thus,
5beae861ede7eba138c7140f195ae77ba3106cbffielding"ownership" of the protocol must be prevented, and the existence of a
5beae861ede7eba138c7140f195ae77ba3106cbffieldingrobust reference implementation of the protocol, available absolutely for
50085d81a01f6efbb898397253634837b2b4bddarbowenfree to all companies, is a tremendously good thing.
50085d81a01f6efbb898397253634837b2b4bddarbowenFurthermore, Apache httpd is an organic entity; those who benefit from it
5beae861ede7eba138c7140f195ae77ba3106cbffieldingby using it often contribute back to it by providing feature enhancements,
50085d81a01f6efbb898397253634837b2b4bddarbowenbug fixes, and support for others in public newsgroups. The amount of
5beae861ede7eba138c7140f195ae77ba3106cbffieldingeffort expended by any particular individual is usually fairly light, but
50085d81a01f6efbb898397253634837b2b4bddarbowenthe resulting product is made very strong. This kind of community can
f7fb2188930331fccd6337569b5e67feefcef10arbowenonly happen with freeware--when someone pays for software, they usually
50085d81a01f6efbb898397253634837b2b4bddarbowenaren't willing to fix its bugs. One can argue, then, that Apache's
5beae861ede7eba138c7140f195ae77ba3106cbffieldingstrength comes from the fact that it's free, and if it were made "not
5beae861ede7eba138c7140f195ae77ba3106cbffieldingfree" it would suffer tremendously, even if that money were spent on a
5beae861ede7eba138c7140f195ae77ba3106cbffieldingreal development team.
f7fb2188930331fccd6337569b5e67feefcef10arbowenWe want to see Apache httpd used very widely--by large companies, small
5beae861ede7eba138c7140f195ae77ba3106cbffieldingcompanies, research institutions, schools, individuals, in the intranet
f7fb2188930331fccd6337569b5e67feefcef10arbowenenvironment, everywhere--even though this may mean that companies who
5beae861ede7eba138c7140f195ae77ba3106cbffieldingcould afford commercial software, and would pay for it without blinking,
159c39078433bcad8cb2f1a7ec8c0c6708bfe667rbowenmight get a "free ride" by using Apache httpd. We would even be happy if
50085d81a01f6efbb898397253634837b2b4bddarbowensome commercial software companies completely dropped their own HTTP server
50085d81a01f6efbb898397253634837b2b4bddarbowendevelopment plans and used Apache httpd as a base, with the proper attributions
5beae861ede7eba138c7140f195ae77ba3106cbffieldingas described in the LICENSE file.
50085d81a01f6efbb898397253634837b2b4bddarbowenThanks for using Apache HTTP Server!