Most of this book frames the entire free source movement as something new and novel. The notion of giving away free source code is something that seems strange and counterintuitive. But despite all of the gloss and excitement about serious folks doing serious work and then just giving it away like great philanthropists, it's pretty easy to argue that this has all been done before. The software world is just rediscovering secrets that the rest of the world learned long ago.
Giving things away isn't a radical idea. People have been generous since, well, the snake gave Eve that apple. Businesses love to give things away in the hope of snagging customers. Paper towel manufacturers give away towel hardware that only accepts paper in a proprietary size. Food companies give coolers and freezers to stores if the stores agree not to stock rival brands in them.
In fact, most industries do more than just give away free gifts to lure customers. Most share ideas, strategies, and plans between competitors because cooperation lets them all blossom. Stereo companies make components that interoperate because they adhere to the same standard. Lawyers, engineers, and doctors are just some of the people who constantly trade ideas and solutions with each other despite the fact that they work as competitors. A broad, central, unowned pool of knowledge benefits everyone in much the same way that it helps the free software community.
The real question is not “Who do these pseudo-commie pinkos think they are?” It's “What took the software industry so long to figure this out?” How did the programmers who are supposedly a bunch of whip-smart, hard-core libertarians let a bunch of lawyers lead them down a path that put them in a cubicle farm and prevented them from talking to each other?
Recipes are one of the closest things to software in the material world, and many restaurants now share them widely. While chefs once treated them like industrial secrets, they now frequently give copies to magazines and newspapers as a form of publicity. The free advertisement is worth more than the possibility that someone will start cloning the recipe. The restaurants recognized that they were selling more than unique food. Ambiance, service, and quality control are often more in demand than a particular recipe.
When the free software industry succeeds by sharing the source code now, it's capitalizing on the fact that most people don't want to use the source code to set up a take-no-prisoners rivalry. Most people just want to get their work done. The cost of sharing source code is so low that it doesn't take much gain to make it worth the trouble. One bug fix or tiny feature could pay for it.
The software industry has been flirting with how to make money off of the low cost of distributing its product. The concept of shareware began long before the ideological free software movement as companies and individual developers began sharing the software as a cheap form of advertisement. Developers without the capital to start a major marketing campaign have passed around free versions of their software. People could try it and if it met their needs, they could pay for it. Those who didn't like it were honor-bound to erase their version.
Shareware continues to be popular to this day. A few products have made a large amount of money with this approach, but most have made very little. Some people, including many of the major companies, distribute their own crippled version of their product so people can try it. Crucial functions like the ability to print or save a document to the disk are usually left out as a strong encouragement to buy the real version.
Of course, free source products aren't the same thing as shareware because most shareware products don't come with the source code. Programmers don't have the ability or the right to modify them to do what they want. This has always been one of the biggest selling points to the high-end marketplace that knows how to program.
In fact, free source software is not dirt cheap either. Anyone who's been around the open software community for a time realizes that you end up having to pay something for the lunch. Keeping some costs hidden from the consumer isn't new, and it still hasn't gone away in the free software world. The costs may not be much and they may be a much better deal than the proprietary marketplace, but the software still costs something.
The simplest cost is time. Free software is often not as polished as many commercial products. If you want to use many of the tools, you must study manuals and learn to think like a programmer. Some manuals are quite nice, but many are cursory. This may change as the free software movement aims to dominate the desktop, but the manuals and help aren't as polished as the solutions coming out of Microsoft. Of course, one free software devotee told me by way of apology, “Have you actually tried using Microsoft's manuals or help? They suck, too.”
Even when it is polished, free source software requires time to use. The more options that are available, the more time it takes to configure the software. Free source gives tons of options.
The lack of polish isn't usually a problem for programmers, and it's often not an extra cost either. Programmers often need to learn a system before they find a way to revise and extend it to do what their boss wants it to do. Learning the guts of a free software package isn't much of an extra cost because they would be just trying to learn the guts of a Microsoft product instead. Plus, the source code makes the process easier.
Still, most users including the best programmers end up paying a company like Red Hat, Caldera, or a group like OpenBSD to do some of the basic research in building a Linux system. All of the distribution companies charge for a copy of their software and throw in some support. While the software is technically free, you pay for help to get it to work.
If the free source code is protected by the GNU General Public License, then you end up paying again when you're forced to include your changes with the software you ship. Bundling things up, setting up a server, writing documentation, and answering users' questions take time. Sure, it may be fair, good, and nice to give your additions back to the community, but it can be more of a problem for some companies. Let's say you have to modify a database to handle some proprietary process, like a weird way to make a chemical or manufacture a strange widget. Contributing your source code back into the public domain may reveal something to a competitor. Most companies won't have this problem, but being forced to redistribute code always has costs.
Of course, the cost of this is debatable. Tivo, for instance, is a company that makes a set-top box for recording television content on an internal hard disk. The average user just sees a fancy, easy-to-use front end, but underneath, the entire system runs on the Linux operating system. Tivo released a copy of the stripped-down version of Linux it ships on its machines on its website, fulfilling its obligation to the GNU GPL. The only problem I've discovered is that the web page (www.tivo.com/linux/) is not particularly easy to find from the home page. If I hadn't known it was there, I wouldn't have found it.
Of course, companies that adopt free source software also end up paying in one way or another because they need to hire programmers to keep the software running. This isn't necessarily an extra cost because they would have hired Microsoft experts anyway. Some argue that the free source software is easier to maintain and thus cheaper to use, but these are difficult arguments to settle.
In each of these ways, the free software community is giving away something to spark interest and then finding a way to make up the cost later. Some in the free software community sell support and others get jobs. Others give back their extensions and bug fixes. A running business is a working ecology where enough gets reinvested to pay for the next generation of development. The free source world isn't a virtual single corporation like the phone company or the cable business, but it can be thought of in that way. Therefore, the free software isn't much different from the free toasters at the banks, the free lollipops at the barber's, or the free drugs from the neighborhood pusher.
If you want to think bigger, it may be better to see the free software world as closer to the great socialized resources like the ocean, the freeway system, or the general utility infrastructure. These treat everyone equally and provide a common basis for travel and commerce.
Of course, that's the most cynical way that free software is no different from many of the other industries. There are other ways that the free source vision is just a return to the way that things used to be before the software industry mucked them up. The problem is that a mixture of licensing, copyright, and patent laws have given the software industry more ways to control their product than virtually any other industry. The free source movement is more a reaction against these controls than a brave new experiment.
Comparing the software industry to the car industry is always a popular game. Normally, the car industry looks a bit poky and slow off the mark because they haven't been turning out new products that are twice as fast and twice as efficient as last year's products. But many parts of the car industry are bright, shining examples of freedom compared to their software equivalents.
Consider the Saturday afternoon mechanic who likes to change the oil, put in a new carburetor, swap the spark plugs, and keep the car in running order. The car guy can do all of these things without asking the manufacturer for permission. There's nothing illegal about taking apart an engine or even putting an entirely new, souped-up engine in your car. The environmental protection laws may prohibit adding engines that spew pollutants, but the manufacturer is out of the loop. After all, it's your car. You paid for it.
Software is something completely different. You don't own most of the software you paid for on your computer. You just own a “license” to use it. The difference is that the license can be revoked at any time if you don't follow the rules, and some of the rules can be uncomfortable or onerous. There's nothing wrong with this mechanism. In the right hands, it can be very pleasant. The Berkeley Software Distribution license, for instance, has no real requirements except that you credit the university for its contributions, and the university just revoked that requirement. The GNU Public License is much stricter, but only if you want to change, modify, and distribute the code. In that case, you're only prevented from keeping these changes a secret. That's not a big problem for most of us.
Other licenses are even more stricter. One Microsoft license prevents the programmer from trying to figure out how the software works inside by saying “LICENSEE may not reverse engineer, decompile or disassemble Microsoft Agent.” These clauses are popular and found in many software licenses. The company lawyers argue that they ostensibly prevent people from stealing the secrets that are bound up in the software.
These licenses have been interpreted in different ways. The video game maker Accolade, for instance, won its case against the manufacturer Sega by arguing that reverse engineering was the only way to create a clone. If companies couldn't clone, there would be no free market. On the other hand, Connectix lost some of the early court battles when Sony sued them for creating a software clone of the PlayStation. The judge decided that Connectix had violated Sony's copyright when they made a copy to study for reverse engineering. In February 2000, an appeals court struck down this ruling, freeing Connectix to sell the emulator again. By the time you read this, the legal landscape will probably have changed again.
In practice, license clauses like this only hurt the honest programmers who are trying to deal with a nasty bug. Most people don't want to steal secrets, they just want to be able to make their software work correctly. Decompiling or disassembling the code is a good way to figure out exactly what is going on inside the software. It can save hours and plenty of grief.
The license even borders on the absurd because the phrase “reverse engineer” is so ambiguous. It may be possible to argue that just learning to use a piece of software is reverse engineering it. Learning how a feature works means learning to predict what it will do. In many cases, the bugs and the glitches in software mean that the features are often a bit unpredictable and only a bit of black-box reverse engineering can teach us how they work. That's not much different from learning the steps that happen inside. Fiddling with shrink-wrapped software is like fiddling with a black box.
Imagine that General Motors or Ford sold their cars with such a donot-reverse-engineer license. They would either weld the hood shut or add on a special lock and only give the keys to registered dealers who would sign lots of forms that guaranteed that they would keep the workings of the cars secret. No one could change the spark plugs, chop the hood, add a nitro tank, or do anything with the car except drive it around in a completely boring way. Some lawyers at the car companies might love to start shipping cars with such a license. Think how much more they could charge for service!The smart executives might realize that they were hurting their biggest fans, the people who liked to tune, tweak, fiddle, and futz with their machines. They would be stripping away one of the great pleasures of their devices and slowly but surely turning the cars into commodity items that put the owners in legal strait-jackets.
Some software companies take the licensing requirements to even greater extremes. One of the most famous examples is the Microsoft Agent software, which allows a programmer to create little animated characters that might give instructions. Some versions of Microsoft Office, for instance, come with a talking paper clip that points out new and improved features. Microsoft released this technology to the general programmer community hoping that people would add the tools to their software and create their own talking characters.
The software is free and Microsoft posts a number of nice tools for using the code on their website. They couldn't leave well enough alone, though, because anyone who wants to use the tool with their code needs to print out and file a separate license with the Microsoft legal staff. Many of the clauses are pretty simple and do useful things like force anyone using the software to try to keep their versions up to date. But the most insidious one ensures that no one will
“...use the Character Animation Data and Image Files to disparage Microsoft, its products or services or for promotional goods or for products which, in Microsoft's sole judgment, may diminish or otherwise damage Microsoft's goodwill in the SOFTWARE PRODUCT including but not limited to uses which could be deemed under applicable law to be obscene or pornographic, uses which are excessively violent, unlawful, or which purpose is to encourage unlawful activities.”
In other words, if you want to make the cute animated cartoon say something unkind about Microsoft, Microsoft can simply shut you down. And don't even think about creating a little animated marijuana cigarette for your Grateful Dead softwarepalooza. It's practically illegal just to think bad thoughts in the vicinity of a computer running Microsoft Agent.
Most software licenses are not as bad or as restrictive as the Microsoft Agent license, but many cause their own share of grief. Companies continue to try to come up with more restrictive solutions for combating piracy, and in the end they bother the legitimate users. People are often buying new computers or upgrading a hard disk, and both of these acts require making a copy of old software. Companies that make it too difficult to do these things end up rubbing salt in the wounds of legitimate users who lose a hard disk.
In this context, the free source world isn't a new flowering of mutual respect and sharing, it's just a return to the good old days when you could take apart what was yours. If you bought the software, you can fiddle with it. This isn't the Age of Aquarius, it is the second coming of Mayberry R.F.D., Home Improvement, and the Dukes of Hazzard.
This comparison doesn't have to be limited to the car guys in the garage. Many other professions freely share ideas and operate without the very restrictive covenants of the software industry. The legal business is a great example of a world where people are free to beg, borrow, and steal ideas from others. If someone finds a neat loophole, they can't patent it or prevent others from exploiting it. Once other lawyers hear about it, they'll be filing their own lawsuits for their own clients.
Consider the world of tobacco liability. Once one state advanced the legal opinion that the tobacco companies were liable for the cost of treating any disease that might emerge from smoking cigarettes, the other states and plenty of lawyers were able to jump on board. Once they settled, the lawyers turned their sights on the gun companies. By the time you read this, they'll probably have moved on to the fat delivery vehicle manufacturers in the fast-food industry and the stress induction groups, aka your employer. The exercise reduction industry, made up of a megalomaniacal consortium of moviemakers, television producers, and, yes, book writers, must be on someone's list.
Free source folks are just as free to share ideas. Many of the rival Linux and BSD distributions often borrow code from each other. While they compete for the hearts and minds of buyers, they're forced by the free source rules to share the code. If someone writes one device driver for one platform, it is quickly modified for another.
The proprietary software world moves slowly in comparison. They keep their ideas secret and people spend thousands of lawyer years on projects just keeping the various licenses straight. Code is shared, but only after lawyers vet the contracts.
The legal industry is also a good example of how the free sharing of ideas, techniques, and strategies does not hurt the income of the practitioners. In fact, lawyers have managed to carve themselves a very nice slice of the nation's income. Most are not as rich as the lucky few who beat the tobacco companies, but they do all right.
It would be unfair to the software industry to portray the rest of society as much more sharing and giving. Most of the other industries are frantically using the legal system and any other means necessary to stay ahead of their competitors. It's just part of doing business.
One of the best examples is content production, which is led by mega-companies like Disney. In recent years, Hollywood has worked hard to get copyright laws changed so that the copyright lasts 95 years instead of 75 years. In 1998, Congress passed the Sonny Bono Copyright Term Extension Act of 1998 (CTEA) that kept works published after 1923 from passing into the public domain until 2019. The industry feels that this gives them the protection to keep creating new items. Creations like Mickey Mouse and Snow White will continue to live in the very safe place controlled by Disney and not fall into the evil hands of the public domain.
Several Harvard professors, Larry Lessig, Charles Nesson, and Jonathan Zittrain of the Berkman Center for Internet & Society at Harvard Law School, and Geoffrey Stewart of the Boston law firm Hale and Dorr filed a lawsuit contesting the act by pointing out that the Constitution provides for a “limited” term. Artists, authors, and creators were given copyright protection, but it was only for a limited amount of time. Afterward, the society could borrow and use the work freely.
There's little doubt that the major Hollywood producers recognize the value of a well-stocked collection of public domain literature. Movies based on works by William Shakespeare, Henry James, and Jane Austen continue to roll out of the studios to the welcoming patrons who buy tickets despite knowing how the story ends. Disney itself built its movie franchise on shared fables like Sleeping Beauty or Snow White. Very few of Disney's animated films (The Lion King was one of the first ones) were created in-house from a clean piece of paper. Most were market-tested for acceptance by their years in the public domain. Of course, Disney only pays attention to this fact when they're borrowing an idea to create their own version, not when they're defending the copyright of their own creations. They want to take, not give.
The movie industry, like the proprietary software business, seems to forget just how valuable a shared repository of ideas and solutions can be. In this context, the free source movement isn't an explosion of creative brilliance or a renaissance of cooperation, it's just a return to the good old days when Congress wouldn't slavishly answer the whims of the content industry. If a theater owner wanted to put on a Shakespeare play, the text was in the public domain. If someone wanted to rewrite Jane Austen and create the movie Clueless, they were free to do so. In the good old days, copyright faded after a limited amount of time and the public got something back for granting a monopoly to the artist. In the good old days, the artist got something back, too, when the monopoly of other artists faded away.
It's not like this brave new world of total copyright protection has generated superior content. The so-called original movies aren't that different. All of the action movies begin with some death or explosion in the first two minutes. They all run through a few car chases that lead to the dramatic final confrontation. The television world is filled with 30-minute sitcoms about a bunch of young kids trying to make it on their own. It's sort of surprising that Hollywood continues to suggest that the copyright laws actually promote creativity.
It's not hard to believe that we might be better off if some of the characters were protected by an open source license. Superman and Batman have both gone through several decades of character morphing as the artists and writers assigned to the strips change. Of course, that change occurred under the strict control of the corporation with the copyright.
The thousands of fan novels and short stories are better examples. Many fans of movies like Star Trek or Star Wars often write their own stories using the protected characters without permission. Most of the time the studios and megalithic corporations holding the copyright look the other way. The work doesn't make much money and is usually born out of love for the characters. The lawyers who have the job of defending the copyrights are often cool enough to let it slide.
Each of these novels provides some insight into the characters and also the novelist. While not every novelist is as talented as the original authors, it can still be fun to watch the hands of another mold the characters and shape his or her destiny. The world of the theater has always accepted the notion that directors and actors will fiddle with plays and leave their own marks on them. Perhaps it wouldn't be so bad if writers could have the same latitude after the original author enjoyed a short period of exclusivity.
There are many ways in which the free software world is strange and new to society, but sharing ideas without limitations is not one of them. Almost all businesses let people tinker and change the products they buy. The software industry likes to portray itself as a bunch of libertarians who worship the free market and all of its competition. In reality, the leading firms are riding a wave of power-grabbing that has lasted several decades. The firms and their lawyers have consistently interpreted their rules to allow them to shackle their customers with stronger and stronger bonds designed to keep them loyal and everspending.
This is all part of a long progression that affects all industries. Linus Torvalds explained his view of the evolution when he told the San Jose Mercury-News, “Regardless of open source, programs will become really cheap. Any industry goes through three phases. First, there's the development of features people need. Then there's the frills-andupgrade phase, when people buy it because it looks cool. Then there's the everybody-takes-it-for-granted phase. This is when it becomes a commodity. Well, we're still in the look-cool-and-upgrade stage. In 10 or 15 years you'll be happy with software that's 5 years old. Open source is one sign that we're moving in that direction.”
In this light, the free software revolution isn't really a revolution at all. It's just the marketplace responding to the overly greedy approaches of some software companies. It's just a return to the good old days when buying something meant that you owned it, not that you just signed on as a sort of enlightened slave of the system.