21st: Apache's free-software warriors

The most popular Web server software on the Net isn't made by Microsoft. Or Netscape. It isn't made by any traditional company at all. How'd that happen?

Published October 30, 1997 8:00PM (EST)

A red feather resting against the words "Powered by Apache": On the Web, the logo is everywhere. And for good reason -- the Apache Web server, a piece of software that transforms ordinary computers into sites on the World Wide Web, is by far the most popular choice for Webmasters everywhere.

That fact alone is extraordinary. The Apache server is not a commercial product -- it is "freeware" hacked together by a loose coalition of software developers stealing spare time from their demanding day jobs. And yet, in a market niche targeted by both Microsoft and Netscape as a crucial steppingstone to future profits, Apache dominates -- it is installed on almost half of all publicly accessible Web servers. And not just because the price is right, say Apache fans, but because it is a better product than its commercial competitors -- faster, more reliable, more up-to-date.

Market share isn't the only yardstick by which to judge Apache. Its success pays tribute to the utopian ideals of the whole "free software movement" -- and testifies to the enduring vigor of the Internet's cooperative, distributed approach to solving problems. Never mind the buzzword-hyping marketroids endlessly pushing the latest shrink-wrapped solution to all software problems. The Net offers a better way, as even Apache's competitors will concede -- off the record.

"We think the Apache guys are way cool," says one Microsoft employee who didn't want his name used. "We think they're at the heart and soul of what the Internet is all about."

Ironically, despite Apache's prominence in a noncommercial movement, it owes its birth in part to one of the first capitalist encroachments upon the Web.

Back in late 1994, Brian Behlendorf, a young programmer fresh out of UC-Berkeley's computer science department, was entrusted with the task of setting up the Web site for HotWired, Wired Magazine's first foray into online publishing. One of HotWired's initial requirements was a registration system that required passwords -- a controversial concept at the time.

In those days, most Webmasters depended on a Web server program developed at the University of Illinois' National Center for Supercomputing Applications (also the birthplace of the groundbreaking Mosaic Web browser). But the NCSA Web server couldn't handle password authentication on the scale that HotWired needed.

Luckily, the NCSA server was in the public domain, which meant that the source code was free to all comers. So Behlendorf exercised the hacker prerogative: He wrote some new code, a "patch" to the NCSA Web server that took care of the problem.

He wasn't the only clever programmer rummaging through the NCSA code that winter. All across the exploding Web, other Webmasters were finding it necessary to take matters into their own keyboards. The original code had been left to gather virtual dust when its primary programmer, University of Illinois student Rob McCool, had been scooped up (along with Marc Andreessen and Lynx author Eric Bina) by a little company in Silicon Valley named Netscape. Meanwhile, the Web refused to stop growing -- and kept creating new problems for Web servers to cope with. Patches proliferated in an uncoordinated, hopscotch manner.

Behlendorf is a fervent believer in the possibilities for cooperative software development on the Internet. He began to contact the other programmers and suggest that they join forces in rewriting the NCSA code. At first, the developers called their stitched-together solution by the joke name "A PAtCHy server." But by February 1995, they had completely rewritten the NCSA program from top to bottom and formalized their cooperation under the name "the Apache Group." Ever since, collaboration across the Net has been the Apache watchword.

"Everything that we've done has been in a distributed manner," says Behlendorf. "There hasn't been one company, one person, or one group of people that's controlled development."

Today, according to Netcraft, a British network consultancy, 49.7 percent of all publicly accessible Web servers on the Internet run Apache -- and the number keeps growing. (The program runs mostly on Unix operating systems, though a new version is now available for Windows NT.) Apache's proficiency at allowing a single machine to host thousands of different virtual Web domains has given it a commanding share of the Internet Service Provider market. Yahoo runs Apache, as does the Internet Movie Database and, not surprisingly, HotWired itself -- although Behlendorf, now the chief technical officer at the Web production studio Organic Online, is long gone.

Apache's success is worn like a badge of honor by free software enthusiasts, and touted endlessly as proof that the Internet hasn't been utterly overwhelmed by voracious commercial software titans like Microsoft.

"Apache is one of our great success stories," says free software advocate Eric Raymond, author of "The Hacker's Dictionary." "Everybody thinks so. And the Apache people see themselves, with justification, as exemplars of free-software culture."

But just what is free software "culture"? The free software community is large and diverse, not to mention packed chock-full of acronyms only a geek could love -- GNU, Linux, FreeBSD, Perl. It is riven by religious schisms and periodically explodes into flame wars over technicalities that might strike the outsider as enormously picayune. Still, despite their differences, free software developers share the belief that their movement is not only the Internet's past but its future.

"The Linux guys and the Apache guys and the Perl guys and the W3C and the people hacking Internet standards at the IETF all identify with each other, with the free software community in general, as much or more than they do with individual projects," says Raymond. "I'm not an Apache developer, but I nevertheless think of their success as 'ours' rather than 'theirs,' and they feel the same way whenever Linux or GCC scores another design win."

The first thing to understand about free software is that it is not necessarily free. As legendary MIT hacker Richard Stallman, the founder of the Free Software Foundation and primary coordinator of the GNU ("GNU is Not Unix") Project, likes to say, "Free software is a matter of freedom, not price -- the freedom to modify the software, redistribute the software and release improved versions of the software."

Such "freedom" basically means the ability to access -- and change -- a program's source code. The typical software company guards its source code like a pack of pit bulls standing watch over crown jewels. Source code is considered the core intellectual property upon which the software industry is built. For example, Microsoft's Internet Explorer Web browser may be free to consumers, but it is not "free software" -- the source code is under lock and key.

Source code availability is the great selling point, so to speak, for free software (and, indeed, Behlendorf would rather use the phrase "source-code available software" than "free software"). The point is, if something goes wrong, you don't need to wait around for Microsoft or Netscape to answer your support calls. If you discover a bug or you need some new function, you can just roll up your sleeves and start mucking about with the code yourself. And more often than not, someone else already encountered the same problem and posted a fix to the Net.

"Having access to the code and being able to modify it is pretty key," says David Filo, co-founder of Yahoo. "It's just a lot easier when you have total control over it."

However, there are different kinds of total control. Stallman's GNU software is protected by a licensing system that requires anyone who distributes modified versions of GNU software to distribute the modified source code as well. This ensures that each future generation of the software will always remain open.

The Apache Web server, on the other hand, is protected under a different, less restrictive licensing system that allows future users to do whatever they want (as long as they include the Apache Group's copyright notice). Already, several companies are reported to be turning a profit with commercial versions of Apache, most notably C2Net, an Oakland, Calif., software company that sells Stronghold, an Apache Web server incorporating public key cryptography.

Behlendorf goes so far as to argue that Apache's licensing is "more free" because it places fewer restrictions on future users. And he believes that this has helped the spread of Apache. But such an approach is anathema to Stallman. If source code availability isn't permanently protected, he argues, then the software can ultimately be perverted by commercial pressures.

Stallman believes the right to free software is "inalienable." To him, it's a moral issue -- he doesn't care whether free software produces better code or is embraced by consumers.

"I don't judge these things in terms of material benefit," says Stallman. "My fundamental reason for having a free software community is so that I can continue to use computers without ever doing something wrong -- without ever promising that I won't share with you. Even if most computer users don't choose to be in this community, I can be in it. It's not a matter of whether one philosophy or another wins the whole world. It's not an all or nothing thing."

- - - - - - - - - - - - - - - - -

But many free software evangelists do argue that their products are higher quality than Microsoft and Netscape's closed-shop bloatware. Free software developers, they argue, stay tightly focused on what Webmasters toiling on the front lines actually need. As Behlendorf notes, "Everything that is done on Apache is done because someone needs it done."

"Apache is 'good enough' for just about everybody," says Linus Torvalds, the coordinator and primary author of the freeware Linux operating system, "and usually it's simply the best when it comes to flexibility, availability and price. And because it's free software, there are a lot of people working on it and keeping it up to date -- and those people aren't so much influenced by marketing decisions as by cold hard facts and by what they themselves need from a Web server."

"You are getting so much complexity these days in the software industry," says Behlendorf, "and so much more of what we do is dominated by software, that to leave the strengths of your business processes up to something that you can't get inside of is a very dangerous situation."

But most important is the strength that comes from being able to tap the collective wisdom of all the other users and experts on the Net.

"When you have a lot of people out there, from various backgrounds, looking at it, developing it, improving it, giving fixes back," says Yahoo's Filo, "that system works really well, and results in quality products."

Freedom, then, doesn't just mean taking the moral high ground, but the pragmatic heights as well. And, in the best of both worlds, the two qualities combine. The developers of Apache express their rationale succinctly on their own Web site, under the subtitle "Why Apache is Free."

"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."

Critics of free software enjoy observing that most software users lack the skills to take advantage of free software's benefits. And they're correct, to a point. Even free software advocates admit that only a true computer geek may be able to appreciate the joys of Apache, or Linux, or Perl. Most people don't want the opportunity to fix their own software when something goes wrong -- they'd much rather nothing went wrong in the first place, and they think that's what will happen if they write a fat check to Microsoft or Netscape.

"In general terms, we have found that the 'free' or, as we prefer to call it, the 'cooperatively developed' software model works better for technical tools -- operating systems, compilers, networking tools, Web servers -- and the commercial model works better for end-user tools -- dental office billing systems, office suites, etc.," says Bob Young, president of Red Hat Software, a company that sells and supports copies of the Linux operating system.

Access to source code is "a huge competitive advantage with a niche in the marketplace," says John Dawes, group product manager for Netscape's Web server product, the Netscape Enterprise Server. "It's certainly not the mainstream. More and more people want to get on the Web -- but my mom wouldn't know what to do with source code. Most customers don't want to be in the business of maintaining their own software."

And even if the programmers entrusted with running a corporate Web server believe that Apache and Linux offer the best solution for corporate needs, there's still a widespread prejudice in the executive ranks against trusting any "mission critical" application to "freeware."

"You won't see a lot of Fortune 1,000 customers putting Apache on their Web servers," says Jonathan Perera, product manager for Microsoft's Internet Information Server.

"People in corporate situations have a problem dealing with freeware," says Filo. "It's much harder to point fingers when something goes wrong."

Dawes and Perera both shrugged off questions about Apache's market share, dismissing it as essentially irrelevant in the larger commercial picture. The corporate motto at both Netscape and Microsoft is to emphasize the "intranet" while downplaying the Internet. Publicly accessible Web servers aren't where the money is -- the real profits are behind the "firewall" in internal corporate networks. Netscape says it currently dominates that market, although Microsoft is making major inroads, in part by bundling its Web server software with the Windows NT operating system.

But the distinction between intranet and Internet may not be as critical as Microsoft and Netscape believe. To some free software advocates, Apache's success is a beachhead for future assaults on corporate markets.

"The free-software community is more than the sum of its projects," says Eric Raymond. "When Apache gets into a commercial shop, it opens the way for Linux and GCC and free BSD operating systems ... Every Web page that goes up is a blow for decentralization and transparent open standards and against the Microsoft monolith."

"The free-software movement is not yet a threat to Microsoft's dominance of the desktop," says Raymond. "But the Internet is our 'killer app.'"

Certainly, the Internet is what makes possible today's boom in cooperative software development. To some observers, this is a majestic human achievement.

"The most revolutionary software, including the Internet, the World Wide Web, the most widely used Web server (Apache) and the most widely used language for active Web sites (Perl), were all developed by distributed freeware communities," says Tim O'Reilly, founder of the computer publishing house O'Reilly and Associates, at a conference this summer focusing on the Perl programming language. "This makes distributed software development by freely cooperating networks of independent developers the highest form of one of the most significant human inventions."

This is, as hackers would say, non-trivial. It's well known that government funding helped the Internet get off the ground. But from a very early stage in its growth, volunteer programmers donated their time, energy and coding creativity to help improve the network for everyone. This so-called gift economy ethos -- where you contribute to a common good, confident that you will benefit from others' free contributions -- is responsible for Usenet, the Web and countless other applications that make the Internet what it is today.

But one doesn't hear much about the gift economy in 1997 -- indeed, the notion is often dismissed as some kind of quaint, vaguely socialist humbug that today's robust markets can simply ignore. The morphing of the team of programmers who wrote Mosaic into the Netscape Communications Corporation, the privatization of the Internet's backbone and the ominous arrival of Microsoft all add up to what many longtime observers see as a new era on the Net -- less friendly, less idealistic and less fun.

But guess what? Rumors of the gift economy's demise are greatly exaggerated -- Apache, a gift from the Net to the Net, proves it. Perhaps it just hasn't been quite as effective at marketing itself to the mainstream world as Netscape or Microsoft. As one Apache developer, Robert Thau, notes, "volunteers don't advertise." All along, even as gold-rush fever transformed the Net from geek backwater into pop-culture phenomenon, the free software movement has been plugging away, gaining strength, gaining adherents and taking advantage of the Net itself to develop ever better software, for the benefit of all.

Who'd have imagined it? "From each according to their abilities, to each according to their needs." Truly, a revolutionary concept.

By Andrew Leonard

Andrew Leonard is a staff writer at Salon. On Twitter, @koxinga21.

MORE FROM Andrew Leonard

Related Topics ------------------------------------------