A History of "Open Source"

I'd like to tell you a story about what everyone calls "open source" software. There's a lot of heros, a wild-eyed visionary (who might be a madman), but no villians. At least not yet.

It's a pretty long story, and I'm only telling you a few of the parts I know.

This story started almost twenty years ago, and it isn't over yet.

Richard Stallman

In the early 80's, a programmer named Richard Stallman worked for MIT. He spent huge amounts of time working on the original Emacs, an operating system called ITS, and the exceedingly cool LISP machines.

Stallman wrote good software. His programs were clever--they were frequently built around a few good ideas that made everything else easy.

But Stallman was also an ideologue. His software came with instructions: Share this code with your fellow users. Learn from it. Improve upon it. And when you're done, please give something back to the community.

To Stallman, this sharing was a moral principle. And as it turned out, Stallman would happily turn down money, fame and glory in the name of his moral principles.

You can read the whole story in Levy's excellent (but out-of-print) book, Hackers: Heros of the Computer Revolution.

The GNU Manifesto

In 1984, Stallman was wrestling with the software equivalent of Napster. Like the Grateful Dead, he was an artist who wanted users to share his work. He asked them to send him some money if they could--so he could write more--but he never required them to pay a cent. He didn't want to discourage sharing.

But Stallman had a larger problem: Even if users could share the software that he wrote, they wouldn't be able share anybody else's. This bothered him.

He could have gone down the Napster route, and encouraged software piracy. Or he could have given up, and only shared a few small tools.

Instead, Stallman decided to write an entire operating system, a complete set of development tools, and all the applications that anybody would ever need. He planned to give all these tools away, so that his users would have something to share.

Sure, this was a pretty laughable goal, especially for a man who lived in his office at MIT and rarely combed his hair.

Stallman's vision is laid out in the GNU Manifesto. This manifesto is either a profoundly important document or the mimeographed ravings of some guy in the city park. I've never been entirely sure which.

The GNU Project and The Free Software Foundation

"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free speech", not "free beer." -Quoted from the Free Software Foundation web site

He wrote a new version of Emacs, which still gets rave reviews from authors like Neal Stephenson. He wrote GCC, which was one of the best C compilers of the age. He enlisted hordes of volunteers, who began to clone the entire Unix toolset (which was quite popular at the time).

The GNU project also adopted some their software from outside sources. They borrowed the X Window System from MIT and Compaq. They adopted TeX (a typesetting system) from Donald Knuth. They stayed away, however, from the BSD code, which was the target of an AT&T lawsuit at the time.

Linus Torvalds

By 1991, the GNU Project had either written or located most of the parts of a complete Unix system. But they were having problems with the kernel.

Stallman (and other volunteers) were working on a kernel called the HURD. Unfortunately, the HURD was a bit too clever, and the team had gotten in over their heads. They certainly weren't in any danger of shipping.

Meanwhile, young Linus Torvalds was hacking on a tiny kernel, just a toy. He announced it on comp.os.minix:

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

To compile Linux, you needed GCC. To run any programs, you needed the GNU C library. And half of the programs available for Linux were originally written by GNU volunteers.

Linus never made any secret of his debt to the GNU project. He even decided to use their (rather complicated) software license as a way of saying thank you.

The Linux Explosion

But despite Linus's debt to the GNU project, he made a much better leader than Stallman. Linus was a software guy, pure and simple. He never spent much time writing polemics or arguing philosphy. And he never planned very far ahead. He just did his thing, and argued for his beliefs by example.

(Back when Linux had perhaps a hundred thousand users, Linus made an offhand quip about "world domination". Now that Linux is a household name, he no longer make jokes like that.)

Linus could convince people, many of whom were frightened by Stallman. And Linux grew from "just a hobby" to the third most popular operating system in the world.

Netscape and Open Source

Eric Raymond was an old friend of Stallman's. He had written some pretty good software in his day, and helped edit the Jargon File, a compedium of folklore about ITS, Unix and the Internet.

He wrote a paper called The Cathedral and The Bazaar. (The Cathedral, in this paper, doesn't actually represent proprietary software. If anything, it represents the HURD and Stallman's insular development methodologies.)

Netscape took a liking to Eric's writings, and decided to turn their browser into a bazaar.

Eric was very much into spin control, as it turned out, and wanted to repackage Stallman's radical ideas into a less intimidating form. He convened some friends, put the kibosh of the word "free" (which was politically unacceptable), and helped coin the term "open source".

At the time, people like Larry Wall, Brian Behlendorf and Guido van Rossum weren't talking to each other, or to the Linux developers. They'd built their own communities, but there was no real unification.

Tim O'Reilly sold a lot of books about Perl, Python, Apache, and various other "open source" software. The O'Reilly books were of extraordinarily high quality, but they were proprietary. (Stallman had already pointed this out to anybody who would listen.)

So people like Tim and Eric worked on the PR, and started pulling these various groups together. And for the most part, their efforts did accomplish something. Today, everyone's heard of open source, and people like Guido and Linus actually talk to each other.

The True Leaders

But don't mistake the open source PR schtick for the real heart of the free software movement.

Those of us in the trenches have all wrestled with Stallman's ideas. Some of us have accepted Stallman; others have rejected him. In our hearts, most of us are uneasy about him. For better or for worse, Stallman's not a comfortable man.

Just about everybody loves Linus and Guido and Larry. They're great guys, and they write some cool software. They're decent folks, too--not fanatic preachers, but good, solid people who are a bit embarassed by their fame.

Closer to home, we all know some individual project leaders. These folks help maintain small (but important) projects. Nearly all of them are volunteers, coding for love or necessity. A few can make a living through consulting. With very few exceptions, the project leaders are wonderful, helpful people.

Giving Credit

Every once in a while, you'll see the terms free software and GNU/Linux. These terms are awkward (and don't make for good PR), but they preserve the memory of Stallman's efforts.

This movement isn't held together by ideology or by secret summits. Most of the developers don't even have an enemy (despite what you might have heard from the jerks on Slashdot). Many free software developers don't even preach against proprietary software--they write it for a living, and only contribute to free software on the weekends.

I've only told a tiny piece of a very big story, and I've undoutably made a few mistakes. So if you want to take up the story from here, please use the space below.