10139N/AThe Apache HTTP Server Project is a collaborative software development effort
10139N/Aaimed at creating a robust, commercial-grade, featureful, and freely-available
10139N/Asource code implementation of an HTTP (Web) server. The project is jointly
10139N/Amanaged by a group of volunteers located around the world, using the Internet
10139N/Aand the Web to communicate, plan, and develop the server and its related
10139N/Adocumentation. In addition, hundreds of users have contributed ideas, code,
10139N/Aand documentation to the project.
10139N/AThis file is intended to briefly describe the history of the Apache Group (as
10139N/Ait was called in the early days), recognize the many contributors, and explain
12586N/AIn February of 1995, the most popular server software on the Web was the
12773N/Apublic domain HTTP daemon developed by Rob McCool at the National Center
12773N/Afor Supercomputing Applications, University of Illinois, Urbana-Champaign.
12773N/AHowever, development of that httpd had stalled after Rob left NCSA in
10139N/Amid-1994, and many webmasters had developed their own extensions and bug
10139N/Afixes that were in need of a common distribution. A small group of these
10139N/Awebmasters, contacted via private e-mail, gathered together for the purpose
10139N/Aof coordinating their changes (in the form of "patches"). Brian Behlendorf
10139N/Aand Cliff Skolnick put together a mailing list, shared information space,
10139N/Aand logins for the core developers on a machine in the California Bay Area,
10139N/Awith bandwidth and diskspace donated by HotWired and Organic Online.
10139N/ABy the end of February, eight core contributors formed the foundation
10139N/A Brian Behlendorf Roy T. Fielding Rob Hartill
10139N/A David Robinson Cliff Skolnick Randy Terbush
10139N/Awith additional contributions from
10139N/A Eric Hagberg Frank Peters Nicolas Pioch
10139N/AUsing NCSA httpd 1.3 as a base, we added all of the published bug fixes
10139N/Aand worthwhile enhancements we could find, tested the result on our own
10139N/Aservers, and made the first official public release (0.6.2) of the Apache
10139N/Aserver in April 1995. By coincidence, NCSA restarted their own development
10139N/Aduring the same period, and Brandon Long and Beth Frank of the NCSA Server
10139N/ADevelopment Team joined the list in March as honorary members so that the
10139N/Atwo projects could share ideas and fixes.
10139N/AThe early Apache server was a big hit, but we all knew that the codebase
10139N/Aneeded a general overhaul and redesign. During May-June 1995, while
10139N/ARob Hartill and the rest of the group focused on implementing new features
10139N/Afor
0.7.x (like pre-forked child processes) and supporting the rapidly growing
10139N/AApache user community, Robert Thau designed a new server architecture
10139N/A(code-named Shambhala) which included a modular structure and API for better
11122N/Aextensibility, pool-based memory allocation, and an adaptive pre-forking
10139N/Aprocess model. The group switched to this new server base in July and added
10139N/Athe features from
0.7.x, resulting in Apache 0.8.8 (and its brethren)
12773N/AAfter extensive beta testing, many ports to obscure platforms, a new set
12773N/Aof documentation (by David Robinson), and the addition of many features
12773N/Ain the form of our standard modules, Apache 1.0 was released on
10139N/ALess than a year after the group was formed, the Apache server passed
10139N/ANCSA's httpd as the #1 server on the Internet.
10139N/Ais today more widely used than all other web servers combined.
10139N/A ============================================================================
10139N/AThe current project management committe of the Apache HTTP Server
10139N/A Aaron Bannert André Malo Astrid Stolper
10139N/A Ben Laurie Bojan Smojver Brad Nicholes
10139N/A Brian Havard Brian McCallister Chris Darroch
10139N/A Chuck Murcko Colm MacCárthaigh Dan Poirier
10139N/A Dirk-Willem van Gulik Doug MacEachern
10139N/A Eric Covener Erik Abele Graham Dumpleton
10139N/A Graham Leggett Greg Ames Greg Stein
10139N/A Gregory Trubetskoy Guenter Knauf Issac Goldstand
10139N/A Jeff Trawick Jim Gallacher Jim Jagielski
10139N/A Joe Orton Joe Schaefer Joshua Slive
10139N/A Justin Erenkrantz Ken Coar Lars Eilebrecht
10139N/A Manoj Kasichainula Marc Slemko Mark J. Cox
10139N/A Martin Kraemer Maxime Petazzoni Nick Kew
10139N/A Nicolas Lehuen Noirin Shirley Paul Querna
10139N/A Philip M. Gollucci Ralf S. Engelschall Randy Kobes
10139N/A Rasmus Lerdorf Rich Bowen Roy T. Fielding
10139N/A Rüdiger Plüm Sander Striker Sander Temm
10139N/A Stefan Fritsch Tony Stevenson Victor J. Orlikowski
10139N/A Wilfredo Sanchez William A. Rowe Jr. Yoshiki Hayashi
10139N/A Howard Fear (mod_include), Florent Guillaume (language negotiation),
10139N/A Koen Holtman (rewrite of mod_negotiation),
10139N/A Kevin Hughes (creator of all those nifty icons),
14081N/A Brandon Long and Beth Frank (NCSA Server Development Team, post-1.3),
14081N/A Ambarish Malpani (Beginning of the NT port),
14081N/A Rob McCool (original author of the NCSA httpd 1.3),
12592N/A Paul Richards (convinced the group to use remote CVS after 1.0),
12592N/A Garey Smiley (OS/2 port), Henry Spencer (author of the regex library).
12586N/AMany 3rd-party modules, frequently used and recommended, are also
12586N/Afreely-available and linked from the related projects page:
12441N/Acontribute ideas, patches, and testing.
12441N/AHundreds of people have made individual contributions to the Apache
12441N/Aproject. Patch contributors are listed in the CHANGES file.
11271N/A ============================================================================
11256N/AHow to become involved in the Apache project
11256N/AThere are several levels of contributing. If you just want to send
11231N/Ato the announcements mailing list (announce-subscribe@httpd.apache.org) which
11230N/Awe use to broadcast information about new releases, bugfixes, and upcoming
11230N/Aevents. There's a lot of information about the development process (much of
11122N/AIf you'd like to become an active contributor to the Apache project (the
11122N/Agroup of volunteers who vote on changes to the distributed server), then
11115N/Ayou need to start by subscribing to the dev@httpd.apache.org mailing list.
11115N/ATo subscribe to the list, send an email to dev-subscribe@httpd.apache.org.
10285N/AWe recommend reading the list for a while before trying to jump in to
10139N/A NOTE: The developer mailing list (dev@httpd.apache.org) is not
10139N/A a user support forum; it is for people actively working on development
10139N/A of the server code and documentation, and for planning future
10139N/AThere is a core group of contributors (informally called the "core")
10139N/Awhich was formed from the project founders and is augmented from time
10139N/Ato time when core members nominate outstanding contributors and the
10139N/Arest of the core members agree. The core group focus is more on
10139N/A"business" issues and limited-circulation things like security problems
10139N/Athan on mainstream code development. The term "The Apache Group"
10139N/Atechnically refers to this core of project contributors.
10139N/AThe Apache project is a meritocracy--the more work you have done, the more
10139N/Ayou are allowed to do. The group founders set the original rules, but
10139N/Athey can be changed by vote of the active members. There is a group
10139N/Asvn repository. Everyone has access to the svn snapshots. Changes to
10139N/Athe code are proposed on the mailing list and usually voted on by active
10139N/Amembers--three +1 (yes votes) and no -1 (no votes, or vetoes) are needed
10139N/Ato commit a code change during a release cycle; docs are usually committed
10139N/Afirst and then changed as needed, with conflicts resolved by majority vote.
10139N/AOur primary method of communication is our mailing list. Approximately 40
10139N/Amessages a day flow over the list, and are typically very conversational in
10139N/Atone. We discuss new features to add, bug fixes, user problems, developments
10139N/Ain the web server community, release dates, etc. The actual code development
10139N/Atakes place on the developers' local machines, with proposed changes
10139N/Acommunicated using a patch (output of a unified "diff -u oldfile newfile"
10139N/Acommand), and committed to the source repository by one of the core
10139N/Adevelopers using remote svn. Anyone on the mailing list can vote on a
10139N/Aparticular issue, but we only count those made by active members or people
10139N/Awho are known to be experts on that part of the server. Vetoes must be
10139N/Aaccompanied by a convincing explanation.
10139N/ANew members of the Apache Group are added when a frequent contributor is
10139N/Anominated by one member and unanimously approved by the voting members.
10139N/AIn most cases, this "new" member has been actively contributing to the
10139N/Agroup's work for over six months, so it's usually an easy decision.
10139N/AThe above describes our past and current (as of July 2000) guidelines,
10139N/Awhich will probably change over time as the membership of the group
10139N/A ============================================================================
10139N/AThe Apache Software Foundation exists to provide organizational, legal,
10139N/Aand financial support for the Apache open-source software projects.
10139N/AFounded in June 1999 by the Apache Group, the Foundation has been
10139N/Aincorporated as a membership-based, not-for-profit corporation in order
10139N/Ato ensure that the Apache projects continue to exist beyond the participation
10139N/Aof individual volunteers, to enable contributions of intellectual property
10139N/Aand funds on a sound basis, and to provide a vehicle for limiting legal
10139N/Aexposure while participating in open-source software projects.
10139N/AYou are invited to participate in The Apache Software Foundation. We welcome
10139N/Acontributions in many forms. Our membership consists of those individuals
10139N/Awho have demonstrated a commitment to collaborative open-source software
10139N/Adevelopment through sustained participation and contributions within the
10139N/AFoundation's projects. Many people and companies have contributed towards
10139N/Athe success of the Apache projects.
10139N/A ============================================================================
10139N/AWhy The Apache HTTP Server Is Free
10139N/AApache HTTP Server exists to provide a robust and commercial-grade reference
10139N/Aimplementation of the HTTP protocol. It must remain a platform upon which
10139N/Aindividuals and institutions can build reliable systems, both for
10139N/Aexperimental purposes and for mission-critical purposes. We believe the
10139N/Atools of online publishing should be in the hands of everyone, and
10139N/Asoftware companies should make their money providing value-added services
10139N/Asuch as specialized modules and support, amongst other things. We realize
10139N/Athat it is often seen as an economic advantage for one company to "own" a
10139N/Amarket - in the software industry that means to control tightly a
10139N/Aparticular conduit such that all others must pay. This is typically done
10139N/Aby "owning" the protocols through which companies conduct business, at the
10139N/Aexpense of all those other companies. To the extent that the protocols of
10139N/Athe World Wide Web remain "unowned" by a single company, the Web will
10139N/Aremain a level playing field for companies large and small. Thus,
10139N/A"ownership" of the protocol must be prevented, and the existence of a
10139N/Arobust reference implementation of the protocol, available absolutely for
10139N/Afree to all companies, is a tremendously good thing.
10139N/AFurthermore, Apache httpd is an organic entity; those who benefit from it
10139N/Aby using it often contribute back to it by providing feature enhancements,
10139N/Abug fixes, and support for others in public newsgroups. The amount of
10139N/Aeffort expended by any particular individual is usually fairly light, but
10139N/Athe resulting product is made very strong. This kind of community can
10139N/Aonly happen with freeware--when someone pays for software, they usually
10139N/Aaren't willing to fix its bugs. One can argue, then, that Apache's
10139N/Astrength comes from the fact that it's free, and if it were made "not
10139N/Afree" it would suffer tremendously, even if that money were spent on a
10139N/AWe want to see Apache httpd used very widely--by large companies, small
10139N/Acompanies, research institutions, schools, individuals, in the intranet
10139N/Aenvironment, everywhere--even though this may mean that companies who
10139N/Acould afford commercial software, and would pay for it without blinking,
10139N/Amight get a "free ride" by using Apache httpd. We would even be happy if
10139N/Asome commercial software companies completely dropped their own HTTP server
10139N/Adevelopment plans and used Apache httpd as a base, with the proper attributions
10139N/Aas described in the LICENSE file.
Thanks for using Apache HTTP Server!