363N/A The Apache HTTP Server Project
363N/AThe Apache Project is a collaborative software development effort aimed
363N/Aat creating a robust, commercial-grade, featureful, and freely-available
363N/Asource code implementation of an HTTP (Web) server. The project is
363N/Ajointly managed by a group of volunteers located around the world, using
363N/Athe Internet and the Web to communicate, plan, and develop the server and
363N/Aits related documentation. These volunteers are known as the Apache Group.
363N/AIn addition, hundreds of users have contributed ideas, code, and
363N/Adocumentation to the project. This file is intended to briefly describe
363N/Athe history of the Apache Group, recognize the many contributors, and
363N/Aexplain how you can join the fun too.
363N/AIn February of 1995, the most popular server software on the Web was the
363N/Apublic domain HTTP daemon developed by Rob McCool at the National Center
5680N/Afor Supercomputing Applications, University of Illinois, Urbana-Champaign.
5680N/AHowever, development of that httpd had stalled after Rob left NCSA in
5371N/Amid-1994, and many webmasters had developed their own extensions and bug
363N/Afixes that were in need of a common distribution. A small group of these
364N/Awebmasters, contacted via private e-mail, gathered together for the purpose
363N/Aof coordinating their changes (in the form of "patches"). Brian Behlendorf
797N/Aand Cliff Skolnick put together a mailing list, shared information space,
797N/Aand logins for the core developers on a machine in the California Bay Area,
797N/Awith bandwidth and diskspace donated by HotWired and Organic Online.
797N/ABy the end of February, eight core contributors formed the foundation
797N/Aof the original Apache Group:
5537N/A Brian Behlendorf Roy T. Fielding Rob Hartill
797N/A David Robinson Cliff Skolnick Randy Terbush
797N/A Robert S. Thau Andrew Wilson
797N/Awith additional contributions from
797N/A Eric Hagberg Frank Peters Nicolas Pioch
5537N/AUsing NCSA httpd 1.3 as a base, we added all of the published bug fixes
797N/Aand worthwhile enhancements we could find, tested the result on our own
2931N/Aservers, and made the first official public release (0.6.2) of the Apache
363N/Aserver in April 1995. By coincidence, NCSA restarted their own development
5537N/Aduring the same period, and Brandon Long and Beth Frank of the NCSA Server
2899N/ADevelopment Team joined the list in March as honorary members so that the
4368N/Atwo projects could share ideas and fixes.
4368N/AThe early Apache server was a big hit, but we all knew that the codebase
4368N/Aneeded a general overhaul and redesign. During May-June 1995, while
4368N/ARob Hartill and the rest of the group focused on implementing new features
4368N/Afor
0.7.x (like pre-forked child processes) and supporting the rapidly growing
4368N/AApache user community, Robert Thau designed a new server architecture
3817N/A(code-named Shambhala) which included a modular structure and API for better
3817N/Aextensibility, pool-based memory allocation, and an adaptive pre-forking
3817N/Aprocess model. The group switched to this new server base in July and added
3817N/Athe features from
0.7.x, resulting in Apache 0.8.8 (and its brethren)
1845N/AAfter extensive beta testing, many ports to obscure platforms, a new set
1845N/Aof documentation (by David Robinson), and the addition of many features
1845N/Ain the form of our standard modules, Apache 1.0 was released on
797N/ALess than a year after the group was formed, the Apache server passed
797N/ANCSA's httpd as the #1 server on the Internet.
363N/Ais today more widely used than all other web servers combined.
5123N/A ============================================================================
5123N/ACurrent Apache Group in alphabetical order as of 18 December 2001:
777N/A Greg Ames IBM Corporation, Research Triangle Park, NC, USA
777N/A Aaron Bannert Covalent Technologies, California
777N/A Ryan Bloom Covalent Technologies, California
777N/A Ken Coar IBM Corporation, Research Triangle Park, NC, USA
363N/A Mark J. Cox Red Hat, England
363N/A Lars Eilebrecht Freelance Consultant, Munich, Germany
363N/A Ralf S. Engelschall Cable & Wireless Deutschland, Munich, Germany
363N/A Justin Erenkrantz eBuilt, California
363N/A Roy T. Fielding eBuilt, California
363N/A Tony Finch Covalent Technologies, California
797N/A Dean Gaudet Transmeta Corporation, California
363N/A Dirk-Willem van Gulik Covalent Technologies, California
363N/A Ian Holsman CNET, California
363N/A Ben Hyde Gensym, Massachusetts
363N/A Jim Jagielski jaguNET Access Services, Maryland
363N/A Alexei Kosut Stanford University, California
363N/A Martin Kraemer Munich, Germany
363N/A Ben Laurie Freelance Consultant, UK
363N/A Rasmus Lerdorf Linuxcare, California
363N/A Daniel Lopez Ridruejo Covalent Technologies, California
363N/A Doug MacEachern Covalent Technologies, California
363N/A Aram W. Mirzadeh CableVision, New York
363N/A Chuck Murcko The Topsail Group, Pennsylvania
363N/A Sameer Parekh California
363N/A William A. Rowe, Jr. Covalent, Illinois
363N/A Wilfredo Sanchez Apple Computer, California
363N/A Cliff Skolnick California
363N/A Bill Stoddard IBM Corporation, Research Triangle Park, NC
1426N/A Randy Terbush Covalent Technologies, California
363N/A Jeff Trawick IBM Corporation, Research Triangle Park, NC
363N/A Cliff Woolley University of Virginia
363N/AApache Emeritus (old group members now off doing other things)
4371N/A Rob Hartill Internet Movie DB, UK
4371N/A David Robinson Cambridge University, UK
4907N/A Robert S. Thau MIT, Massachusetts
4371N/A Andrew Wilson Freelance Consultant, UK
363N/AOther major contributors
363N/A Howard Fear (mod_include), Florent Guillaume (language negotiation),
363N/A Koen Holtman (rewrite of mod_negotiation),
1426N/A Kevin Hughes (creator of all those nifty icons),
797N/A Brandon Long and Beth Frank (NCSA Server Development Team, post-1.3),
797N/A Ambarish Malpani (Beginning of the NT port),
797N/A Rob McCool (original author of the NCSA httpd 1.3),
363N/A Paul Richards (convinced the group to use remote CVS after 1.0),
363N/A Garey Smiley (OS/2 port), Henry Spencer (author of the regex library).
363N/AMany 3rd-party modules, frequently used and recommended, are also
363N/Afreely-available and linked from the related projects page:
363N/Acontribute ideas, patches, and testing.
797N/AHundreds of people have made individual contributions to the Apache
797N/Aproject. Patch contributors are listed in the CHANGES file.
797N/AFrequent contributors have included Petr Lampa, Tom Tromey, James H.
797N/ACloos Jr., Ed Korthof, Nathan Neulinger, Jason S. Clary, Jason A. Dour,
797N/AMichael Douglass, Tony Sanders, Brian Tao, Michael Smith, Adam Sussman,
797N/ANathan Schrenk, Matthew Gray, and John Heidemann.
797N/A ============================================================================
797N/AHow to become involved in the Apache project
797N/AThere are several levels of contributing. If you just want to send
797N/Ato the announcements mailing list (announce@httpd.apache.org) which we
797N/Ause to broadcast information about new releases, bugfixes, and upcoming
797N/Aevents. There's information about the development process (much of it in
1426N/AIf you'd like to become an active contributor to the Apache project (the
797N/Agroup of volunteers who vote on changes to the distributed server), then
797N/Ayou need to start by subscribing to the dev@httpd.apache.org mailing list.
797N/ATo subscribe to the list, send an email to dev-subscribe@httpd.apache.org.
797N/AWe recommend reading the list for a while before trying to jump in to
797N/A NOTE: The developer mailing list (dev@httpd.apache.org) is not
797N/A a user support forum; it is for people actively working on development
797N/A of the server code and documentation, and for planning future
363N/AThere is a core group of contributors (informally called the "core")
363N/Awhich was formed from the project founders and is augmented from time
797N/Ato time when core members nominate outstanding contributors and the
797N/Arest of the core members agree. The core group focus is more on
797N/A"business" issues and limited-circulation things like security problems
363N/Athan on mainstream code development. The term "The Apache Group"
363N/Atechnically refers to this core of project contributors.
363N/AThe Apache project is a meritocracy -- the more work you have done, the more
363N/Ayou are allowed to do. The group founders set the original rules, but
363N/Athey can be changed by vote of the active members. There is a group
363N/ACVS repository. Everyone has access to the CVS snapshots. Changes to
363N/Athe code are proposed on the mailing list and usually voted on by active
363N/Amembers -- three +1 (yes votes) and no -1 (no votes, or vetoes) are needed
363N/Ato commit a code change during a release cycle; docs are usually committed
363N/Afirst and then changed as needed, with conflicts resolved by majority vote.
797N/AOur primary method of communication is our mailing list. Approximately 40
363N/Amessages a day flow over the list, and are typically very conversational in
997N/Atone. We discuss new features to add, bug fixes, user problems, developments
2041N/Ain the web server community, release dates, etc. The actual code development
4820N/Atakes place on the developers' local machines, with proposed changes
797N/Acommunicated using a patch (output of a unified "diff -u oldfile newfile"
1951N/Acommand), and committed to the source repository by one of the core
1951N/Adevelopers using remote CVS. Anyone on the mailing list can vote on a
1951N/Aparticular issue, but we only count those made by active members or people
797N/Awho are known to be experts on that part of the server. Vetoes must be
797N/Aaccompanied by a convincing explanation.
797N/ANew members of the Apache Group are added when a frequent contributor is
363N/Anominated by one member and unanimously approved by the voting members.
3477N/AIn most cases, this "new" member has been actively contributing to the
3477N/Agroup's work for over six months, so it's usually an easy decision.
363N/AThe above describes our past and current (as of July 2000) guidelines,
797N/Awhich will probably change over time as the membership of the group
1761N/A ============================================================================
1426N/AThe Apache Software Foundation exists to provide organizational, legal,
1426N/Aand financial support for the Apache open-source software projects.
1426N/AFounded in June 1999 by the Apache Group, the Foundation has been
1426N/Aincorporated as a membership-based, not-for-profit corporation in order
1426N/Ato ensure that the Apache projects continue to exist beyond the participation
1426N/Aof individual volunteers, to enable contributions of intellectual property
1426N/Aand funds on a sound basis, and to provide a vehicle for limiting legal
1426N/Aexposure while participating in open-source software projects.
1426N/AYou are invited to participate in The Apache Software Foundation. We welcome
1426N/Acontributions in many forms. Our membership consists of those individuals
1426N/Awho have demonstrated a commitment to collaborative open-source software
1426N/Adevelopment through sustained participation and contributions within the
1426N/AFoundation's projects. Many people and companies have contributed towards
1426N/Athe success of the Apache projects.
1426N/A ============================================================================
1426N/AApache exists to provide a robust and commercial-grade reference
1426N/Aimplementation of the HTTP protocol. It must remain a platform upon which
1426N/Aindividuals and institutions can build reliable systems, both for
1426N/Aexperimental purposes and for mission-critical purposes. We believe the
1426N/Atools of online publishing should be in the hands of everyone, and
1426N/Asoftware companies should make their money providing value-added services
1426N/Asuch as specialized modules and support, amongst other things. We realize
1426N/Athat it is often seen as an economic advantage for one company to "own" a
1426N/Amarket - in the software industry that means to control tightly a
1426N/Aparticular conduit such that all others must pay. This is typically done
1426N/Aby "owning" the protocols through which companies conduct business, at the
1426N/Aexpense of all those other companies. To the extent that the protocols of
1826N/Athe World Wide Web remain "unowned" by a single company, the Web will
1426N/Aremain a level playing field for companies large and small. Thus,
1426N/A"ownership" of the protocol must be prevented, and the existence of a
1426N/Arobust reference implementation of the protocol, available absolutely for
1426N/Afree to all companies, is a tremendously good thing.
4820N/AFurthermore, Apache is an organic entity; those who benefit from it
1426N/Aby using it often contribute back to it by providing feature enhancements,
797N/Abug fixes, and support for others in public newsgroups. The amount of
797N/Aeffort expended by any particular individual is usually fairly light, but
1426N/Athe resulting product is made very strong. This kind of community can
1426N/Aonly happen with freeware -- when someone pays for software, they usually
1426N/Aaren't willing to fix its bugs. One can argue, then, that Apache's
1426N/Astrength comes from the fact that it's free, and if it were made "not
1426N/Afree" it would suffer tremendously, even if that money were spent on a
1805N/AWe want to see Apache used very widely -- by large companies, small
1426N/Acompanies, research institutions, schools, individuals, in the intranet
1426N/Aenvironment, everywhere -- even though this may mean that companies who
1426N/Acould afford commercial software, and would pay for it without blinking,
1426N/Amight get a "free ride" by using Apache. We would even be happy if some
1426N/Acommercial software companies completely dropped their own HTTP server
1426N/Adevelopment plans and used Apache as a base, with the proper attributions
1426N/Aas described in the LICENSE file.