The first time I met Eric Raymond, the co-author of "The New Hacker's Dictionary," he flamed me hairless after I sent him e-mail seeking clarification of a point of research for a project I was working on.
"It sounds to me like you're way out of your technical depth here," his message concluded. "Any real hacker would have known the answer to your question without having to think. Get expert help, or you are likely to produce a book full of breathless nonsense."
Ouch. Stung, I flamed back, and for several days we traded e-mail invective before getting down to serious business. As Raymond told me later, I had run head on into his "idiot filter" -- a technique he used to keep the clueless at arm's length. Eric Raymond's idiot filter is usually set pretty high.
My next encounter with Raymond came last fall, while I was reporting a story about the Apache Web server project and the free software movement. Raymond is an influential advocate of the principle of free software -- which declares that the best way to produce quality software is to give the world free access to the underlying source code. Raymond's essay "The Cathedral and the Bazaar" is one of the most eloquent explications of the theory that software design is best served by having a community of independent hackers work together in an atmosphere of complete openness. This time around, my exchange with Raymond was completely civil -- I was inquiring about something he loved, something he passionately believed in. No flaming necessary.
Finally, I met him face to face, and discovered a man positively brimming with energy and ebullience. On April 1, Netscape -- swayed, company officials say, by many of Raymond's arguments in "The Cathedral and the Bazaar" -- officially joined the free software movement by releasing the source code to Navigator 5.0. To mark the occasion, Raymond left his home in Malvern, Pa., and journeyed out to Silicon Valley -- both to attend the release party and to participate in a "free software summit" that included nearly all of the most significant players in the free software game.
I took the opportunity to drive down to Mountain View and take him out to lunch. When I picked him up at the office he was temporarily working out of, I commented that right now must be an exciting time for him. Without a trace of irony, the 40-year-old hacker icon replied, "Oh yes -- for my culture and my people, this is the moment we've been waiting for for 20 years."
My culture and my people. The words are grandiose, but the extravagance is not unjustified. Raymond isn't Moses -- the free software movement doesn't have any one leader -- but the Netscape announcement has indeed given the hard-core geeks of the world a glimpse at the Promised Land. And no one defines the parameters "hard-core" and "geek" more efficiently than Eric Raymond.
A self-described neo-pagan libertarian who enjoys shooting semi-automatic weapons, Raymond fits the classic stereotype of the hacker almost too well. Hackers tend to think they know better; free software libertarian hackers tend to think they know best of all. As Raymond told me with pride: "I'm an arrogant son of a bitch."
The world of hackerdom is full of arrogant sons of bitches, to be sure, but computers are more to Raymond than just a playground to flaunt his ego. In jokingly referring to his "Napoleon complex," Raymond also told me he suffers from congenital cerebral palsy. That condition encouraged him to look upon computers as a realm in which he could exercise the kind of control denied him in the physical world.
How did you find out that Netscape had embraced the ideas in your essay?
On January 23rd, 1998, I was sitting at my machine, hacking away, fat, dumb and happy, and somebody sent me e-mail that said, gee Eric, I think you better go take a look at this Web page. I think somebody has been reading your paper. So I fired up my browser and sent it to the Netscape press release announcing [the release of the Navigator 5.0 source code]. And I looked at it and I thought, how interesting! Because not only did I immediately see that this was the break my culture had been waiting for for 20 years -- but I also saw that a lot of the phrasing looked strangely familiar, as though someone had taken my paper and run it through the marketing meat grinder. An hour later, I got a phone call from Netscape's chief of PR, and she gave me a 20-minute spiel which broke down to, yup, you have something to do with this, all of our top people read your paper and they loved it and [Netscape CEO] Jim Barksdale is out giving your name to reporters right now.
How did that make you feel?
Well, I hung up the phone, stumbled around in a daze for a while and then sat down, re-engaged my brain and started thinking. Several things were immediately clear to me. Thing No. 1: This is a colossal opportunity. For a very long time, for 20 years, as long as I've been involved with Unix and with GNU software and all that stuff -- since back when the Internet was 500 techies in a sandbox and the rest of the world didn't know or care who we were or what we were doing -- we knew we had a better way to do things in our software designs and operating systems and the way that we shared work with each other. But we couldn't get anybody to listen.
Netscape doing this creates a window of opportunity for us to get our message into corporate boardrooms. The flip side of that is that if Netscape tanks, no one is going to listen to us for another decade.
In some respects, Netscape's move seems to represent the resurgence of the old "gift economy" ideals of the Internet -- the idea that the Internet could best move forward if everybody gave according to their ability, without necessarily expecting financial return. Has the gift economy influenced your own desire to play a role in the free software movement?
It's what I always wanted to do. The reason is really simple. Like most hackers, I don't really care about money very much. I do what I do primarily for artistic satisfaction, and what I want is to know that other people consider it good art. I mean, it's nice if I consider it good art, I generally know the difference and I can usually tell whether what I have done is beautiful or ugly. But you don't really know that you are evolving in the right direction unless reality and other people confirm that. So, like most other hackers, my most fundamental motivation is that I want other hackers to think that I'm doing good work. And I want them to believe I'm effective and fruitful and a good designer and so forth.
I have no problem with markets and exchange cultures but I don't really want to live there. And from 1977 on it was clear that there was a flourishing, growing gift culture out there on the Internet that was doing interesting things with software and I always wanted to be part of that. That's where I always wanted to live.
I notice that you no longer prefer to use the term "free software." Instead, you say "open source." Can you explain?
Sure. [After meeting with Netscape] I got together with a bunch of free software hackers and we had our own strategy conference. The issue on the table was how to exploit the Netscape breakthrough. We worked out some strategies and tactics. First conclusion: The name "free software" has to go. The problem is nobody knows what "free" means, and to the extent that they do think they know, it's tied in with a whole bunch of ideology and that crazy guy from Boston, Richard Stallman.
That's somewhat incendiary. [Richard Stallman, lionized in Stephen Levy's "Hackers: Heroes of the Computer Revolution" as the epitome of the true hacker, is the creator of one of the best-known examples of free software, GNU.]
I love Richard dearly, and we've been friends since the '70s and he's done valuable service to our community, but in the battle we are fighting now, ideology is just a handicap. We need to be making arguments based on economics and development processes and expected return. We do not need to behave like Communards pumping our fists on the barricades. This is a losing strategy. So in order to execute that, we needed a new label, and we brainstormed a bunch of them and the one that we finally came up with is "open source."
Why is it so important to have the source code available?
The central problem in software engineering has always been reliability. Our reliability, in general, sucks. In other branches of engineering, what do you do to get high reliability? The answer is massive, independent peer review. You wouldn't trust a scientific journal paper that hadn't been peer reviewed, you wouldn't trust a major civil engineering design that hadn't been independently peer reviewed, and you can't trust software that hasn't been peer reviewed, either. But that can't happen unless the source code is open. The four most critical pieces of infrastructure that make the Internet work -- Bind, Perl, sendmail and Apache -- every one of these is open source, every one of these is super reliable. The Internet would not function if they weren't super reliable, and they're super reliable precisely because throughout their entire history people have been constantly banging on the code, looking at the source, seeing what breaks and fixing it.
But what about intellectual property rights?
This is 180 degrees removed from any ideology about whether intellectual property rights are good or not. I don't care about that. I'm not interested in having that argument anymore. If your source is open, you get peer review, you get reliability. If your source is not open, you don't get peer review and you don't get reliability, end of story.
On the open source Web pages, you set forth the reasons why programmers won't starve in a world where software is free. But is that really the issue? Does Netscape or Microsoft care if programmers starve or not? What does Netscape have to gain from going open source?
I have identified several business models for open source. The one that Netscape is working is called market position or loss leader. This is where you have some open source software out there, which you use to create market position for closed source. Since I'm not a fanatic, this is fine with me.
So there is a model in which closed source is appropriate?
I'm not a fanatic. I'm not a Richard Stallman. I'm not against closed source in absolute principle, I just think it's an inferior, shoddy way to do things most of the time. But I've sat down and thought about under what circumstances it makes sense to be closed vs. open. And I've identified a spectrum with two extremes of software that you might want.
On the one hand you have research intensive software. A real good example of that is something everyone is talking about right now -- iris scanning for biometrics. It's a research intensive technology that depends on algorithms nobody else has, and it's only being prototyped in relatively small systems where reliability is not a huge concern. On the other end of the spectrum you have what I call implementational kinds of software. The paramount case of that is something like an office mailing list. All the techniques for running mailing lists are very well known. There is no knowledge in particular, there is no special algorithm -- the big problems are robustness, reliability and scalabilty, and that situation is where the open source model really, really shines, because what you want at that point is massive peer review, to get your reliability.
The interesting thing to notice is that individual software technology is always moving from one end to the other of the spectrum. A perfect example is real-time 3-D animation. Five years ago, when [the computer
game] "Doom" came out, that was a research intensive technology. Few people knew how to do it well and you could capture a lot of value by adding a new trade secret -- it made sense to be closed. Come 1998 and lots of people know how to do it. There are several alternative packages out there, some of them are free, it's being implemented in larger and larger systems where again your problems are scalability, reliability and robustness, rather than just getting the details of the animation right.
Well, the implication of this is at that some point during the last five years the payoff curves crossed over -- there came a point when the gain from peer review exceeded the gain from holding the software captive and having it be a trade secret. The interesting question is where is that crossover point? How do you identify that? My thinking now is that every software technology goes through the same evolution. I am beginning to think that this may be the fundamental software management question of the 21st century: Where is the crossover point? And I love to say these things to business people, because this is exactly the kind of optimization problem that gives them enormous erections. And if I can get them thinking in those terms, we've won.
You have some harsh words to say about the way business people have traditionally looked at the software marketplace.
The thing I realized when I sat down and thought about business models is that nobody thinks about the economics of software. Nobody thinks real hard.
Not even those Microsoft guys up in Redmond?
Not even them. Anybody who has studied software engineering knows that programmers do not actually spend most of their time originating software. They spend most of their time on service updates and maintenance. Nobody thinks about the implications of this: that the software industry is actually a service industry operating under the delusion that it is a manufacturing industry. Software producers are operating under a manufacturing and cost model, under which the way you make money is building a product and getting it out the door. Because they have this model of themselves as a manufacturing industry, all the bright people go to production and the dumb people go to the support desk. That's why when you call a vendor support line you have to fight your way through three layers of idiots to get down to anyone who knows anything.
As long as the software industry continues to misperceive itself as a manufacturing industry, instead of a service industry, reliability is going to be awful. But that shift is not going to happen until source is open. That's the difference between closed and open source.
In the closed source world, your short-term profit incentive is to try and keep everything you do a trade secret and extract the absolute maximum rent from that trade secret in terms of initial cost of the software. And then your economic incentive is to put as little money as you can get away with into supporting the fiction that you support your software. OK? Now as a consumer do you want to live in that world, or do you want to live in a world where source is primarily open and the people competing for your dollars are service bureaus? This is why I think that ultimately the closed software model and the whole Microsoft paradigm is doomed, because eventually software consumers are going to wake up and realize that they are being scammed -- that the cost and pricing model of the software industry fundamentally does not fit the economics of the situation or the needs of consumers.
At the party Netscape threw for the release of their source code, Marc Andreessen was talking about getting companies like Sun and Oracle to join the free software crusade. Wouldn't this be just another case of Silicon Valley lining up its wagons against Microsoft?
Oh sure. One of the things that I tell corporate types is, "Hi there, Mr. CEO -- tell me, do you have any strategic problem right now that is bigger than whether Microsoft is going to either crush you or own your soul in a few years? No? You don't? OK, well, listen carefully then. You cannot survive against Bill Gates playing Bill Gates' game. To thrive, or even survive, you're going to have to change the rules. I'm here to show you how."