Currents #1
Monday, July 26, 1999 | Last Updated 1:23pm
CURRENTS

Will Linux Fizzle?

by Bryan Pfaffenberger <[email protected]>
26-Jul-1999

(original link)

Currents is a new online series by technology professor Bryan Pfaffenberger. In this first article, Pfaffenberger refutes Bob Metcalfe's prediction that Linux will simply fade away.

Ethernet pioneer Bob Metcalfe recently predicted that Linux will die away -- and not only, he says, because Linux is "30-year-old technology". Equally responsible for the coming demise of Linux is the Open Source movement's utopian ideology. "Balderdash", Metcalfe terms it, comparing open source concepts to ideological fads such as communism, the back-to-the-earth movement, and organic gardening.

Just as organic farmers can't feed 6 billion people, Metcalfe says, open source programmers can't create the big, complex programs that today's customers need. Once upon a time, a single programmer, working alone, could "change the world over the weekend". But those days are gone, says Metcalfe. Whether we like it or not, he concludes, we're stuck with big multinational corporations and the evil but necessary profit motive; the open source movement simply can't deliver the goods with the needed efficiency.

I've admired Bob Metcalfe for years, despite his oft-observed tendency to shoot from the hip. But here, he's dead wrong, and it's important to understand why.

Let's start with "30-year-old technology". Yes, Linux is 30-year-old technology. So is Windows NT and Windows 2000, as Metcalfe himself observes. Trace NT's family tree, and you go back to VMS--and ultimately to Multics, the big, bloated operating system that produced the software industry's first multimillion-dollar fiasco.

And that's just the point. Taken together, Linux and Windows NT/2000 aren't just a couple of 30-year-old operating systems. They're two poles of a 30-year-old debate over how to create a robust, reliable operating system, and it still isn't resolved. Linux conforms to the UNIX philosophy, formulated by UNIX pioneers Thompson and Ritchie -- who, one might add, personally witnessed the Multics fiasco. Instead of trying to build every conceivable feature into a big, bloated, Multics-style monstrosity, Thompson and Ritchie concluded, it is best to work with a small, elegantly programmed kernel. You then add layers one at a time -- and it's best to implement each of these layers in small, single-function, exhaustively tested code. The result? Improved reliability -- and what's more, freedom. Don't like the shell? Fine; create a new one. You can add it without breaking anything.

For operating systems, Metcalfe is wrong about complexity. Just look at the tough time Microsoft is having trying to deliver Multics -- er, Windows -- on time. Some say there's code in there that nobody can figure out, but they're afraid to take it out in case something breaks. There's a physical law working here, and you can't defy it any more than you can defy gravity: the number of software glitches increases geometrically with the number of lines of code written. Microsoft couldn't deliver NT 5.0, with its estimated 25 to 30 million lines of code. (The Linux kernel, in contrast, makes do with less than one million lines of code.)

Despite Microsoft's dismal record of product delays, the big, bloated, Multics approach works just fine for the Redmondians -- but for marketing reasons, not technical ones. Don't forget that Microsoft's on trial right now in a Federal court. The charge? Using its alleged operating system monopoly to put competitors out of business. As Microsoft folds more and more functions into its operating systems, competitors die. And don't try to take that part out, lest you break something!

So here's the reply to Bob's point about the need for big, multinational corporations: Yes, a company as big as Microsoft is indeed needed -- if your goal is to leverage your operating system dominance into total control of enterprise and consumer IT markets. History teaches us that such practices aren't in the best interest of consumers, enterprise customers, or the advancement of science.

What about application software? You can't write Microsoft Word over a weekend, Metcalfe tells us. We need big companies like Microsoft to give us big, wonderful application programs like Word.

Here again, Bob is dead wrong. Most people don't use Word because it offers five zillion features. If you talk to actual users, you'll find out that most of them have no idea how to do much more than create text, check spelling, and print. They use Word because the advanced features stay out of their faces, for the most part, and also because everyone else uses Word. But that doesn't mean they love Word, and even less that they love Microsoft's penchant to hit us with costly upgrades every year or two. The result of this forced upgrade cycle is a wilderness of incompatible file formats, and it's giving companies fits. Ask around and you'll find Word refuseniks, users of antique versions who understand perfectly well that Microsoft's marketing strategies aren't in their best interest.

Open source authors are just now turning their attention to application software, and what's coming will show how wrong Bob is -- specifically, about Word. I'm writing this column using AbiWord, an elegant, open source word processor that delivers the Word functionality most people use. Able to read and write to Word's Office 97 format, AbiWord doesn't shut me out of document exchange. It doesn't hit me with features I don't need. It doesn't drag me into a costly cycle of software upgrades. In fact, it doesn't cost me anything at all. It's free. This is the first Office upgrade cycle I've ever skipped, and I suspect I'll have company.

Linux has it right. You build reliable operating systems -- and, by extension, reliable applications and reliable systems -- by working one step at a time. And it's not just one person working over a weekend, Bob. It's an effort that goes back decades, starting with Stallman's GNU project. Layer by layer, Linux grows, giving users the freedom to choose at every step along the way. If UNIX-like operating systems have fizzled in the past, it's simply because it took far too long to create the finishing layers -- the multi-channel sound system, the TrueType font support, the graphical user interface, the easy-to-use applications. Thanks to Linux, they're here, or nearly so.

Bob is right in that we need big, multinational corporations to create today's computer software. But that's because today's computer software is designed to make corporations rich, rather than serve users' needs. Users don't want huge, complex programs -- especially when they come with the sting of incompatible file formats and costly, repeated upgrades.

Will Linux fizzle? Bob isn't hesitant to make predictions, so here's one in reply. Linux isn't 30-year-old technology; it is carrying a 30-year-old battle to the heart of Microsoft's market. Who wins will depend on whether Microsoft manages to deliver a stable, reliable product -- and as I've explained, the odds are against it. Even so, the outcome may have more to do with the pocketbook than with the principles of operating system design.

I believe Linux will do to Windows 2000 what Windows 3.1 did to the Mac OS in the early 1990s. Back then, we all knew that Mac OS was the best technology around, but the fact remained that you could set up a Wintel system for about half as much money. Just as soon as there's a full suite of high-quality, standards-conformant, open source applications for Linux, people are going to start considering whether it's worth shelling out $500 for the latest Windows bug fix, the latest Office upgrade, and yet another file format. Bottom line, folks: I'd rather keep my $500. Wouldn't you?


Next week: "Linux -- Not Just for Communists".

Bryan Pfaffenberger is a professor of Technology, Culture, and Communication at the University of Virginia.

Copyright � 1999 Specialized Systems Consultants, Inc.