15. Love

Free For All. Go to the Table of Contents. Vist the Gifcom.

It's not hard to find bad stories about people who write good code. One person at a Linux conference told me, "The strange thing about Linus Torvalds is that he hasn't really offended everyone yet. All of the other leaders have managed to piss off someone at one time or another. It's hard to find someone who isn't hated by someone else." While he meant it as a compliment for Torvalds, he sounded as if he wouldn't be surprised if Torvalds did a snotty, selfish, petulant thing. It would just be par for the course.

There are thousands of examples of why people in the open source community hate each other and there are millions of examples of why they annoy each other. The group is filled with many strong-minded, independent individuals who aren't afraid to express their opinions. Flame wars spring up again and again as people try to decide technical questions like whether it makes more sense to use long integers or floating point numbers to hold a person's wealth in dollars.

Of course, hate is really too strong a word. If you manage to pin down some of the people and ask them, point blank, whether they really hate someone, they'll say, "No." They really just don't like a few of that person's technical decisions. These points of friction fester and turn into what might more commonly be called hate.

These technical debates are terrible tar pits for the community, and they eat up the energy. The debates turn frustrating because they have the strange distinction of being both technically important and utterly trivial. Everyone would like to just sail through life and not worry about tiny details like the type of integer used in a calculation. There are millions of these decisions that take up time that might be better spent imagining grand dreams of a seamless information noosphere that provides the wisdom of the ages in a simple graphical interface. But every programmer learns that it's the details that count. NASA lost a spacecraft when some programmer used English units instead of the metric system. So the work needs to get done.

Occasionally, the fights get interesting. Eric Raymond and Bruce Perens are both great contributors to the open source movement. In fact, both worked together to try to define the meaning of the term. Perens worked with the community that creates the Debian distribution of Linux to come up with a definition of what was acceptable for the community. This definition morphed into a more official version used by the Open Source Initiative. When they got a definition they liked, they published it and tried to trademark the term "open source" in order to make sure it was applied with some consistency. It should be no surprise that all of that hard work brought them farther apart.

In early April 1999, soon after Apple Computer joined the free source world by releasing some of the source code to their operating system, Raymond and Perens found themselves at each other's throats. Raymond had worked closely with Apple on developing their license and blessed it soon after it emerged. Apple was so pleased that it put Raymond's endorsement on their web page. The decision was a big coup for the open source movement and strong proof that corporations were embracing the movement. Big executives from big companies like Apple were knocking on the open source movement's door. Raymond thought the victory would bring more attention to the cause.

Others thought Raymond had given away the farm. Perens and many others looked at the license and spotted a small clause that seemed dangerous. The license for their open source code could be withdrawn at a moment's notice. Someone pointed out that it would be a real bummer to do lots of work on Apple's system and then find out that some neb-nosed lawyer at Apple could just pull the license. No one wanted to take that chance. Flame wars erupted and Perens started publicly disagreeing with Raymond. To Perens, the Apple license just wasn't open enough to be called "open source."

Raymond didn't take this too well. He had worked hard to build a strong coalition. He had worked hard to convince corporations that open source was much more than a way for teenagers to experiment with communism while they were living on their parents' dime. He wanted the open source world to be a smoothly running, suave machine that gracefully welcomed Apple into its fold. Now his buddy Bruce Perens was effectively aping Lloyd Bentsen's famous putdown of Dan Quayle: "I've known open source; I've worked with open source; and Eric, this license isn't open source." His whole announcement was supposed to unroll with the clockwork precision of great corporate PR, and now someone had lobbed a grenade.
Raymond fired back a terse e-mail that said, "If you ever again behave like that kind of disruptive asshole in public, insult me, and jeopardize the interests of our entire tribe, I'll take it just as personally and I will find a way to make you regret it. Watch your step."

This note rattled Perens, so he started sending copies around the Net. Then he got serious and called the police. Officially, he was publicizing the disagreement to preserve his health because Raymond is quite vocal about his support for the second amendment. Therefore the phrase "Watch your step" should be taken as a veiled threat of violence.

Perens defended his decision to call the police and told me afterward, "When I don't like something, I write about it. Well, gee, maybe Eric was threatening to just write about me. In the signature at the bottom of the page was a Thomas Jefferson quote, which claimed the pistol was the best form of exercise. The next day, Perens decided that he was overreacting a bit and posted a new note: "Eric says he only meant to threaten me with 'defamation of character,' not with any kind of violence. Thus, I think I'll just let this issue drop now."

When I asked him about the matter several months later after tempers had cooled, Raymond said that the disagreement began several months before the Apple event when Perens and Raymond clashed over whether the book publisher O'Reilly should be allowed to use the term "open source" in the name of their conference. "He was *flaming*, and not the initiative itself but a critical supporter," says Raymond.
"Sometime back I had to accept Bruce's resignation from the OSI because he was flaming public allies on a mailing list. If you're going to go public, you can't run your mouth like a rabid attack dog. When the APSL [Apple Public Source License] came along, he convinced people that everybody should go mug Eric and the OSI," Raymond said. It caused more grief.

Perens, for his part, said, "I was disappointed in Eric because certainly open source is about freedom of speech. He should be able to tolerate a dissenting voice. The entire argument was about my not deferring to his leadership. He felt that my dissent was damaging. The actual result was that Apple took my criticism seriously and took all of the suggestions."

Raymond is still critical. He says, "Apple was more diplomatic to Bruce in public than they should have been. The truth is that his meddling got the people inside Apple who were pushing open source into considerable political trouble, and they considered him a disruptive asshole. Their bosses wanted to know, quite reasonably, why Apple should bother trying to do an open source license if all it meant was that they'd be attacked by every flake case with an agenda. By undermining OSI's status as trusted representatives of the whole community, Bruce nearly scuttled the whole process."

For now, the two work apart. Perens says he'll make up with Raymond, but doesn't see it happening too soon. Raymond is happy to focus on the future of open source and write more analysis of the movement. They've been separated, and the tempers are cool.

Giving away software seems like an entirely altruistic act. Writing code is hard work, and simply casting it onto the net with no restrictions is a pretty nice gift outright, especially if the code took months or years to write. This image of selflessness is so strong that many people assume that the free software world is inhabited by saints who are constantly doing nice things for each other. It seems like a big love-in.
But love is more than a many splendored thing. It's a strange commodity that binds us together emotionally in ways that run deeper than placid pools reflecting starry eyes. After the flush of infatuation, strong love lasts if and only if it answers everyone's needs. The hippie culture of free love lasted only a few years, but the institution of marriage continues to live on despite the battle scars and wounds that are almost mortal. Half may fail, but half succeed.

The free software community also flourishes by creating a strong, transcendent version of love and binding it with a legal document that sets out the rules of the compact. Stallman wrote his first copyleft virus more than 15 years before this book began, and the movement is just beginning to gain real strength. The free software world isn't just a groovy love nest, it's a good example of how strong fences, freedom, and mutual respect can build strong relationships.

The important thing to realize is that free software people aren't any closer to being saints than the folks in the proprietary software companies. They're just as given to emotion, greed, and the lust for power. It's just that the free software rules tend to restrain their worst instincts and prevent them from acting upon them.

The rules are often quite necessary. E-mail and the news services give people the ability to vent their anger quickly. Many of the programmers are very proficient writers, so they can tear each other apart with verbal scalpels. The free source world is cut up into hundreds if not thousands of political camps and many dislike each other immensely. One group begged with me not to ask them questions about another group because just hearing someone's name brought up terrible memories of pain and discord.

Despite these quick-raging arguments, despite the powerful disagreements, despite the personal animosities, the principles of the public licenses keep everything running smoothly. The people are just as human as the rats running around in the maze of the proprietary software business, but the license keeps them in line.
The various public licenses counter human behavior in two key ways. First, they encourage debate by making everyone a principal in the project. Everyone has a right to read, change, and of course make comments about the software. Making everything available opens the doors for discussion, and discussion usually leads to arguments.
But when the arguments come to blows, as they often do, the second effect of free source licenses kicks in and moderates the fallout by treating everyone equally. If Bob and John don't like each other, then there's still nothing they can do to stop each other from working on the project. The code is freely available to all and shutting off the distribution to your enemy just isn't allowed. You can't shut out anyone, even someone you hate.

Anyone familiar with corporate politics should immediately see the difference. Keeping rivals in the dark is just standard practice in a corporation. Information is a powerful commodity, and folks competing for the same budget will use it to the best of their ability. Bosses often move to keep their workers locked away from other groups to keep some control over the flow of information.

Retribution is also common in the corporate world. Many managers quickly develop enemies in the ranks, and the groups constantly spend time sabotaging projects. Requests will be answered quickly or slowly depending on who makes them. Work will be done or put off depending on which division is asking for it to be done. Managers will often complain that their job is keeping their underlings from killing each other and then turn around and start battling the other managers at their level.

The people in the free source world aren't any nicer than the people in the corporate cubicle farms, but their powers of secrecy and retribution are severely limited. The GNU General Public License requires that anyone who makes changes to a program and then releases the program must also release the source code to the world. No shutting off your enemies allowed.

This effect could be called a number of different things. It isn't much different from the mutual disarmament treaties signed by nations. Athletic teams strive for this sort of pure focus when they hire referees to make the tough calls and keep everyone playing by the same rules. The government sometimes tries to enforce some discipline in the free market through regulation.

Now, compare this disarmament with a story about the poor folks who stayed behind at the Hotmail website after Microsoft bought them. It's really just one of a million stories about corporate politics. The workers at Hotmail went from being supreme lords of their Hotmail domain to soldiers in the Microsoft army. Their decisions needed to further Microsoft's relentless growth in wealth, not the good of the Hotmail site. This probably didn't really bother the Hotmail people as much as the fact that the people at Microsoft couldn't decide what they wanted from Hotmail.

Robert X. Cringely described the situation in an article in PBS Online, and he quoted one Hotmail worker as saying, "They send a new top-level group down to see us every week, yet it really means nothing. The plan is constantly changing. Today Hotmail is primarily a way of shoveling new users into the MSN portal. We had for a short time a feature called Centerpoint for communicating directly with our users, but that was killed as a possible competitor with the MSN portal. No new features could be added because the Outlook Express team saw us as competition and sabotaged everything."

Cringely explained the corporate friction and gridlock this way:

"What Hotmail learned is that at Microsoft almost anyone can say 'no,' but hardly anyone can say 'yes.' The way it specifically works at Microsoft is that everyone says 'no' to anyone below them on the organizational structure or on the same level, and 'yes' to anyone above. Since the vertical lines of authority are narrow this means people tend to agree only with their bosses and their boss's boss and try to kick and gouge everyone else."

The free software world, of course, removes these barriers. If the Hotmail folks had joined the Linux team instead of Microsoft, they would be free to do whatever they wanted with their website even if it annoyed Linus Torvalds, Richard Stallman, and the pope. They wouldn't be rich, but there's always a price.
Using the word "love" is a bit dangerous because the word manages to include the head-over-heels infatuation of teenagers and the affection people feel for a new car or a restaurant's food. The love that's embodied by the GPL, on the other hand, isn't anywhere near as much fun and it isn't particularly noteworthy. It just encompasses the mutual responsibility and respect that mature folks occasionally feel for each other. It's St. Paul's version of unconditional, everlasting love, not the pangs of desire that kept St. Augustine up late in his youth.

Anyone who has spent time in the trenches in a corporate cubicle farm knows how wasteful the battles between groups and divisions can be. While the competition can sometimes produce healthy rivalries, it often just promotes discord. Any veteran of these wars should see the immediate value of disarmament treaties like the GPL. They permit healthy rivalries to continue while preventing secrecy and selfishness from erupting. The free source movement may not have money to move mountains, but it does have this love.

This love also has a more traditional effect on the hackers who create the free source code. They do it because they love what they're doing. Many of the people in the free source movement are motivated by writing great software, and they judge their success by the recognition they get from equally talented peers. A "nice job" from the right person--like Richard Stallman, Alan Cox, or Linus Torvalds--can be worth more than $100,000 for some folks. It's a strange way to keep score, but for most of the programmers in the free source world it's more of a challenge than money. Any schmoe in Silicon Valley can make a couple of million dollars, but only a few select folks can rewrite the network interface code of the Linux kernel to improve the throughput of the Apache server by 20 percent.

Keeping score by counting the number of people who dig your work is a strange system, but one that offers the same incentives as business. A good store doesn't insult people who could be repeat customers. A good free software project doesn't insult people who have a choice of which package to use. A good businessman makes it easy for people to get to the store, park, and make a purchase. A good free software project makes it simple for people to download the code, compile it, modify it, understand it, and use it.
There's even some research to support the notion that rewards can diminish the creativity of people. Stallman likes to circulate a 1987 article from the Boston Globe that describes a number of different scientific experiments that show how people who get paid are less creative than those who produce things from their love of the art. The studies evaluated the success of poets, artists, and teachers who did their job for the fun of it and compared it with those who were rewarded for their efforts. In many cases, these were short-bounded exercises that could be evaluated fairly easily.

One scientist, Theresa Amabile, told the Globe that her work "definitely refutes the notion that creativity can be operantly conditioned." That is, you can't turn it on by just pouring some money on it. Many free software folks point out that this is why the free source movement is just as likely to succeed as a massively funded corporate juggernaut.

Many people don't need scientists to tell them that you can't throw money at many problems and expect them to go away. This is a hard lesson that managers and businesses learn quickly. But this doesn't mean that the lack of money means that the free source movement will beat the thousands of shackled programmers in their corporate rabbit hutches. These studies just measured "creativity" and found that the unpaid folks were more "creative." That's not necessarily a compliment. In fact, the word is often used as a euphemism for "strange," "weird," or just plain "bad." It's more often a measure of just how different something is instead of how good it is. Would you rather eat at the house of a creative chef or a good chef?
This love of creativity can be a problem for the free source world. Most people don't want to use a creative spreadsheet to do their accounting--it could get them in trouble with the SEC or the IRS. They want a solid team player for many of their jobs, not a way cool creative one.

The free source world is often seen as too artistic and temperamental to undertake the long, arduous task of creating good, solid software that solves the jobs of banks, pharmacies, airlines, and everyone else. Many of these tasks are both mind-numbingly boring and difficult to do. While they just involve adding a few numbers and matching up some data, the tasks have to be done right or airplanes will crash. The free source world can't rely on love or creativity to motivate people to take on these tasks. The only solution might be money.

Of course, it's important to recognize that even seemingly boring jobs can have very creative solutions. Stallman's GNU Emacs is a fascinating and over-the-top, creative solution to the simple job of manipulating text. Word processors and text editors might not be that exciting anymore, but finding creative ways to accomplish the task is still possible.