Fail and You Linux will never make any meaningful headway into the desktop. Nope, never. I could cite market share numbers, growth figures, and total cost of ownership studies, but none of that matters (plus, it's boring). Linux will never, ever defeat Windows because Windows has the little blue E.
The blue E on my desktop that I can click takes me to great things like Google, YouTube, and MySpace. It's the E that I click to get a short vacation from the boring blue W where I have to spend hours clicking and dragging to get my text aligned just right. It's the E I can open when I'm tired of looking at tables of numbers in the green X.
That damn green X. Sandy in accounting showed me something in the green X, something about pivoting tables. She says it's going to make my job easier, but I can't figure it out. Maybe I should pick up one of those "Green X for Dummies" books this weekend.
It's not the software behind the blue E, the blue W, and the green X that's keeping Windows's stranglehold on the desktop. You can get a web browser, a word processor, and a spreadsheet anywhere. It's what they represent. Familiarity. Comfort. Dependence. To the average user, the computer is a means to an end. That end is most likely a paycheck, a chat session, or some vile display of pornography that you can never buy in a store because the clerk - the clerk in the smut shop who sees a million vile things a day - will judge you for selecting the vilest of the vile.
The path to each of these ends, in the eyes of the user, can't change. When it does change, users get very upset. Where's my start menu? What happened to Microsoft Word? How do I PivotTable in OpenOffice? I hate it when they change the computers.
Users aren't stupid. They just have better shit to do than learn C++ programming or tinker around with FreeBSD. We techies, who count trolling an internet forum and winning an argument on IRC among some of our greatest accomplishments, find it easy to call users stupid. Idiots. They simply don't have the mental capacity to take a side in the microkernel vs. monolithic kernel debate. Users are so dumb, they don't even know how to edit Apache's config file. The same users who, years ago, had better shit to do with their time than learn Unix, now have better shit to do with their time than investigate the merits of a new operating system.
To these people, a computer means Windows. There's the Mac, but users see the Mac as something different from the computer. Mac has its own software, its own system. I think graphic designers use the Mac. So, when a normal person buys a computer and it doesn't come with Windows, there's a pretty big disconnect happening, and it's not because the person is dumb. It's because of violated expectations. Linux will never be accepted as mainstream because too many users expect a computer to have Windows.
As an exercise for the IT crowd, take a minute and imagine that you're a user. Since you're reading this here, chances are that you've done a stretch of time supporting users in a large organization, so you know the type of people I'm talking about. Imagine you spent four years in college studying philosophy, only to find that in today's job market, more employers are hiring office assistants than philosophers. You use the computer for almost every aspect of your job: scheduling, e-mail, document work, and leisure.
The computer is your job, but it's not you. You spend the day in an 8 foot by 8 foot cubicle – 64 square feet that you've staked out with family pictures, trinkets collected from various tourist traps around the country, and the poster of the cat on the wire that says "hang in there!." For eight hours every day, you breathe the recycled corporate air that's been heated to a temperate 72 degrees. Everything about your environment is sterile enough not to distract you from your work.
One day, as you're taking a personal call but making the conversation uncomfortably informal so as to avoid any eavesdroppers figuring out that it's a personal call, one of those pompous pricks from the IT department shows up to finally do something about that support ticket you filed last week. Your computer blue-screens fairly frequently. Your phone call ends, and you explain the problem to the tech, who isn't really listening. He mentions to you that this Microsoft software is rubbish and that crashes don't happen on Linux. Hey, that sounds pretty good, why don't you give me that Linux thing?
The tech tells you it will take a while to install, so you head off for an hour-and-a-half Presidential coffee break. When you come back, the tech is nowhere to be found and your computer looks different. Nothing works the same as it used to. All of your programs are missing and you can't figure out how to access the company file share. Everything is fucked up, and you can't do your job. Score one for superior engineering.
The alternative ending to this is that the tech installs Linux on your machine, stays for hours to help you learn how to do things that you commonly did on Windows, and because you just love your job so fucking much, you buy a book on Linux so that you can catch up on it in your free time. All to get the same work done as before, but this time, using free software.
Engineering isn't holding Linux back from the desktop. We all know that it's better software than Windows. What's holding Linux back from the desktop are user expectations and IT freetards who compensate for their own non-accomplishment with passive-aggressive superiority. Your average user isn't stupid, he just doesn't care about what operating system uses and is willing to pay the extra money for Windows if it buys him familiarity.
That being said, there's always an exception to the rule. The Reg published a story last week about an American woman who bought a Dell laptop that came with Ubuntu, and her unfamiliarity with it caused her to drop out of school.
Some people are just dumb. ®