There, I made my troll headline, and I'm going to follow it up. Three of my friends have been arguing this morning, and I'm late to the party, but I'm going to clarify my position. I'm making a new note because I'm bound to be long winded. I'm going to duplicate this on Live Journal so non-friends can read it, and I'm not against adding friends of like mindsets.
Right now, fingers are pointing because Linux isn't desktop ready. The question of "is it mainstream?" is answered. YES it is mainstream, on servers and embedded devices. The question is, who do you point the finger at as to why it's not on the desktop. My answer - the unnamed person who hasn't made it work yet.
Linux is absolutely ready for the desktop, but only on controlled systems. Before you call me crazy, first think about how many things BSD and Linux have in common, then realize BSD is on the desktop, it's popular, and it's run by a bunch of elitist who consider the command line, and I'm going to quote what one said to me as "Barbaric". It's Mac OS that is BSD.
Why does Mac OS work where Linux fails? The answer of course is Apple. Lets tear it apart.
1. Apple makes their own distribution.
2. Apple makes their own hardware.
3. Apple makes their distribution incredibly easy to use.
4. Apple makes their hardware really flashy, yet basic and to the point.
5. They keep choices to a minimum.
6. EVERYTHING JUST WORKS.
Linux has NONE of these things. Quite the opposite, especially #5. The closest thing we've got to Apple in the Linux work is ASUS with their Eee PC. I personally know the shortcomings of that, they focus on hardware while leaving the distro to someone else, not the worst of ideas, but they put their fingers in the distro just enough to screw it up.
What Linux needs to become mainstream is it's own Apple. For this to work, we're going to have to follow the Apple model.
1. We're going to have to maintain our own repository. Our distro is going to have to just work, and yes, I'm going to say, add another Debian derivative to the pile, heck, it may become Awesombuntu. We're going to have to have a mainline stable distribution that doesn't change that often other than patches and a few important updates, like browser updates and a few other things that need to be updated often. This is where Debian stable falls short, it stays unchanging enough, but it doesn't update important stuff, like browsers or plug-ins. That's why Ubuntu happened. On the other side of the coin, Ubuntu updates to much for this idea.
2. We're going to have to make our own hardware dedicated to the task. This is where ASUS succeeded. Their Eee's were created with Linux in mind and it all works. That's the trick to making Linux work on the desktop. Sure us geeks can peacemeal a system together and it will work great, but we can't expect Joe Bob to do it. We're actually going to have to make the hardware to. We can't just settle for an off the shelf relabel, we're going to have to design our own motherboards and cases so that our motherboard manufacturer can't just drop our model, or change chips on us. When you use Linux, buy by the chip, and build by the chip. This doesn't mean go proprietary, it simply means build in accordance to what you want to do.
3. We're going to have to make it easy to do. Why does Apple work as a Unix distributor? Their users don't have to learn Unix, that's why. Sure, Synaptic is awesome and easy to use where package management is involved, but hitting Alt+F2 > kdesu synaptic > password is out of the question. We're going to have to make it automatically refresh it's package list and check for updates weekly, like a Mac does. Then we're going to have to make it get in your face and say "hey - I have a critical update!" like a Mac does with its annoying little bouncing icon. These critical updates need to include browsers, the default IM program, browser plugins, media player updates, and possibly even be extended to include an office suite. I would like to make that last one a variable. ITunes is a really big part of why Apple works, their main included software is handled automatically, but you can buy stuff from iTunes that you have to handle that way. We need Synaptic to be iTunes.
4. Hardware - it needs to be sexy to attract buyers. The Sony Vaio originally did really well because compared to everything else of the era it first appeared in, it was slim and sexy - it was eye candy. Apple stuff does really well for same but different reasons. The Vaio was the table dancer covered in jewelry, perfume, and rubbing your crotch. Apple takes the approach of smiling girl next door who you just saw change her own oil and has an obviously huge chest under her shirt, but isn't wearing a plunging neckline. You want them both, but for different reasons. You have to portray one of those reasons and make it work. Apple is doing better than Sony because as I mentioned, she changed her own oil.
5. One of the things that hurts Linux is the vast array of choices. Sure it helps Linux for people like us Geeks, but it hurts it for the desktop. If we're going to make a desktop work, we have to decide for the customers. Not in the current Apple "if you make something cooler than us for the iPhone we're not going to let you distribute it" type attitude, but the the current Microsoft/OS X attitude. We provided you with good default setup, you can add to it, but you can't uninstall our stuff. As much as I hate "can't uninstall" I think we should stick with that for the default desktop, remove the ability to remove the default stuff from the distro. That way they can add their own stuff all they want and make it default, but what we provided should always be there and working. That's software. We need to also standardize our hardware to not stretch out to much. We need to increment screen sizes an inch at a time from about 7" to 19", all of those need the same basic ports, they all need webcams and microphones, they need everything the same. Only CPU speed, storage type/size and RAM varies within a screen size. The larger ones need everything the smaller ones have plus maybe an optical drive and a few more ports, but keep it consistent, don't put firewire on the big ones but not the small ones. Don't give the small ones an SD reader but not the big ones etc..... We also need basic, normal, and awesome desktop models. We need to limit ourselves to two different video processors, and 1 type of LAN, 1 type of sound, etc..... Or if we do branch out a little keep it minimal and keep ALL of it up to date in the repository.
6. This is the most important part. It has to work. We can add one line to our repository configuration to specify a model repository if we must, but I'm actually against that. I like eeebuntu's method of having a lite, specialize, and full version. I think we could pull something like that and make it work for netbook vs. everything else.
If we actually make it big this way, we will begin to drive everything else. We will make it well known the reason we chose the chip maker we did was because their crap works with Linux. We will make it clear we chose the software we did because it worked with our hardware etc.
Then we dump money into our developers. Whatever software is on our systems we contribute to the development of that software, and I'm not above sending a note with request on it along with my contribution. I'm not against hiring a developer who's been making something for years, putting him on my staff, saying keep doing it, keep it GPL, but now you answer to me.
Linux is ready for the desktop, but it's only ready for geeks. Linux is ready to be "Appled" as we speak.