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