i think the current fraccas about Firefox and Debian kinda drove a point home with me. It's something that has bothered me for quite some time and i really couldn't put my finger on it, and i think it's a pretty key weakness in Linux's potential.
Basically, "Linux" is not an operating system.
Linux is a kernel. It's like saying that your car is a slant V6 hemi. Sure, it sounds great, but it just might be shoe-horned into a Yugo or struggling to push an 18 wheeler. Your operating system (just like your car) is more than what drives it.
Consider the platform console. Game developers love platform consoles because (ok, well up to fairly recently at least) you knew exactly what was in the box. You knew the kind of processor, graphics chipset, available memory and everything else. You'd know full well that your game would work exactly the same on any customer box because that box should be exactly like the one sitting next to you.
A few steps up from that are platforms like Macs and Windows. These differ in that the hardware can be vastly different, but there are known, fundemental system hooks one can use to develop applications against and they just work. (Apple kinda dropped the ball when they killed off Game Sprockets, but they're recovering with the QuickTime libraries. Microsoft has the DirectX libraries, and those have been fairly successful for more than just games.)
Then there's the Free Unix boxes, and developers have no clue what the hell is there.
Are you running Gnome? KDE? TWM? Do you even have X installed? Which distro packaging system are you using (rpm/apt/pkg)? Heck, are your libraries ELF or COFF? It's often the case that source not only should be distributed with packages, but often needs to be.
And now that products are starting to mature, there's the ownership issues.
Honestly? The biggest hurdle Linux continues to face is the general lack of a consistent base. The closest one gets is Red Hat, and sure enough, that's the platform that most Unix application providers are going to.
It bugs me no end that Linux is held back by this factional in-fighting. i keep thinking that if folks dropped the damn egos a bit and stopped giving themselves detailed colonoscopies, Linux would really emerge as being a fantastic OS that you could put on your Grandma's PC without having to do support every weekend. Pick a distribution system (No, it won't be perfect, no it won't do $foo, deal with it and improve it later), pick a common window manager (see previous), pick a standard directory hierarchy, a common configuration system, and a common set of well supported, rich interface libraries. Accept that there will be some applications which will have components you will not be able to modify (run the non-standard distribution if you feel so compelled).
Sure, you can run 9wm as your window manager, but everything's not going to work. Your choice. If you're hard core, feel free to drop in your add-ons and make that personal statement you seek.
*sigh*
Too bad it'll never happen.

