Who needs an enemy when you can divide and conquer yourself?

I survived the UNIX wars, unlike most of the companies involved in them. In their day, Pyramid, SCO, Apollo, DEC, Sun, Silicon Graphics, Gould and others fought ferocious scorched-earth wars trying to win customers' minds and money. The survivors, with the exception of Sun (a.k.a., The last man standing), have either disappeared into the mists of time, or are niche players that have been forced into new markets in order to survive. Other than their conflict, what did they have in common?

They were all selling some kind of UNIX operating system.

Back in the UNIX wars, the vendors had two primary axes on which they could compete: hardware speed, and features of their flavor of UNIX. Toward the end of the UNIX wars, a third battle evolved, over the desktop metaphor, the look and feel of the workstations' GUI. If you were around back then, you'll remember the ferocious fights over whether or not the 3D-look widgets of the Open Software Foundation (OSF) Motif metaphor were just flash and glitter or whether they were actually kind of cool.

Today, few remember the argument, and the code in question would be considered remarkably tight and lightweight compared to what people now use. If you step back and look at the UNIX wars from a high altitude, the actual battlefield was very small - GUIs and features in a UNIX operating system don't really sway customers much. The vendor who won, Sun, did so because they offered a consistent software experience (SunOs, later Solaris) across a broad spectrum of hardware at different performance levels from desktop to data center. In other words, the customers didn't care if the GUI had a 3D look and feel as long as it was fast, reliable, and affordable. A lot of users got sick of the debate and switched to a public domain window manager (I used twm on all my DEC, Sun, and BSDI machines...) - opting out of the whole battle - because they valued a consistent software experience more than they valued cool 3D-looking widgets.

You don't need to be an advanced student of computer history to know what happened. While the UNIX vendors beat eachother up over what amounted to nitpicking details, another vendor offered the same consistent kind of software experiencea cross a broad spectrum of hardware, including laptops. I am referring, of course, to Microsoft/Intel. Through the exacting lens of 20/20 hindsight, it is clear that the UNIX vendors were short-sighted losers arguing over what to watch on the television and fighting for the remote control while the house burned down around them.

Now, read this carefully: I am not bashing Microsoft Windows. Nor am I bashing UNIX. As a UNIX system administrator with 20+ years experience, and a Windows system administrator since Windows 1.0, I can tell you that there isn't a whole lot of difference in the work-load of efficiently running either environment. Sure, there are lots of annoying details in either environment, but it takes about the same time for an expert to load and configure a system. In the old days, UNIX machines were faster to bring online because of the prevalence of decent tape drives while Windows was primarily loaded by floppy - but that's about the only distinguishing factor I can recall. In other words, customers didn't choose Windows because it was better (or worse) than UNIX; they did it because Microsoft/Intel was careful to guarantee them a consistent software experience across a broad selection of hardware. Equally important, application developers flocked to that consistent software experience because it meant their products were cheaper to develop without the headaches of version-specific differences.

In 1985, when I wrote code for my UNIX machine, it worked on all the other UNIX machines because there was basically a single flavor of UNIX, which all used the same compiler, and everything just worked. Today, you actually have to be quite careful if you want to write code that compiles and works correctly on Solaris, Linux, and BSD. Indeed, most open source packages now include special tools that dynamically reconfigure the code based on complex knowledge bases that encode the differences in how Solaris says "tomato" and Linux says "tohmato."

It takes longer to configure code than to compile it these days, which is categorically not the case on Windows. Commercial grade Windows software just works and usually keeps working. Do you think that this might, just maybe, have something to do with the reason that major apps like Adobe's Photoshop, Macromedia's Director, Adobe Premiere, etc, are still not available on UNIX and, in my opinion _never_ will be... [Usually, this is the point where someone jumps up and yells "Photoshop runs on Macs - and Mac OSX is UNIX!" That's true, but it doesn't count. Photoshop was coded to the MacIntosh user interface, not X-windows, and functions on OSX as a side-effect of the excellent backwards-compatibility that Apple slavishly built into their kernel-swap.]

Why is all this relevant? Because the UNIX wars didn't end and, consequently, the "last man standing" is still Microsoft / Intel.

What do you mean, "they didn't end?"

I installed Linux on one of my systems the other day, so I could use it as a teaching vehicle for my class on system log analysis. But first I had to Email a bunch of my friends and ask them, "what version of Linux should I use? Red Hat? Debian? Gentoo? Mandrake? Slackware? Do you think I could get away with OpenBSD or FreeBSD?" The responses I got indicated that none of my friends use the same thing but that I could be sure that if I used Flavor X some adherent of Flavor Y was going to bust my chops about it, and that someone was sure to show up with flavor Z and have trouble making things work.

Do you hear the sound of distant laughter coming from Redmond? I do.

The early days of the Linux movement was heralded with grand pronouncements of war to the death with Microsoft - war from the desktop to the data center, and a free, compatible high performance alternative to Windows. What I see now is that the open source movement is more like a 14-year-old punk standing in the street telling Mike Tyson that he had an a**-whipping coming. Not the Mike Tyson we see today, either, but the Mike Tyson who could deliver a line-straight punch and knock a hole through the side of a steel I-beam.

Unlike Tyson, Microsoft was at least courteous enough to pay lip-service to the threat that the 14-year-old was making, using Linux as a "credible threat" to help argue that Windows was not, in fact a monopoly. Guys, let's face the facts: Windows is a monopoly because short-sighted open source geeks and UNIX weenies were too busy squabbling over whether RPM was better than build-from-source or Gnome versus KDE, etc, ad nauseam.

The tragedy here is that, unlike during the UNIX wars, the battlefield is even more narrow. The hardware spectrum is a constant so system performance is barely an issue: nobody measures whether Slackware is faster than OpenBSD and if someone did, nobody'd care anyhow. So the battle in the free UNIX space is entirely over command line options, system administration paradigms, installation packaging, and 3D GUI features. I've got news for you: Real Programmers Don't Care about that garbage.

Has it managed to completely escape the attention of the "open source" movement that Adobe, Macromedia, Corel, and so forth have blithely continued to remain virtually Windows-only while waiting for the dust to settle? Only now they have realized that it won't settle and oh-so-quietly the rush of announcements of support for Linux has not translated into a rush of quality applications.

Let me make a prediction for you: The open source movement is not going to hurt Microsoft to any significant degree. But it'll put Sun out of business. Good move, guys!

Now, do you hear the sound of distant laughter from Redmond?

Is it too late to save the situation? Yes, I think it is. At this point there are too many adherents and investment in "not invented here syndrome" in the various free UNIX flavors that nobody is going to come to their senses until there is only one man left standing. But that's not going to happen because, with free software, it doesn't cost very much to remain standing forever. It's an issue of ego, not technology, so don't expect sense or sanity to kick in. We all know the strategem, divide and conquer, but, honestly, Microsoft didn't even need to take that initiative. They just sat back and watched free UNIX fail to become a credible threat because, well, frankly, it was in the hands of egotistical, detail-oriented amateurs. Any of us who've worked with the various free-nixes out there have run across the "vanity versions" and their related politics: so-and-so won't work with so-and-so-else, let's start a whole new operating system development tree! Wow. Grow up.

Who's left that can compete with Microsoft? The place to look for alternatives is wherever there is a broad spectrum of hardware with a consistent software experience. That doesn't leave much: proprietary devices like PDAs and gaming consoles. If you want a high-impact platform that doesn't come from Redmond look to what the grown-ups at Sony are producing for their Playstation 2 network. The platforms are consistent and won't fragment into competing versions because they are proprietary and the folks producing them are in business to make money, not for their personal gratification and lust for limelight. Today, if you want a consistent software experience, you have little choice but to go with Windows. Remember: Real Programmers Don't Care.

Salt Lake City Airport, Dec 4, 2004