FWIW I've had very high reliability with Windows, Linux and BSD in the server environment. When problems occurred they were caused by server
applications (webs, email, etc.) running on them.
Truth is, doing a server as a
simple server (other than OpenBSD
) is really no big deal. The underlying core code for a server is usually rock solid. But the minute you go beyond basic authentication, and file/print sharing functions, it can get complicated and bothersome.
I've had Windows 200x servers running for years with no downtime other than for routine hardware or software maintenance. Supposedly that can't happen according to some. But I've seen it in dozens of places I've done work for - and in
every place where
I did the server setup.
Same goes for Linux and BSD. I've done both many times and I've seen enough to say there isn't one flavor of server thats superior to all the others for every possible installation. Just some that are better than others for
specific requirements or environments. (And I will confess a minor and wholly personal preference for BSD. Probably more because it was the first server I ever learned than anything else.)
On the desktop it's been a mixed bag. Windows has relatively few problems that are often difficult or impossible to fix on a timely basis. Linux breaks slightly more often, but it's easier to diagnose and (mostly) faster to fix. I don't know anybody who is running BSD as their primary desktop. I have Dragonfly running on one of my PCs. It's very nice - and frankly a little
boring. Most of the 'fun' stuff (unless you're a physicist researching subatomic particles or involved in astronomy/cosmology) is happening over on the Linux or Windows desktop.
IMO, where Linux falls down for the desktop is in its lack of standardization.
End users, as a whole, demand something be predictable and standardized. It doesn't need to be a great standard - or even a very good one. Good enough will do for daily use. (Especially since social site crawling, media downloading, email, and porn-surfing make up about 75% of all desktop activity. Wordprocessing and spreadsheeting make up about 5%. And the remaining 20% is used playing games - either games like WoW - or the more serious games hosted by E*Trade and it's ilk.)
Where Microsoft was smart was in
providing that standard, along with just enough 'fun' and silliness to make it compelling.
And that's something that generally enrages people who code or otherwise get involved with something like Linux. Unfortunately, that created an early elitist culture. And once it became glaringly obvious (since these people were no dummies) that Linux was not innately superior to much anything else, the elitism morphed into a new attitude of "Who cares." whenever anybody raised the basic question "Why Linux? I just don't get it."
It's really not so much a technical issue as it is a people issue. And when dealing with people, perception is everything. And perception is not something smart people, for all their cleverness, tend to be very good at managing.
I think the takeaway is that Linux and its developers tend to be a little too smart and 'right' (i.e. technically correct) for their own good -
if the goal is to promote Linux for the desktop.
But if that is the case, the only way it will change (short of Microsoft sinking into the Pacific Ocean after The Big One) is if they lose the "Who cares." and
fuggetaboutit attitude and stop ignoring the fact that being 'more correct' is not always the optimal solution.