| |
| The Apache HTTP Server Project |
| |
| http://www.apache.org/ |
| |
| June 1997 |
| |
| 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, recognize the many contributors, and |
| explain how you can join the fun too. |
| |
| 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 and diskspace donated by HotWired and Organic Online. |
| 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. |
| |
| ============================================================================ |
| |
| Current Apache Group in alphabetical order as of 1 August 1997: |
| |
| Brian Behlendorf Organic Online, California |
| Ken Coar Process Software Corporation, New England, USA |
| Mark J. Cox UKWeb, UK |
| Ralf S. Engelschall Munich, Germany. |
| Roy T. Fielding UC Irvine, California |
| Dean Gaudet Steam Tunnel Operations, California |
| Rob Hartill Internet Movie DB, UK |
| Jim Jagielski jaguNET ISP, Maryland |
| Alexei Kosut Stanford University, California |
| Ben Laurie Freelance Consultant, UK |
| Chuck Murcko The Topsail Group, Pennsylvania |
| Doug MacEachern TOG Research Institute, Massachusetts |
| Aram W. Mirzadeh Qosina Corporation, New York |
| Sameer Parekh C2Net, California |
| Paul Sutton UKWeb, UK |
| Marc Slemko Canada |
| Randy Terbush Zyzzyva ISP, Nebraska |
| Dirk-Willem van Gulik Freelance Consultant, Italy |
| Andrew Wilson Freelance Consultant, UK |
| |
| Apache Emeritae (old group members now off doing other things) |
| |
| Robert S. Thau MIT, Massachusetts |
| David Robinson Cambridge University, UK |
| |
| Other major contributors |
| |
| Rob McCool (original author of the NCSA httpd), |
| Brandon Long and Beth Frank (NCSA Server Development Team, post-1.3), |
| Paul Richards (convinced the group to use remote CVS after 1.0), |
| Kevin Hughes (creator of all those nifty icons), |
| Henry Spencer (author of the regex library), Garey Smiley (OS/2 port), |
| Howard Fear (mod_include), Florent Guillaume (language negotiation), |
| Ambarish Malpani (NT port). |
| |
| Many 3rd-party modules, frequently used and recommended, are also |
| freely-available and linked from the related projects page: |
| <http://www.zyzzyva.com/module_registry/>, and their authors frequently |
| contribute ideas, patches, and testing. In particular, Doug MacEachern |
| (mod_perl) and Rasmus Lerdorf (mod_php). |
| |
| Hundreds of people have made individual contributions to the Apache |
| project. Patch contributors are listed in the src/CHANGES file. |
| Frequent contributors have included Petr Lampa, Tom Tromey, |
| James H. Cloos Jr., Ed Korthof, Nathan Neulinger, Jason S. Clary, |
| Jason A. Dour, Michael Douglass, Tony Sanders, Martin Kraemer, |
| Brian Tao, Michael Smith, Adam Sussman, Nathan Schrenk, Matthew Gray, |
| and John Heidemann. |
| |
| ============================================================================ |
| |
| How to join the Apache Group |
| |
| There are several levels of contributing. If you just want to send |
| in an occasional suggestion/fix, then you can just use the bug reporting |
| form at <http://www.apache.org/bugdb.cgi>. You can also subscribe to the |
| announcements mailing list (apache-announce@apache.org) which we use to |
| broadcast information about new releases, bugfixes, and upcoming events. |
| |
| If you'd like to become an active member of the Apache Group (the group |
| of volunteers who vote on changes to the distributed server), then |
| you need to start by subscribing to the new-httpd@apache.org mailing list. |
| One warning though: traffic is high, 1000 to 1500 messages/month. |
| To subscribe to the list, send "subscribe new-httpd" in the body of |
| a message to <majordomo@apache.org>. We recommend reading the list for |
| a while before trying to jump in to development. |
| |
| NOTE: The developer mailing list (new-httpd@apache.org) 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 USENET newsgroup "comp.infosystems.www.servers.unix". |
| |
| 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 core group |
| of people who have logins on our server (hyperreal.com) 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 context "diff -c3 oldfile newfile" |
| command), and committed to the source repository by one of the core |
| developers using remote CVS. |
| |
| 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. |
| 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. |
| |
| The above describes our past and current (as of June 1997) 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. |
| |
| Thanks for using Apache! |
| |
| ============================================================================ |
| Roy Fielding, June 1997 |
| |
| If you are interested in other WWW history, see <http://www.webhistory.org/> |