 |
|
Why isn't Linux the Desktop King? |
|
|
|
|
Wednesday, 15 November 2006 |
|
I believe it’s not a matter of if, but it’s a matter of when. What’s taking so long though? I’ve been looking for a Windows 2000 replacement for years now. I don’t like Microsoft’s latest offerings (phone home / DRM / activation / non-development friendly), so I’ve been testing various Linux distributions (Suse, Fedora, Mepis, Ubuntu, Kubuntu, and others) each quarter only to find the same problems (bloated, slow, usability issues, dependency issues, hardware, etc).
I know some people are very passionate about this subject, so I want to make a few things clear before I go on.
- I am a fan of open source software.
- I am not in Microsoft’s back pocket or have ever been contacted by Microsoft or any of their associates.
- I love testing and working with OSS.
- I am a fan of the LAMP architecture. This web site happens to be powered by it.
- The statements and opinions I document in this article are mine and I have not been influenced by anyone to make these statements (including Microsoft).
Basically, I just wanted you to know that the statements in this article are mine and they are sincere. There are some out there that will spin this article into something that it is not (funded by an external source, FUD spreader, flame bait troll article, or pick your conspiracy). I’m not saying that there aren’t FUD articles…. I’m just saying that this isn’t one of them.
Ok, back to business. Why isn’t Linux the desktop king yet? There are many reasons but I think the one that outshines them all is Ego. That, in my humble opinion, is the root.
Let’s look at the Linux kernel as a positive example of how a project should be developed. You have hundreds of developers working on the kernel. A developer has an idea that forces the kernel to branch. The developer’s idea may not be that good after all so the branch ends up dead. On the other hand, the idea may be outstanding so the code is worked into the live kernel. That’s Darwin-like development at its best.
Aren’t you glad it doesn’t work this way: A developer has an idea, so he gets thirty of the kernel developers to join him in creating a permanent fork. Now you have two simultaneous kernel development projects coding in parallel and creating the same wheels, solving many of the same problems, and burning time. Thankfully, Kernel development doesn’t work that way. You have one benevolent dictator (Linus), and he oversees the development as a whole.
Ok, that brings us to Gnome and KDE, the two most popular open source desktops. These two projects are similar in nature, they both have similar goals, and they are both open source. They are both reinventing the same wheels, coding in parallel, solving the same issues, dealing with the same constraints, and delivering two distinct code bases. Why? Why haven’t they joined forces? I realize that developers from both projects communicate on certain things, but that is not enough. It is completely ridiculous to have two OPEN SOURCE projects coding in parallel at this level.
Some may pose the following arguments:
It’s safe to have two distinct projects for the desktop for patent reasons. If one project gets sued, the other will still be there.
When the patent hammer finally falls, it’s going to affect everyone. We need patent reforms. Don’t look at simultaneous projects as a plus in the patent area. Otherwise, we may need to inform Linus to split the kernel and Joe Schmoe will now be the benevolent dictator for Kernel-B for patent reasons. Yeah Linus, it will slow development but we’ll be safer on the patent front. (No you won’t.) Patent reform is the answer and it has to happen or we are all going to get borked.
Free Speech. They can do what they want to do.
You’re right. However you’ll be wasting time working on the same wheel Sally built across the pond. Oh yeah, but you’ll be able to show your face at the convention as the project leader for FalconX, yet another cd burning software for Linux. Honestly, I don’t really care if another cd burning package or newsreader project starts up. What concerns me are large significant ongoing project like KDE and Gnome.
Look at X.Org. They forked.
Yeah they did and that was a good thing. My whole argument is against project A and B being open source (without restrictions) and coding in parallel. X.org forked because there were restrictions placed on that other project (the one we don’t like to mention).
In my humble opinion, the desktop code base should be under the same treatment as the Linux kernel. There should be only one. There can be different flavors for performance or media specific, but there should be only one code base. This dual code base / parallel development nonsense has got to stop. You are only wasting time and creating a bloated desktop. The desktop developers (KDE, Gnome, Fluxbox, IceWM, etc) need to join forces under one benevolent leader or group. Drop the Egos and start working under the same umbrella.
In closing, I just want everyone to understand that this article wasn’t meant to get anyone upset. I just wanted to add my vote for the one desktop idea. After all, this isn’t anything new.
|
|