[windows_errors] [what_error_messages_really_mean_ApacheServers] What IS the Apache HTTP Server Project?

  • From: "markb12000" <mark.brent@xxxxxxxxxxx>
  • To: what_error_messages_really_mean_ApacheServers@xxxxxxxxxxxxxxx
  • Date: Fri, 05 Dec 2003 23:39:45 -0000

What IS the Apache HTTP Server Project?  
The Apache Project is a collaborative software development effort 
aimed at creating a robust, commercial-grade, featureful, and freely-
available source code implementation of an HTTP (Web) server. The 
project is jointly managed by a group of volunteers located around 
the world, using the Internet and the Web to communicate, plan, and 
develop the server and its related documentation. These volunteers 
are known as the Apache Group. In addition, hundreds of users have 
contributed ideas, code, and documentation to the project. This file 
is intended to briefly describe the history of the Apache Group and 
recognize the many contributors. 
 
How Apache Came to Be  
In February of 1995, the most popular server software on the Web was 
the public domain HTTP daemon developed by Rob McCool at the National 
Center for Supercomputing Applications, University of Illinois, 
Urbana-Champaign. However, development of that httpd had stalled 
after Rob left NCSA in mid-1994, and many webmasters had developed 
their own extensions and bug fixes that were in need of a common 
distribution. A small group of these webmasters, contacted via 
private e-mail, gathered together for the purpose of coordinating 
their changes (in the form of "patches"). Brian Behlendorf and Cliff 
Skolnick put together a mailing list, shared information space, and 
logins for the core developers on a machine in the California Bay 
Area, with bandwidth donated by HotWired. By the end of February, 
eight core contributors formed the foundation of the original Apache 
Group: 

Brian Behlendorf Roy T. Fielding Rob Hartill 
David Robinson Cliff Skolnick Randy Terbush 
Robert S. Thau Andrew Wilson 

with additional contributions from

Eric Hagberg Frank Peters Nicolas Pioch 

Using NCSA httpd 1.3 as a base, we added all of the published bug 
fixes and worthwhile enhancements we could find, tested the result on 
our own servers, and made the first official public release (0.6.2) 
of the Apache server in April 1995. By coincidence, NCSA restarted 
their own development during the same period, and Brandon Long and 
Beth Frank of the NCSA Server Development Team joined the list in 
March as honorary members so that the two projects could share ideas 
and fixes.

The early Apache server was a big hit, but we all knew that the 
codebase needed a general overhaul and redesign. During May-June 
1995, while Rob Hartill and the rest of the group focused on 
implementing new features for 0.7.x (like pre-forked child processes) 
and supporting the rapidly growing Apache user community, Robert Thau 
designed a new server architecture (code-named Shambhala) which 
included a modular structure and API for better extensibility, pool-
based memory allocation, and an adaptive pre-forking process model. 
The group switched to this new server base in July and added the 
features from 0.7.x, resulting in Apache 0.8.8 (and its brethren) in 
August.

After extensive beta testing, many ports to obscure platforms, a new 
set of documentation (by David Robinson), and the addition of many 
features in the form of our standard modules, Apache 1.0 was released 
on December 1, 1995. 

Less than a year after the group was formed, the Apache server passed 
NCSA's httpd as the #1 server on the Internet and according to the 
survey by Netcraft, it retains that position today.

In 1999, members of the Apache Group formed the Apache Software 
Foundation to provide organizational, legal, and financial support 
for the Apache HTTP Server. The foundation has placed the software on 
a solid footing for future development.
 
Getting Involved  
If you just want to send in an occasional suggestion/fix, then you 
can just use the bug reporting form at 
<http://httpd.apache.org/bug_report.html>. You can also subscribe to 
the announcements mailing list (announce@xxxxxxxxxxxxxxxx) which we 
use to broadcast information about new releases, bugfixes, and 
upcoming events. There's a lot of information about the development 
process (much of it in serious need of updating) to be found at 
<http://httpd.apache.org/dev/>. 

NOTE: The developer mailing list is not a user support forum; it is 
for people actively working on development of the server code and 
documentation, and for planning future directions. If you have 
user/configuration questions, send them to the Users list or the 
USENET newsgroup "comp.infosystems.www.servers.unix" 
or "comp.infosystems.www.servers.ms-windows" (as appropriate for the 
platform you use).  
Development  
There is a core group of contributors (informally called the "core") 
which was formed from the project founders and is augmented from time 
to time when core members nominate outstanding contributors and the 
rest of the core members agree. The core group focus is more 
on "business" issues and limited-circulation things like security 
problems than on mainstream code development. The term "The Apache 
Group" technically refers to this core of project contributors.

The Apache Group is a meritocracy -- the more work you have done, the 
more you are allowed to do. The group founders set the original 
rules, but they can be changed by vote of the active members. There 
is a group of people who have logins on our server and access to the 
CVS repository. Everyone has access to the CVS snapshots. Changes to 
the code are proposed on the mailing list and usually voted on by 
active members -- three +1 (yes votes) and no -1 (no votes, or 
vetoes) are needed to commit a code change during a release cycle; 
docs are usually committed first and then changed as needed, with 
conflicts resolved by majority vote. 

Our primary method of communication is our mailing list. 
Approximately 40 messages a day flow over the list, and are typically 
very conversational in tone. We discuss new features to add, bug 
fixes, user problems, developments in the web server community, 
release dates, etc. The actual code development takes place on the 
developers' local machines, with proposed changes communicated using 
a patch (output of a unified "diff -u oldfile newfile" command), and 
committed to the source repository by one of the core developers 
using remote CVS. Anyone on the mailing list can vote on a particular 
issue, but we only count those made by active members or people who 
are known to be experts on that part of the server. Vetoes must be 
accompanied by a convincing explanation.

New members of the Apache Group are added when a frequent contributor 
is nominated by one member and unanimously approved by the voting 
members. In most cases, this "new" member has been actively 
contributing to the group's work for over six months, so it's usually 
an easy decision. 

The above describes our past and current (as of January 1998) 
guidelines, which will probably change over time as the membership of 
the group changes and our development/coordination tools improve.
 
Why Apache is Free  
Apache exists to provide a robust and commercial-grade reference 
implementation of the HTTP protocol. It must remain a platform upon 
which individuals and institutions can build reliable systems, both 
for experimental purposes and for mission-critical purposes. We 
believe the tools of online publishing should be in the hands of 
everyone, and software companies should make their money providing 
value-added services such as specialized modules and support, amongst 
other things. We realize that it is often seen as an economic 
advantage for one company to "own" a market - in the software 
industry that means to control tightly a particular conduit such that 
all others must pay. This is typically done by "owning" the protocols 
through which companies conduct business, at the expense of all those 
other companies. To the extent that the protocols of the World Wide 
Web remain "unowned" by a single company, the Web will remain a level 
playing field for companies large and small. Thus, "ownership" of the 
protocol must be prevented, and the existence of a robust reference 
implementation of the protocol, available absolutely for free to all 
companies, is a tremendously good thing.

Furthermore, Apache is an organic entity; those who benefit from it 
by using it often contribute back to it by providing feature 
enhancements, bug fixes, and support for others in public newsgroups. 
The amount of effort expended by any particular individual is usually 
fairly light, but the resulting product is made very strong. This 
kind of community can only happen with freeware -- when someone pays 
for software, they usually aren't willing to fix its bugs. One can 
argue, then, that Apache's strength comes from the fact that it's 
free, and if it were made "not free" it would suffer tremendously, 
even if that money were spent on a real development team.

We want to see Apache used very widely -- by large companies, small 
companies, research institutions, schools, individuals, in the 
intranet environment, everywhere -- even though this may mean that 
companies who could afford commercial software, and would pay for it 
without blinking, might get a "free ride" by using Apache. We would 
even be happy if some commercial software companies completely 
dropped their own HTTP server development plans and used Apache as a 
base, with the proper attributions as described in the LICENSE file. 
 



------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/67folB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
what_error_messages_really_mean_ApacheServers-unsubscribe@xxxxxxxxxxxxxxx

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



Other related posts:

  • » [windows_errors] [what_error_messages_really_mean_ApacheServers] What IS the Apache HTTP Server Project?