1 2 The Apache HTTP Server Project 3 4 http://httpd.apache.org/ 5 6 February 2002 7 8The Apache Project is a collaborative software development effort aimed 9at creating a robust, commercial-grade, featureful, and freely-available 10source code implementation of an HTTP (Web) server. The project is 11jointly managed by a group of volunteers located around the world, using 12the Internet and the Web to communicate, plan, and develop the server and 13its related documentation. These volunteers are known as the Apache Group. 14In addition, hundreds of users have contributed ideas, code, and 15documentation to the project. This file is intended to briefly describe 16the history of the Apache Group, recognize the many contributors, and 17explain how you can join the fun too. 18 19In February of 1995, the most popular server software on the Web was the 20public domain HTTP daemon developed by Rob McCool at the National Center 21for Supercomputing Applications, University of Illinois, Urbana-Champaign. 22However, development of that httpd had stalled after Rob left NCSA in 23mid-1994, and many webmasters had developed their own extensions and bug 24fixes that were in need of a common distribution. A small group of these 25webmasters, contacted via private e-mail, gathered together for the purpose 26of coordinating their changes (in the form of "patches"). Brian Behlendorf 27and Cliff Skolnick put together a mailing list, shared information space, 28and logins for the core developers on a machine in the California Bay Area, 29with bandwidth and diskspace donated by HotWired and Organic Online. 30By the end of February, eight core contributors formed the foundation 31of the original Apache Group: 32 33 Brian Behlendorf Roy T. Fielding Rob Hartill 34 David Robinson Cliff Skolnick Randy Terbush 35 Robert S. Thau Andrew Wilson 36 37with additional contributions from 38 39 Eric Hagberg Frank Peters Nicolas Pioch 40 41Using NCSA httpd 1.3 as a base, we added all of the published bug fixes 42and worthwhile enhancements we could find, tested the result on our own 43servers, and made the first official public release (0.6.2) of the Apache 44server in April 1995. By coincidence, NCSA restarted their own development 45during the same period, and Brandon Long and Beth Frank of the NCSA Server 46Development Team joined the list in March as honorary members so that the 47two projects could share ideas and fixes. 48 49The early Apache server was a big hit, but we all knew that the codebase 50needed a general overhaul and redesign. During May-June 1995, while 51Rob Hartill and the rest of the group focused on implementing new features 52for 0.7.x (like pre-forked child processes) and supporting the rapidly growing 53Apache user community, Robert Thau designed a new server architecture 54(code-named Shambhala) which included a modular structure and API for better 55extensibility, pool-based memory allocation, and an adaptive pre-forking 56process model. The group switched to this new server base in July and added 57the features from 0.7.x, resulting in Apache 0.8.8 (and its brethren) 58in August. 59 60After extensive beta testing, many ports to obscure platforms, a new set 61of documentation (by David Robinson), and the addition of many features 62in the form of our standard modules, Apache 1.0 was released on 63December 1, 1995. 64 65Less than a year after the group was formed, the Apache server passed 66NCSA's httpd as the #1 server on the Internet. 67 68The survey by Netcraft (http://www.netcraft.com/survey/) shows that Apache 69is today more widely used than all other web servers combined. 70 71 ============================================================================ 72 73Current Apache Group in alphabetical order as of 2 April 2002: 74 75 Greg Ames IBM Corporation, Research Triangle Park, NC, USA 76 Aaron Bannert California 77 Brian Behlendorf Collab.Net, California 78 Ken Coar IBM Corporation, Research Triangle Park, NC, USA 79 Mark J. Cox Red Hat, UK 80 Lars Eilebrecht Freelance Consultant, Munich, Germany 81 Ralf S. Engelschall Cable & Wireless Deutschland, Munich, Germany 82 Justin Erenkrantz University of California, Irvine 83 Roy T. Fielding Day Software, California 84 Tony Finch Covalent Technologies, California 85 Dean Gaudet Transmeta Corporation, California 86 Dirk-Willem van Gulik Covalent Technologies, California 87 Brian Havard Australia 88 Ian Holsman CNET, California 89 Ben Hyde Gensym, Massachusetts 90 Jim Jagielski jaguNET Access Services, Maryland 91 Manoj Kasichainula Collab.Net, California 92 Alexei Kosut Stanford University, California 93 Martin Kraemer Munich, Germany 94 Ben Laurie Freelance Consultant, UK 95 Rasmus Lerdorf Yahoo!, California 96 Daniel Lopez Ridruejo Covalent Technologies, California 97 Doug MacEachern Covalent Technologies, California 98 Aram W. Mirzadeh CableVision, New York 99 Chuck Murcko The Topsail Group, Pennsylvania 100 Brian Pane CNET Networks, California 101 Sameer Parekh California 102 David Reid UK 103 William A. Rowe, Jr. Covalent, Illinois 104 Wilfredo Sanchez Apple Computer, California 105 Cliff Skolnick California 106 Marc Slemko Canada 107 Joshua Slive Canada 108 Greg Stein California 109 Bill Stoddard IBM Corporation, Research Triangle Park, NC 110 Sander Striker The Netherlands 111 Paul Sutton Seattle 112 Randy Terbush Covalent Technologies, California 113 Jeff Trawick IBM Corporation, Research Triangle Park, NC 114 Cliff Woolley University of Virginia 115 116Apache Emeritus (old group members now off doing other things) 117 118 Ryan Bloom California 119 Rob Hartill Internet Movie DB, UK 120 David Robinson Cambridge University, UK 121 Robert S. Thau MIT, Massachusetts 122 Andrew Wilson Freelance Consultant, UK 123 124Other major contributors 125 126 Howard Fear (mod_include), Florent Guillaume (language negotiation), 127 Koen Holtman (rewrite of mod_negotiation), 128 Kevin Hughes (creator of all those nifty icons), 129 Brandon Long and Beth Frank (NCSA Server Development Team, post-1.3), 130 Ambarish Malpani (Beginning of the NT port), 131 Rob McCool (original author of the NCSA httpd 1.3), 132 Paul Richards (convinced the group to use remote CVS after 1.0), 133 Garey Smiley (OS/2 port), Henry Spencer (author of the regex library). 134 135Many 3rd-party modules, frequently used and recommended, are also 136freely-available and linked from the related projects page: 137<http://modules.apache.org/>, and their authors frequently 138contribute ideas, patches, and testing. 139 140Hundreds of people have made individual contributions to the Apache 141project. Patch contributors are listed in the CHANGES file. 142Frequent contributors have included Petr Lampa, Tom Tromey, James H. 143Cloos Jr., Ed Korthof, Nathan Neulinger, Jason S. Clary, Jason A. Dour, 144Michael Douglass, Tony Sanders, Brian Tao, Michael Smith, Adam Sussman, 145Nathan Schrenk, Matthew Gray, and John Heidemann. 146 147 ============================================================================ 148 149How to become involved in the Apache project 150 151There are several levels of contributing. If you just want to send 152in an occasional suggestion/fix, then you can just use the bug reporting 153form at <http://httpd.apache.org/bug_report.html>. You can also subscribe 154to the announcements mailing list (announce-subscribe@httpd.apache.org) which 155we use to broadcast information about new releases, bugfixes, and upcoming 156events. There's a lot of information about the development process (much of 157it in serious need of updating) to be found at <http://httpd.apache.org/dev/>. 158 159If you'd like to become an active contributor to the Apache project (the 160group of volunteers who vote on changes to the distributed server), then 161you need to start by subscribing to the dev@httpd.apache.org mailing list. 162One warning though: traffic is high, 1000 to 1500 messages/month. 163To subscribe to the list, send an email to dev-subscribe@httpd.apache.org. 164We recommend reading the list for a while before trying to jump in to 165development. 166 167 NOTE: The developer mailing list (dev@httpd.apache.org) is not 168 a user support forum; it is for people actively working on development 169 of the server code and documentation, and for planning future 170 directions. If you have user/configuration questions, send them 171 to users list <http://httpd.apache.org/userslist> or to the USENET 172 newsgroup "comp.infosystems.www.servers.unix".or for windows users, 173 the newsgroup "comp.infosystems.www.servers.ms-windows". 174 175There is a core group of contributors (informally called the "core") 176which was formed from the project founders and is augmented from time 177to time when core members nominate outstanding contributors and the 178rest of the core members agree. The core group focus is more on 179"business" issues and limited-circulation things like security problems 180than on mainstream code development. The term "The Apache Group" 181technically refers to this core of project contributors. 182 183The Apache project is a meritocracy -- the more work you have done, the more 184you are allowed to do. The group founders set the original rules, but 185they can be changed by vote of the active members. There is a group 186of people who have logins on our server (apache.org) and access to the 187CVS repository. Everyone has access to the CVS snapshots. Changes to 188the code are proposed on the mailing list and usually voted on by active 189members -- three +1 (yes votes) and no -1 (no votes, or vetoes) are needed 190to commit a code change during a release cycle; docs are usually committed 191first and then changed as needed, with conflicts resolved by majority vote. 192 193Our primary method of communication is our mailing list. Approximately 40 194messages a day flow over the list, and are typically very conversational in 195tone. We discuss new features to add, bug fixes, user problems, developments 196in the web server community, release dates, etc. The actual code development 197takes place on the developers' local machines, with proposed changes 198communicated using a patch (output of a unified "diff -u oldfile newfile" 199command), and committed to the source repository by one of the core 200developers using remote CVS. Anyone on the mailing list can vote on a 201particular issue, but we only count those made by active members or people 202who are known to be experts on that part of the server. Vetoes must be 203accompanied by a convincing explanation. 204 205New members of the Apache Group are added when a frequent contributor is 206nominated by one member and unanimously approved by the voting members. 207In most cases, this "new" member has been actively contributing to the 208group's work for over six months, so it's usually an easy decision. 209 210The above describes our past and current (as of July 2000) guidelines, 211which will probably change over time as the membership of the group 212changes and our development/coordination tools improve. 213 214 ============================================================================ 215 216The Apache Software Foundation (www.apache.org) 217 218The Apache Software Foundation exists to provide organizational, legal, 219and financial support for the Apache open-source software projects. 220Founded in June 1999 by the Apache Group, the Foundation has been 221incorporated as a membership-based, not-for-profit corporation in order 222to ensure that the Apache projects continue to exist beyond the participation 223of individual volunteers, to enable contributions of intellectual property 224and funds on a sound basis, and to provide a vehicle for limiting legal 225exposure while participating in open-source software projects. 226 227You are invited to participate in The Apache Software Foundation. We welcome 228contributions in many forms. Our membership consists of those individuals 229who have demonstrated a commitment to collaborative open-source software 230development through sustained participation and contributions within the 231Foundation's projects. Many people and companies have contributed towards 232the success of the Apache projects. 233 234 ============================================================================ 235 236Why Apache Is Free 237 238Apache exists to provide a robust and commercial-grade reference 239implementation of the HTTP protocol. It must remain a platform upon which 240individuals and institutions can build reliable systems, both for 241experimental purposes and for mission-critical purposes. We believe the 242tools of online publishing should be in the hands of everyone, and 243software companies should make their money providing value-added services 244such as specialized modules and support, amongst other things. We realize 245that it is often seen as an economic advantage for one company to "own" a 246market - in the software industry that means to control tightly a 247particular conduit such that all others must pay. This is typically done 248by "owning" the protocols through which companies conduct business, at the 249expense of all those other companies. To the extent that the protocols of 250the World Wide Web remain "unowned" by a single company, the Web will 251remain a level playing field for companies large and small. Thus, 252"ownership" of the protocol must be prevented, and the existence of a 253robust reference implementation of the protocol, available absolutely for 254free to all companies, is a tremendously good thing. 255 256Furthermore, Apache is an organic entity; those who benefit from it 257by using it often contribute back to it by providing feature enhancements, 258bug fixes, and support for others in public newsgroups. The amount of 259effort expended by any particular individual is usually fairly light, but 260the resulting product is made very strong. This kind of community can 261only happen with freeware -- when someone pays for software, they usually 262aren't willing to fix its bugs. One can argue, then, that Apache's 263strength comes from the fact that it's free, and if it were made "not 264free" it would suffer tremendously, even if that money were spent on a 265real development team. 266 267We want to see Apache used very widely -- by large companies, small 268companies, research institutions, schools, individuals, in the intranet 269environment, everywhere -- even though this may mean that companies who 270could afford commercial software, and would pay for it without blinking, 271might get a "free ride" by using Apache. We would even be happy if some 272commercial software companies completely dropped their own HTTP server 273development plans and used Apache as a base, with the proper attributions 274as described in the LICENSE file. 275 276Thanks for using Apache! 277 278