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