Skip to main content

How Apache Overtook NCSA httpd by April 1996

In 1995 the most popular web server in the world was not a product. It was a graduate student's side project. NCSA httpd was written at the University of Illinois at Urbana-Champaign by Rob McCool, and it shipped with the Mosaic browser as the default way to serve a website. Then McCool left the university, the project lost its maintainer, and a growing number of administrators found themselves fixing the same bugs in their own copies. By April 1996, the survey run by Netcraft recorded that a different server had taken the lead, and that server was Apache.

The mechanics of that transition say more about open source than any manifesto. When NCSA httpd stopped being maintained, users did what users do: they patched it locally and shared the patches on mailing lists. Brian Behlendorf and Cliff Skolnick set up a mailing list and a shared source repository so the fixes could live in one place instead of a hundred. The work was coordinated by a loose group of volunteers who called themselves the Apache Group, and they released Apache 1.0 in December 1995 as a drop in replacement for NCSA httpd. The configuration files were compatible. The module interface was compatible. Administrators could swap the binary and keep their setup.

That compatibility was a deliberate strategy, not an accident of history. The Apache Group understood that its users had invested time in httpd.conf files, in .htaccess rules, and in third party modules. Breaking any of those would have handed the market back to whoever shipped a stable alternative. So Apache kept reading the same directives, kept the same per directory override files, and kept a module registration mechanism that let existing extensions keep working. The inheritance is still visible today: .htaccess is an NCSA concept, and it survives in Apache long after its original author moved on.

What Apache added on top of the inherited code was process. The project used a mailing list for design decisions, a version control repository for the source, and a public bug tracker, all of which made it possible for dozens of contributors to work without stepping on each other. The name itself, according to Brian Behlendorf, was chosen for its association with the Apache nation rather than as a contraction of a patchy server, although the pun was too good for the internet to drop. The organisational model mattered as much as the code: it turned a pile of local fixes into a project with a release schedule and a future.

The timing helped. The commercial web exploded between 1994 and 1996, and every new site needed a server. NCSA httpd was frozen while Apache was shipping. Apache also ran on more Unix variants, supported virtual hosts cleanly, and had a module system that let hosting companies add features like SSL, authentication, and URL rewriting without forking the core. By the time the April 1996 Netcraft survey put Apache ahead of NCSA httpd, the lead was not a fluke of sampling. It was the visible result of two years of steady maintenance against a competitor that had simply stopped.

Three decades later the architecture that won that race became the thing people complained about. Apache's process per connection model, prefork, was simple and robust in 1996, when pages were small and traffic was modest. It scales badly when thousands of connections stay open. The 2.0 release in 2002 added threaded multi processing modules and the Apache Portable Runtime, which fixed part of the problem, but the configuration surface kept growing. Nginx arrived with an event driven design and a smaller config file, and it took the high traffic edge of the web within a decade.

None of that erases the lesson. Apache did not win because it had better technology. It won because a community formed around a dead project, kept its promises to existing users, and shipped on a schedule. For anyone maintaining a framework or an internal platform today, the sequence is familiar: the incumbent stops caring, the users start patching, and the first group to organise the patches owns the next decade. April 1996 is simply the month the numbers caught up with what the mailing list already knew.

We use cookies for ads and analytics.