You clearly hate your users and the developers of big-name apps you're so desperately trying to woo. I mean let's talk about rudimentary functions for a minute here. It's been what, 15 years or so now, right? And yet you still can't make sound work decently enough to let a professional developer port his game to your platform? Seriously, give that link a read. Be sure not to skip the comments. When the Free Software Apologist Brigade comes in and starts belittling a professional developer in his blog comments because he's (unsurprisingly) found that Linux is a complete steaming pile to work with? It ends badly, let me tell you, with the developer being attacked from all angles and finally throwing up his hands and stating what nobody there seems to want to hear. And they wonder why they can't attract professional programs and the people who develop them to the platform. With a platform and tools that can't meet your needs... paired with support that sports an attitude like that... it's not really a mystery to me. The outcome here and the profound amount of "la la la I can't hear you you SUCK for being unsatisfied with our buffett of crappy and half-cooked API choices" coming from the community in response to this guy's concerns and problems is no different than every other "Hey, this doesn't work, can you guys give me a hand?" situation I've seen in the Open Source Software world.
Conclusion: The only thing holding Linux back from seeing wider adoption is the core essence of Linux, meaning not just the environment/tools but the very people who make it and taut its open nature. Don't criticize the environment, whatever you do! The problem isn't that what we've created is an obscure, twisted maze of shit. The problem is you. You aren't committed enough, aren't knowledgeable enough (I so laughed at that one... this developer has been with Linux since the 0.91 kernel) or are unwilling to change how you do things (Read: you won't adapt to our model's limitations). I think I even saw that famous standby of if you don't like it, fix it yourself! Yep, that's all indicative of open and flexible alright. Especially that last one, because users who find bugs are now being told it's their responsibility to fix somebody else's fucked-up code. It's like a really shitty, elitist version of that grade-school grind of "He who smelt it, dealt it." Which is fine if you're a programmer, but nothing short of infuriating if you can't even slap a Hello World program together in C++. I'm sorry, I don't want to learn your AJAX program so I can fix your retarded bug. I just want it to work, or for you to fix it when I tell you it doesn't work. Pushing the responsibility off onto the userbase is moronic.
I think roho summed it up for me when he said "[I have] run a number of distros for the last...12 years, I guess, and it's amazing that that attitude still there. 1: Come to Linux, everything works better 2: If it doesn't work, it's probably your fault 3: If it's your fault, and you try to fix it, and fail, you are probably a Linux Saboteur/M$ lackey in disguise."
So in conclusion, dear Linux, it is no wonder I avoid you as much as possible and stay in the big kid's sandbox with my *elitist sniff* commercial UNIX and desktop operating systems...