Doc Searls wrote a magnificant column for an upcoming issue of LJ. He uses the movie "Matrix" to raise issues similar to the one I'm about to raise. His upcoming column should be considered a must-read for anyone who cares about free software and free speech.
The world depicted in a different movie, "Brazil", is similar to that of Matrix in that it is governed by controlling self-interest. Freedom, as in free speech, is a partial cure for controlling self-interest, which is what makes the concept of free software superior to any other type of software. But there's more to free software than concept. There's implementation. And that's where free software sometimes gets into trouble with self-interest.
I like the movie Brazil, written and directed by former Monty Python member Terry Gilliam. I don't love the movie, because it's often pessimistic and depressing. But Terry Gilliam truly nailed some philosophical and social ills by making a caricature of them in the movie. It's the way he exaggerated the problems that makes his observations both poignant and funny, if sometimes in a dark way.
I mentioned Brazil in a presentation I gave at LinuxWorld Expo, and I was surprised by the number of people who haven't seen the movie. Perhaps I shouldn't be. It wasn't a box office hit, but it seems like the kind of cult classic that would appeal to many people I know in the Linux community. Regardless, I won't assume you've seen the movie, so I'll need to fill you in on some details in order to get to my point.
The world in the movie Brazil is one of extremes. Bureaucracy is so out of hand that it is almost impossible to accomplish anything at all. The paperwork necessary to get your air conditioner fixed is ridiculously specific and changes arbitrarily, making it seem like the paperwork serves no purpose other than to prevent anyone from having their problems solved. At one point in the movie, a renegade "superhero" repairman (played by Robert DeNiro) bypasses the bureaucracy and fixes people's air conditioning without any paperwork at all. Thanks to the pessimistic nature of the film, even he eventually gets consumed by paperwork (literally - he is attacked and defeated by papers).
Runaway bureaucracy is the extreme that most people notice when they see the movie. Many people with whom I have discussed the movie don't quite grasp another important caricature of the possible future, even though the symbolism is ubiquitous throughout the film. The air conditioning in apartments consists of hoses and wires strewn about without any thought to organization or easy of maintenance. Each phone has an old phono plug which you must insert into the right jack in order to make a connection. Computer terminals are little more than antiquated typewriters with tiny CRTs. The CRTs are too small to be useful, so each one has a big magnifying glass in front of it (which makes the image readable, if somewhat distorted).
You probably get the imagery, but do you get the point? Technology exists almost entirely for the benefit of those who control it, whether those in control are government, corporations, or both in cooperation. The producers of these products spare every expense and only deliver something that is marginally functional. No consideration whatsoever is given to making the products appeal to the end-user.
The concepts of competition and choice do not exist in this world. The characters in the movie are frustrated by the system, by the inadequate devices, and by the bureaucracy, but with the exception of some "terrorists", they seem to take it for granted that this is how it works, and that's just the way things are.
Brazil meets Microsoft
Why would anyone tolerate a computer terminal that is a typewriter connected to a tiny CRT and a magnifying glass? They would only tolerate it if they believed they had no choice.
One might just as well ask why anyone tolerated the constant crashes and reboots of Windows 3.1 and Windows 9x? Why does anyone tolerate the security vulnerabilities in all versions of Windows? Microsoft gets away with some of the worst software design in history because people believe they don't have a choice. Whether or not anyone truly has a choice is not the issue. Outside of our (fortunately, growing) world of Linux users, most people take it for granted that they will get Windows on the PC they purchase. They take it for granted that they will need anti-virus software to protect them. They don't usually know if the software or the operating system they use is spying on what they do. Those who do care don't seem to care enough to do anything about it. They are as resigned as the people who bang on the typewriters and stare into the magnifying glass.
Fortunately, we don't live in a world like the one in the movie Brazil where there are NO choices. We only live in a world where choices are limited, and people often have the illusion of choice when there are few to none, and the illusion that there is no choice when there are alternatives.
Brazil and innovation
Microsoft would be a perfect fit for the world depicted in the movie Brazil. Microsoft is more interested in serving its own purposes than serving the customer. Microsoft's primary mission is to eliminate competition, and by doing so, grant itself the freedom to ignore any further innovation and simply collect its "tax" on the service it provides. This is how it managed to get away with delivering one of the world's worst operating systems for so long. It had virtually no competition. All Microsoft had to do is sit back and collect its "per-PC tax" on every unit sold. Lacking any perceived choices, people put up with the crap that Microsoft delivered in the same way that the people in Brazil (the movie) put up with the typewriters and CRTs with magnifying glasses.
In the world outside of the Brazil movie, however, choices do crop up occasionally. Anything that resembles a choice makes Microsoft paranoid, and Microsoft does whatever is necessary to eliminate it. No competitors have a cash reserve or monopoly like Microsoft has, so in most cases Microsoft can manipulate its existing contracts, pay off competitors or strike restrictive deals with them. This is how it eliminated products like OS/2 and Corel Linux, and convinced Apple not to give preference to the Netscape browser.
Enter Linux. Microsoft can stop a company like Corel from focusing on Linux because Corel has Windows products to sell. But when it comes to Linux itself, or Linux-focused companies, Microsoft has no leverage. When it comes to free software, Microsoft has no leverage. Therefore, when free software threatens Microsoft, it has few other options except to compete fair and square. This is a good thing for those people who use Microsoft products. Does anyone really think Windows XP would be as stable as it is if it weren't for the emerging threat of Linux as a viable alternative? Microsoft never focused on stability until Linux gained notoriety as an operating system that never crashes. Similarly, once Microsoft won more than 50% of the browser market share, all work on Internet Explorer came to a crashing halt. It was only after Firefox became a credible threat that Microsoft went back and added competitive features.
If you're like me, however, you have more hopes for free software than to relegate it to the role of keeping Microsoft on its toes.
Brazil meets Linux
Unfortunately, there is a little of the Brazil world in Linux, too, which is the ultimate point of this column. In the world of Linux, however, the limiting force isn't one of controlling self-interest. It's simply about self-interest. It is self-interest that often makes free software self-limiting.
Granted, controlling self-interest, which is what motivates a company like Microsoft, produces much more dangerous software. The funny thing about Microsoft's software is that it's sometimes easier to use at the start of its life span than free software. It only falls behind in ease of use as soon as the "controlling" part kicks in and there's no more motivation to innovate. In contrast, a lot of free software starts out with self-interest as the motivating force. So while it may be more functional and less dangerous (in terms of stability and security), it often lacks ease of use.
Why does so much free software lack ease of use? Free software in general is born and raised to scratch an itch. In many cases - certainly not all, but many - once the itch is scratched, the application ceases to be interesting to the people who are best equipped to make it better. Put another way, many free software applications are ready when "it works for me and I know how to use it". If it's a project that involves more than a lead developer and a few contributors, you can modify that to "ready when it works for us and we know how to use it".
What you end up with is an application that, to the end user, doesn't seem all that much better than the typewriters with CRTs and magnifying glasses. Only in this case, the problem is that the developers haven't come to the realization that they are not alone in this world. Once they've satisfied their own self-interest, there's no point in wondering how others feel about things like the user interface, or how well it integrates with other software and hardware.
A case study in self-interest
This is why programs like digiKam (a KDE photo management tool) and F-Spot (a GNOME photo management tool) have similar unintuitive methods of saving photos to a CD. In the former case, you select an album and then click the menu selections Album->Export->Archive to CD. In the latter, you select pictures and then click the menu selections File->Export->Export to CD. In sharp contrast, the Linspire Lphoto program has a menu all its own labelled "Burn CD".
This isn't an isolated case with these three photo management tools. You have to select Image->Email Images from the menu to email images from digiKam. You have to select File->Send Email to email an image from F-Spot. Lphoto has a big button labelled "Send EMail" on the main screen.
Why is there such a big difference between how friendly Lphoto is to the user vs. digiKam or F-Spot? Because Lphoto was created by Linspire, which was designed to compete with Windows. Linspire designed Lphoto with the goal of winning customers away from a platform that offers easy-to-use software. Linspire is certainly motivated by self-interest, but it also accounted for the interests of the end-user. So it isn't a matter of Linspire not having self-interest. It's a matter of Linspire not settling for what worked well enough to satisfy its self-interest. It thought about the customer, too, and considered what kinds of customers would use the product.
digiKam and F-Spot, on the other hand, are programs designed by geeks, for geeks. Maybe if you ask the developers if that's what they had in mind, they'd deny it, and I don't think they'd be lying. But the user interface betrays their concept of what it means to design software for end-users. These programs are designed according to a geek's measure of when self-interest has been satisfied. The programs work. The developers know how to use them. People like the developers can figure out how to use them. So they'd probably ask, where's the problem?
The problem is that they haven't learned that the world is not limited to them, or people like them. There are people out there who view digiKam and F-Spot as only a minor improvement over using a typewriter with a CRT and magnifying glass. Sure, they're functional, but they're not designed to make things as pleasant as possible for the customer.
Now here's the clincher. Lphoto is GPL. That's right. It's free software. So the problem is not with free software. The problem is that much of free software design is motivated primarily, and sometimes only by self-interest. Whether the self-interest is one of control, like in the case of Microsoft, or one of myopia, like in the case of software designed by and for geeks, self-interest is always self-limiting. Software can never reach its potential as long as the design is driven primarily or only by self-interest.
I think the designers of programs like F-Spot and digiKam have good intentions. I hope they, along with all the other geeks who design software for geeks, will take this self-limiting principle to heart and look beyond their own self-interests as they continue to improve their free software.