All the Linux community wants is to create a really good, fully-featured, free operating system. If that results in Linux becoming a hugely popular OS, then that's great. If that results in Linux having the most intuitive, user-friendly interface ever created, then that's great. If that results in Linux becoming the basis of a multi-billion dollar industry, then that's great.

It's great, but it's not the point. The point is to make Linux the best OS that the community is capable of making. Not for other people: For itself. The oh-so-common threats of "Linux will never take over the desktop unless it does such-and-such" are simply irrelevant: The Linux community isn't trying to take over the desktop. They really don't care if it gets good enough to make it onto your desktop, so long as it stays good enough to remain on theirs. The highly-vocal MS-haters, pro-Linux zealots, and money-making FOSS purveyors might be loud, but they're still minorities.

I believe this still reflects the opinion of the Linux community, but there is a growing public consensus that is entirely opposite: the goal of Linux is to gain market share comparable or superior to the major commercial desktop operating systems, and since the current Linux community itself is a rounding error by comparison, the goals of Linux have nothing to do with the needs of its current users and everything to do with serving the people who so far want nothing to do with it. It seems to me Linux is in the early stages of acting out the cliché sitcom plot where the main character is sidetracked onto a quixotic mission to remake themselves as a popular kid, culminating in a humiliating realization that they aren't any closer to being popular than when they started, they've picked up vices without learning any virtues, they've alienated their friends, and worst of all, in the process of rejecting their identity they've rejected and abandoned their own good qualities.

Linux should learn from what the cool kids do well, of course. It should learn to be friendly, approachable, well-groomed, and confident. I'm glad it's doing that. With GNOME, KDE, and Canonical, we have three big projects devoted to making the Linux desktop smooth, polished, and friendly. Linux and all its users are benefiting tremendously from that, just like I (a rather frumpy geek) benefit from periodic attention to upgrading and expanding my wardrobe.

However, Linux needs to think just as much about its strengths, and we don't hear enough about that. Linux is a powerful system for sophisticated users. It's got a great command line. It's mostly open-source and has a great community. Linux has two major integrated desktop environments, and inside the integrated environment of your choice, or even from a niche window manager put together by a handful of people, you can run apps from another integrated environment. On one desktop I run KDE, and on my laptop I usually run Awesome. When I want to run a KDE app under Awesome, I just apt-get install it and run it. Isn't that amazing? Not to mention that Linux (like other open sources Unixes) runs on a range of hardware platforms that puts Windows and OSX to shame. When's the last time a Windows user needed to run an OS on a virtual ARM processor on an FPGA, looked in the FPGA manual, and discovered, "Oh good, it supports Windows, so I'll just install that and have a nice familiar environment?"

Now, many people who have read this far will wish this was a different kind of forum where they could just quote the last paragraph followed by the picture of Ogre screaming "NERDS!!!!" and be done with it. However, it's ridiculous to dismiss Linux's strength, and in fact everybody's image of Linux is affected by those strengths. Anybody who cares enough about Linux to click to this page cares about its geeky awesomeness. If you truly dismiss those strengths from your mind and see Linux only as a desktop operating system for unsophisticated users, then Linux is just a pathetic third-place OS that only a mother or an open source zealot could love. That would be a tragic crisis of confidence. That's like when the kid who's great at music or math or poetry hits rock bottom and tells him or herself, "None of the things I'm good at matter. Nobody cares about them. Nobody sees me as a kid with this great ability. They judge me the same way they judge each other. They just see me as an ugly kid with mediocre social skills." Of course, that's when the learning starts, and by the end of the sitcom or the Saturday morning special, the kid learns that it's okay to be a little frumpy but her talent is something to treasure, and for her, two hours of doing her hair and applying makeup in the morning (which she hates) is not going to pay off as well as a couple of hours playing the cello or writing code or whatever it is that she really loves and is good at.

Linux needs to skip the Saturday morning special trap of defining itself solely by its ability to cater to the mainstream. The Linux community needs to look at itself as users and say, "Damn, Linux rocks my socks off. How can we make it more awesome for us?" Not, "Well, I'm a weirdo, and real users are nothing like me, so it doesn't really matter that I like Linux. I guess from a normal user's perspective I can't think of anything that Linux is especially good at. How can the Linux community make Linux suck less for other people?" Not that the answers to those two questions are entirely disjoint. There's a lot of overlap between them. It's just that the first is an important perspective that is in danger of being lost as we concentrate more and more on the second.