Some thoughts on Linux as a desktop OS
Linux will never make it mainstream on the desktop unless Microsoft does something incredibly stupid.
I fought in the trenches of the OS Wars back in the 1990s. During the height of the Microsoft-IBM battle for the desktop with Windows 3.1 vs. OS/2, myself and Dave Barnes from IBM went on the road together demoing OS/2 and OS/2 + Object Desktop to HP, Gateway, Dell, Compaq, and the rest in an effort to get OS/2 pre-loaded.
At the time, OS/2 was remarkably better. There was no debate about that. Windows 3.1 was a 16bit shell on DOS that could barely multitask, crashed constantly and had a primitive shell. By contrast, OS/2 2.1 was a full 32 bit OS with preemptive multitasking, multithreading, an object oriented shell that could even run DOS, Windows as well as OS/2 programs. OS/2 was a far better choice.
And OS/2 still lost. Linux advocates are stuck on the edges nit-picking some piddly issue here and there about Windows. It is very unlikely that ever again an OS will have such a clear and easy to see set of advantages like the kinds OS/2 had over Windows. And if OS/2, backed by IBM, couldn't defeat Microsoft, who in 1994/1995 was much less powerful than they are today, I just don't see what chance Linux has even if they do get their act together.
Which brings up the next issue, Linux advocates. Unlike Mac users who have a good reason to brag about MacOS X (particularly 10.3), Linux, as a desktop OS, is inferior. Its best argument for it is that it's "free". But when you can get a Dell PC with Windows XP on it for $399 (including monitor), such arguments seem kind of weak. Linux, as a desktop, feels taped together. It has so many rough edges. And it delivers no significant benefit over Windows for those rough edges.
That was ultimately what doomed OS/2 - by 1997 when Windows NT 4.0 was available and mature OS/2 wasn't delivering anything significant over Windows NT in exchange for the host of minor annoynces OS/2 had. That new piece of hardware that either didn't work under OS/2 or required some weird tweaking. That program you wanted to try out that just didn't quite work under emulation in OS/2 for some reason. That web page that didn't display quite how it was supposed to because it was using ActiveX or some new version of Shockwave or whatever got old too.
OSes can get away with such announces if they provide something blatantly concrete in return. I just don't see what Linux delivers in exchange for the pains it requires of its users. Linux advocates on the net tend to fall into the old "OS/2 hard luck syndrome" (as we used to call it). Where for whatever reason, every possible problem one could have with Windows seemed to happen to Linux (or OS/2) advocates such as system crashing, lost data, fires, you name it. Such arguments are never compelling to normal users who found Windows ME (ack) "good enough" and Windows XP to be a panacea of stability. The same is true of arguments that boil down to "I don't need that feature." which regularly comes up when discussing software that isn't available or features missing in a "equivlanet" piece of software.
For these reasons, I think Linux will always be a hobbiest OS on the desktop and a good server OS for those either on a budget or who need to a very custom solution.