Will Open Source Software Rule the World?

A few people have pointed me to this discussion about Infoquake on the Asimov’s forums. Some of the forum participants appear to be skeptical about Infoquake because it doesn’t embrace open source software as the end-all, be-all of human existence.

Linux penguin on a throneI could point out that one shouldn’t necessarily take anything one reads in a science fiction novel as an outright prediction. I’ve blogged elsewhere about the impossibility of predicting the future in any meaningful kind of way. As many other people have said, science fiction is largely about the present, and Infoquake isn’t really a serious attempt at predicting what life will be like in the year x. It’s more like looking at the year 2006 through a funhouse mirror in order to see things in a different light.

But enough about the book. The real question is whether open source software will become the dominant (or even only) form of programming in the future. My answer to this question is no, because I don’t think the open source software model has proven itself yet.

A very quick summary of the debate before we get much further:

  • Proprietary software is like a car that’s sold to you with the hood closed and sealed. You want to tinker around under the hood to make your car run faster or smoother? Tough, you can’t. Only authorized mechanics and dealers can get under that hood. No, more than that, only authorized mechanics and dealers are legally allowed under that hood.
  • Open source software, by contrast, is like a car that’s sold with the hood wide open. Complete documentation for every last screw, bolt, and chip is sitting in the glove compartment, and everyone in the world can poke their nose in your engine and see how long it’s been since your last oil change.

The idea with open source software is that, when everyone has access to the complete source code, everyone can pitch in to fix security exploits and coding inefficiencies. You don’t get the kind of security snafus you get with Windows where some independent researcher finds an exploit and everyone has to wait around for Microsoft to fix it. When will the patch be ready? “We’re working on a fix,” say the ‘Softies. “Just keep quiet for a few more months. It’s not that bad. Trust us.”

Open source sounds like a great idea, in theory. But so does socialism. And while I’m not ready to throw in the towel on socialism either, let’s just say that thus far it hasn’t performed as well in the real world as it does in a laboratory setting.

But the open source movement has produced some very good pieces of software, like Mozilla Firefox, the OpenOffice suite, the GAIM instant messaging client, the MySQL database, and the Apache web server. There’s also Linux, of course, an operating system which has become ubiquitous in technical circles and on web servers, even if it hasn’t made much traction on the typical business user’s desktop. This blog itself runs on WordPress, an open source project.

So why am I down on open source’s prospects for the long term? A few reasons:

1. Open source hasn’t proven it can produce better products, just comparable ones. Take Firefox. It’s fast, it’s friendly, it’s flexible, and (the main reason I use it instead of Internet Explorer) it’s extensible.

But is it more stable than Internet Explorer? No, I don’t think so. I can’t remember the last time Internet Explorer 6 crashed on me, much less brought the whole system down, whereas Firefox probably crashes a couple times a week. (In all fairness, I should point out that most of the Firefox crashes are probably due to faulty third-party extensions and plug-ins. Most, but not all.) Firefox also has a number of known memory leaks that can cause it to hog your RAM after a couple hours of continuous usage.

Is it more secure than Internet Explorer? People are going to jump all over me for saying this, but no, I don’t think Firefox can claim that crown either. Firefox’s vaunted security largely comes from the fact that it cuts off a big chunk of functionality by not obeying ActiveX controls that tie in to the Windows operating system.

But what most Firefox partisans fail to tell you is that you’ve always had the ability to turn off ActiveX controls in Internet Explorer through the Security panel. IE’s security settings are, in fact, quite a bit more robust than Firefox’s. Anyone with any level of computer sophistication knows how to secure Internet Explorer against 99% of the security exploits out there — which makes Microsoft’s problem poor usability and implementation, not inherent lack of security.

Let’s also point out vis-a-vis security that Firefox has until now been a relatively small target for the (bad) hackers and virus writers of the world. When Firefox is used six hours a day by 90% of the computer users worldwide, then we’ll see how it fares against the bombardment of crooked hacks and extensions from Eastern Europe.

The reality of the matter is that most open source software is not entirely ready for prime time. It’s buggy, its usability is generally wretched, and the documentation tends to be rather slapdash and hard to follow. In short: pretty much like regular, proprietary software.

2. Software is too cheap to worry about saving money on it. Windows costs $150 or so out of the box; less if you upgrade or buy it pre-installed on a new computer. And it comes with almost everything the general user needs: basic word processing, web browsing, a media player, e-mail. So if I’m a business owner, the question is, why shouldn’t I pay $100 per user for a product with complete user documentation and technical support?

When I pay a company for software, I’ve at least got someone who can (theoretically) take responsibility for their product. I can return my software, I can file a complaint against them in a court of law. And of course I can always just take my business to that company’s competitors.

Now if you’re scoffing at the idea of holding Microsoft legally responsible for software flaws or going to one of their (practically nonexistent) competitors, don’t blame the free market system or the idea of proprietary software. The problem is that Microsoft is a monopoly. If our free market system were functioning properly, Microsoft wouldn’t be able to exercise so much control and dominance over the industry.

3. As software gets more complicated, open source will have a problem keeping up. Just how many people out there are smart enough and qualified enough to fix a problem with a Linux scanner driver? I’m sure there are tens of thousands, and as the populations of India and China come online those numbers will increase even more.

But the software is getting exponentially more complicated every year. Windows XP has some 40 million lines of code in it right now; some versions of Linux have over 300 million. And if you look twenty or thirty years into the future, when your operating system will have built-in natural language processing and seamless synchronization with all your household appliances and who knows what else, it’s going to balloon even more. That 40 million lines will become 500 billion eventually, even if it’s not all controlled by a single monolithic company anymore.

In fact, most people predict that you’re not going to be running big, all-powerful computing behemoths in beige Wintel boxes 50 years from now. You’re going to be running a thousand devices distributed on your phone and your TV and your refrigerator and your electric toothbrush. Each with its own unique software and hardware requirements, complicating things even more. How many people will there be qualified to write software for the Oral-B MolarScrubber 9000 running Java 2045 for Toothbrushes (New Jersey Edition)?

We’ve got limited space here on Earth for people, and only a limited percentage of the population qualified to write software. But with quantum computing on the horizon, there’s nearly unlimited potential for software and no reason that programs won’t get more and more complicated. Do the math: eventually there will be far too much code out there for us to have a population of open source experts on every piece of it. And when it becomes a million times easier to exploit software than to fix it, the first obvious precaution is to lock up access to all those exploits.

——–

All of this might sound like I’m denigrating open source software and advising you to stick with your Wintel boxes running Internet Explorer forever and ever. I’m not. Keep running proprietary software only as long as it continues to work for you and there isn’t a better option out there.

What I am saying is that the jury is still out on whether open source software will work in the long term. I’m willing to be convinced, but I’m skeptical.

And just because I don’t think open source software is going to take over the world doesn’t mean it’s going to disappear entirely. This Pandora’s Box isn’t gonna close anytime soon. I think there will be continue to be certain projects where an open source solution just makes sense. But this idea that open source will drive proprietary software companies out of business? Ain’t gonna happen.

For what it’s worth, I’m rooting for the open source movement. I’d like to live in the kind of society where sharing and cooperation are the rule of the day. But I happen to have a much different view of human nature, and I don’t think such a society is in the cards.