ABOUT_APACHE revision e9695f6022cbbc80aadb0aba1e6c79b2f2a68341
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg The Apache HTTP Server Project
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg February 2008
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgThe Apache Project is a collaborative software development effort aimed
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgat creating a robust, commercial-grade, featureful, and freely-available
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgsource code implementation of an HTTP (Web) server. The project is
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgjointly managed by a group of volunteers located around the world, using
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgthe Internet and the Web to communicate, plan, and develop the server and
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgits related documentation. These volunteers are known as the Apache Group.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgIn addition, hundreds of users have contributed ideas, code, and
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgdocumentation to the project. This file is intended to briefly describe
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgthe history of the Apache Group, recognize the many contributors, and
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgexplain how you can join the fun too.
7190e58eec40192c9719d2f2593471eda14e7e7cfuankgIn February of 1995, the most popular server software on the Web was the
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgpublic domain HTTP daemon developed by Rob McCool at the National Center
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgfor Supercomputing Applications, University of Illinois, Urbana-Champaign.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgHowever, development of that httpd had stalled after Rob left NCSA in
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgmid-1994, and many webmasters had developed their own extensions and bug
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgfixes that were in need of a common distribution. A small group of these
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgwebmasters, contacted via private e-mail, gathered together for the purpose
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgof coordinating their changes (in the form of "patches"). Brian Behlendorf
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgand Cliff Skolnick put together a mailing list, shared information space,
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgand logins for the core developers on a machine in the California Bay Area,
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgwith bandwidth and diskspace donated by HotWired and Organic Online.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgBy the end of February, eight core contributors formed the foundation
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgof the original Apache Group:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Brian Behlendorf Roy T. Fielding Rob Hartill
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes David Robinson Cliff Skolnick Randy Terbush
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Robert S. Thau Andrew Wilson
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholeswith additional contributions from
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Eric Hagberg Frank Peters Nicolas Pioch
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgUsing NCSA httpd 1.3 as a base, we added all of the published bug fixes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesand worthwhile enhancements we could find, tested the result on our own
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesservers, and made the first official public release (0.6.2) of the Apache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesserver in April 1995. By coincidence, NCSA restarted their own development
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesduring the same period, and Brandon Long and Beth Frank of the NCSA Server
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesDevelopment Team joined the list in March as honorary members so that the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholestwo projects could share ideas and fixes.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThe early Apache server was a big hit, but we all knew that the codebase
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesneeded a general overhaul and redesign. During May-June 1995, while
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRob Hartill and the rest of the group focused on implementing new features
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesfor 0.7.x (like pre-forked child processes) and supporting the rapidly growing
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesApache user community, Robert Thau designed a new server architecture
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes(code-named Shambhala) which included a modular structure and API for better
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesextensibility, pool-based memory allocation, and an adaptive pre-forking
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesprocess model. The group switched to this new server base in July and added
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthe features from 0.7.x, resulting in Apache 0.8.8 (and its brethren)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesAfter extensive beta testing, many ports to obscure platforms, a new set
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesof documentation (by David Robinson), and the addition of many features
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholesin the form of our standard modules, Apache 1.0 was released on
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholesDecember 1, 1995.
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholesLess than a year after the group was formed, the Apache server passed
f300a833b20ab4dee4839f186ebb01a488c59752fuankgNCSA's httpd as the #1 server on the Internet.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ============================================================================
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesMany 3rd-party modules, frequently used and recommended, are also
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesfreely-available and linked from the related projects page:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes<http://modules.apache.org/>, and their authors frequently
9e64e5fdfddfa4b0aa678180f2d28fe1fb808b5ffuankgcontribute ideas, patches, and testing.
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankgHundreds of people have made individual contributions to the Apache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesproject. Patch contributors are listed in the CHANGES file.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ============================================================================
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesHow to become involved in the Apache project
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThere are several levels of contributing. If you just want to send
8492a2583e10c69f40de92f9d5da884b64d9f379fuankgin an occasional suggestion/fix, then you can just use the bug reporting
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesform at <http://httpd.apache.org/bug_report.html>. You can also subscribe
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesto the announcements mailing list (announce-subscribe@httpd.apache.org) which
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeswe use to broadcast information about new releases, bugfixes, and upcoming
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesevents. There's a lot of information about the development process (much of
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesit in serious need of updating) to be found at <http://httpd.apache.org/dev/>.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesIf you'd like to become an active contributor to the Apache project (the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesgroup of volunteers who vote on changes to the distributed server), then
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesyou need to start by subscribing to the dev@httpd.apache.org mailing list.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesOne warning though: traffic is high, 1000 to 1500 messages/month.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesTo subscribe to the list, send an email to dev-subscribe@httpd.apache.org.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesWe recommend reading the list for a while before trying to jump in to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes NOTE: The developer mailing list (dev@httpd.apache.org) is not
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a user support forum; it is for people actively working on development
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes of the server code and documentation, and for planning future
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes directions. If you have user/configuration questions, send them
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to users list <http://httpd.apache.org/userslist> or to the USENET
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes newsgroup "comp.infosystems.www.servers.unix".or for windows users,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the newsgroup "comp.infosystems.www.servers.ms-windows".
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThere is a core group of contributors (informally called the "core")
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeswhich was formed from the project founders and is augmented from time
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesto time when core members nominate outstanding contributors and the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesrest of the core members agree. The core group focus is more on
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes"business" issues and limited-circulation things like security problems
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthan on mainstream code development. The term "The Apache Group"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholestechnically refers to this core of project contributors.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThe Apache project is a meritocracy -- the more work you have done, the more
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesyou are allowed to do. The group founders set the original rules, but
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthey can be changed by vote of the active members. There is a group
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesof people who have logins on our server (apache.org) and access to the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCVS repository. Everyone has access to the CVS snapshots. Changes to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthe code are proposed on the mailing list and usually voted on by active
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesmembers -- three +1 (yes votes) and no -1 (no votes, or vetoes) are needed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesto commit a code change during a release cycle; docs are usually committed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesfirst and then changed as needed, with conflicts resolved by majority vote.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesOur primary method of communication is our mailing list. Approximately 100
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesmessages a day flow over the list, and are typically very conversational in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholestone. We discuss new features to add, bug fixes, user problems, developments
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgin the web server community, release dates, etc. The actual code development
bb2b38cd44b032118359afbc743efbea12f48e61bnicholestakes place on the developers' local machines, with proposed changes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholescommunicated using a patch (output of a unified "diff -u oldfile newfile"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholescommand), and committed to the source repository by one of the core
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesdevelopers using remote CVS. Anyone on the mailing list can vote on a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesparticular issue, but we only count those made by active members or people
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeswho are known to be experts on that part of the server. Vetoes must be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesaccompanied by a convincing explanation.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesNew members of the Apache Group are added when a frequent contributor is
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesnominated by one member and unanimously approved by the voting members.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesIn most cases, this "new" member has been actively contributing to the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesgroup's work for over six months, so it's usually an easy decision.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThe above describes our past and current (as of February 2008) guidelines,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeswhich will probably change over time as the membership of the group
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeschanges and our development/coordination tools improve.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ============================================================================
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesThe Apache Software Foundation (www.apache.org)
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgThe Apache Software Foundation exists to provide organizational, legal,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesand financial support for the Apache open-source software projects.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesFounded in June 1999 by the Apache Group, the Foundation has been
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgincorporated as a membership-based, not-for-profit corporation in order
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesto ensure that the Apache projects continue to exist beyond the participation
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesof individual volunteers, to enable contributions of intellectual property
6c080a25f5991f40225209541c989d7e76c4a39dbnicholesand funds on a sound basis, and to provide a vehicle for limiting legal
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesexposure while participating in open-source software projects.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesYou are invited to participate in The Apache Software Foundation. We welcome
bb2b38cd44b032118359afbc743efbea12f48e61bnicholescontributions in many forms. Our membership consists of those individuals
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeswho have demonstrated a commitment to collaborative open-source software
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesdevelopment through sustained participation and contributions within the
41022996c916eb4ab2ec3204eb491b64779eb100bnicholesFoundation's projects. Many people and companies have contributed towards
41022996c916eb4ab2ec3204eb491b64779eb100bnicholesthe success of the Apache projects.
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes ============================================================================
036436f4f4cdcd76186c0058891216545967043bbnicholesWhy Apache Is Free
41022996c916eb4ab2ec3204eb491b64779eb100bnicholesApache exists to provide a robust and commercial-grade reference
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesimplementation of the HTTP protocol. It must remain a platform upon which
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgindividuals and institutions can build reliable systems, both for
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesexperimental purposes and for mission-critical purposes. We believe the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholestools of online publishing should be in the hands of everyone, and
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgsoftware companies should make their money providing value-added services
bb2b38cd44b032118359afbc743efbea12f48e61bnicholessuch as specialized modules and support, amongst other things. We realize
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthat it is often seen as an economic advantage for one company to "own" a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesmarket - in the software industry that means to control tightly a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesparticular conduit such that all others must pay. This is typically done
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesby "owning" the protocols through which companies conduct business, at the
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgexpense of all those other companies. To the extent that the protocols of
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthe World Wide Web remain "unowned" by a single company, the Web will
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesremain a level playing field for companies large and small. Thus,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes"ownership" of the protocol must be prevented, and the existence of a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesrobust reference implementation of the protocol, available absolutely for
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesfree to all companies, is a tremendously good thing.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesFurthermore, Apache is an organic entity; those who benefit from it
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesby using it often contribute back to it by providing feature enhancements,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesbug fixes, and support for others in public newsgroups. The amount of
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeseffort expended by any particular individual is usually fairly light, but
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesthe resulting product is made very strong. This kind of community can
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesonly happen with freeware -- when someone pays for software, they usually
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesaren't willing to fix its bugs. One can argue, then, that Apache's
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesstrength comes from the fact that it's free, and if it were made "not
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesfree" it would suffer tremendously, even if that money were spent on a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesreal development team.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesWe want to see Apache used very widely -- by large companies, small
bb2b38cd44b032118359afbc743efbea12f48e61bnicholescompanies, research institutions, schools, individuals, in the intranet
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgenvironment, everywhere -- even though this may mean that companies who
bb2b38cd44b032118359afbc743efbea12f48e61bnicholescould afford commercial software, and would pay for it without blinking,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesmight get a "free ride" by using Apache. We would even be happy if some
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgcommercial software companies completely dropped their own HTTP server
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesdevelopment plans and used Apache as a base, with the proper attributions
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesas described in the LICENSE file.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankgThanks for using Apache!