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