The History of the Apache Server project

This document traces the history of the Apache Server project, and other events that influenced the project in important ways.


Pre-history

May 4, 1536. In a letter Florentine merchant Francesco Lapi uses the @ sign for the first time in recorded history.

1752. Benjamin Franklin gets a shock while flying his kite.

March 10, 1876. Alexander Graham Bell transmits the first spoken message by telephone.

1945. ``As we may think'' published by Vannevar Bush.

1947 John Bardeen, William Shockley, and Walter Brattain invent the transistor.

1965. Ted Nelson uses the word ``hypertext.''

Thomas Marill and Lawrence Roberts set up the first Wide Area Network, at MIT.

1966. Funding is approved for what will become ARPANET

April 7, 1969. RFC1 created, discussing the interface between machines connected to ARPANET.

September 2nd and October 1st, 1969. The first and second nodes are installed on ARPANET, at UCLA and Stanford, respectively. Connections are made at 50Kpbs.

May, 1974 Vint Cerf and Bob Kahn publish 'A Protocol for Packet Network Internetworking', which first introduces Transmission Control Protocol (TCP). This is the first recorded use of the term ``Internet.''

1976. UUCP developed by AT&T.

1984. William Gibson's novel ``Neuromancer'' uses the term ``Cyperspace'' for the first time.

March 1989. Tim Berners Lee proposes a ``web'' of hypertext documents for keeping track of large projects at CERN.

November 1990. Tim Berners Lee creates the first World-Wide Web software. This is a GUI web browser and WYSIWYG HTML editor. The package is named ``WorldWideWeb.''

October 5, 1991. Linus Torvalds announces Linux version 0.02


NCSA

November 1992. Tim Berners-Lee reports that there are a total of 30 web sites in existence, running a variety of web servers. The NCSA HTTPd web site (http://hoohoo.ncsa.uiuc.edu/) is listed as the most recent addition to this group.

January 1993. NCSA releases Mosaic for X

May 1993. Network Solutions awarded the InterNIC contract

September 1993. Mosaic released for Macintosh and Windows.

March 1994. Marc Andreesen and Jim Clark form Mosaic Communications Corp, which will later become Netscape Communications. The bulk of their development team are the same folks that developed Mosaic.


In the beginning

March 1995. Rob McCool leaves NCSA, and the Apache project starts. March 18, Apache 0.2 is released, based on NCSA httpd 1.3, by Rob McCool. The 8 original core members of the Apache Group are Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, and Andrew Wilson.

April, 1995. 0.6.2 release. Based on the NCSA codebase. Given the name Apache, as a reflection of the development and organizational philosophy. The Apache people organized their community in a ``meritocracy'', meaning that people that prove their worth are the ones that have stature. Similarly, the Apache server community gave stature to those that contributed quality code. The story has grown up, however, that the name derived from Apache being ``a patchy'' server, built from patches on the NSCA code.

June, 1995. Shambhala 0.1 is available. It is a major rewrite of the existing codebase, by Robert Thau. Very important things get introduced in this version, including the module API.

July, 1995. With the 0.8.0 release of Apache, Apache officially moves over to the Shambhala codebase. This release is Shambhala 0.6.2.

August, 1995. By August, Apache runs on a growing number of systems, including A/UX, SunOS, ULTRIX, OSF/1, BSD, NEXT, SGI, SCO, Linux, and a variety of other places not explicitly mentioned in the change log.


1.0

January, 1996. Apache 1.0 release. Included API for server extensions, more general VirtualHost support, content negotiation, XBitHack, and the ability to pipe your logs to a program rather than just to a file. Experimental modules were included that allowed for configurable logging, and for loading modules at server run time.

January 19, 1996. Roy Fielding et al release draft 1 of the HTTP 1.0 specification.


1.1

February 1996. Apache 1.1beta. Included a lot of neat new stuff: Caching proxy, filetype-based script ``action'', keep-alive persistent connections, customizable CGI environment variables, UserDir, ability to turn off DNS lookups, the ability to listen on multiple addresses and ports, and nifty new icons are some of the things that were part of this release. Optional new modules include mod_auth_db and mod_auth_mysql, which provide for authentication against Berkeley DB databases, and MySQL databases, respectively.

March 1996. Apache 1.1 official release. A logrotate script is added to the distribution, in addition to all the new features that were added in the beta.


1.2

April 1997. Apache 1.2 release. Includes even more nifty new stuff: HTTP 1.1 compliance, variables and conditionals in SSI directives, file-based and regex-enabled directive selection with the Files directive, setting enviromnent variables based on the user agent (browser), SetUID CGI execution, URL rewriting module, configurable logging module became standard, multiple IP addresses in VirtualHost directives, debugging and resource limits for CGI, gracefull restarts, simplified compilation, more flexibility with the Options directive, -h command line option to display help, ability to set or remove HTTP headers, conditional configuration options with the IfModule directive, improved syntax for auth directives. Optional new modules include a new proxy module, and an example module to demonstrate the API.


1.3

July 1997. Apache 1.3a1 released, with a lot of new functionality. Perhaps the biggest thing in this release is the new experimental support for Microsoft Windows NT. Other new things in this release are: Regular expression matching for Alias and Redirect directives, mod_mime_magic added to figure out file types when the file extension is uninformative or missing, mod_dir split into mod_dir and mod_autoindex, ability to specify more than one filename for the AccessFileName directive, HostNameLookup now defaults to 'off', and a new child_init function added to API to allow a new child to set up things when it is spawned.

April 1998. Apache 1.3.0 official release. In addition to the new features announced with the initial alpha release, this release also included important new things such as the APACI configuration tool, a small license change, improved DSO support, and a new dbmmanage script.

April 1998. Netscape releases source code of their browser software.

June 1998. IBM desides to use Apache as the engine behind the WebSphere product, rather than developing their own HTTP server. Apache license modified slightly to facilitate this arrangement.

October 1998. Apache 1.3.3 release has one unified server configuration file, rather than the traditional three files.

October 1998. The first ApacheCon conference held in San Francisco. Some of the Apache developers meet in person for the first time.


2.0

March 2000. Apache 2.0a1 was released in the closing session of ApacheCon 2000, held in Orlando, Florida

October 2000. ApacheCon 2000 Europe held in London, England.

April 2001. Apache 2.0.16 released as a beta.

April 2001. ApacheCon 2001 held in Santa Clara, California.