Monday, May 24, 2004

The Long-Term Prospects for KDE 

This is basically a response to a comment Macneil left for me in an earlier post.

Basically, I'm also of the opinion that KDE's days are numbered, for a variety of reasons. His point about C++ is absolutely valid. C++ is a language that doesn't seem to get a lot of buy-in from unix hackers, and since open source software is a sort of eco-system, this makes it harder for others to use KDE's libraries. This is compounded by KDE's highly integrated nature, which makes it harder to get just a small piece of their code to work in isolation. Since this game is defined by the amount of code written for your platform, these barriers are problematic.

Another problem I would point to is the difference between how KDE is run and how Gnome is run. Gnome has a formal management structure (the Gnome Foundation), with elected decision-makers running the show. KDE appears to have no such formal structure, and I imagine this makes it much harder for them to get difficult decisions made. Another benefit of the Gnome Foundation is that companies wanting to work with Gnome have someone to talk to that has some credibility. (Amusing incidents in Gnome Foundation history are when Miguel de Icaza, the founder of Gnome, failed to nominate himself for a seat on the board by the deadline, and asked for an exception (denied); also, Richard M. Stallman, the founder of GNU (the G in Gnome), has been repeatedly and overwhelmingly rejected by the voters).

Also, Gnome has better release management, as far as I can tell. I don't know if they pioneered it, but Gnome has time-based releases. That is, instead of targeting features for each release, they target a date for each release and ship with whatever they have. Given how amazingly well this works for Gnome, it's amazing to me that more projects don't do this (kernel! kernel!). I think this could be the biggest insight into how to make free software management work.

Why is it so great? Just look at what goes wrong and causes the kernel itself to be chronically delayed every single time. Features creep in, and then take longer than expected to stabilize, causing further delays. And hey, while we're delayed due to feature A, can I just stick in this one tiny little feature B over here in this other part? Might as well. If you know there's always another release just 6 months away, you don't have to stress so hard about shoving things into the next release. Slipping one cycle isn't the end of the world. Also, everyone gets to keep working on relatively new code, instead of the situation that exists in the kernel where the latest version of the kernel is drastically different from the last stable release, requiring a mess of backports. Gnome has finally gotten this right, and they're disciplined and make this work.

In fact, now that I think about this, the way time-based releases work is totally consistent with Eliyahu Goldratt's insights in Critical Chain. (A great summary is Joel Spolsky's review). By making releases time-based, they have decoupled the release from the code. The code for any given thing is still done When It's Done. But the holdup caused by any one piece of code won't stop everything else that is done from shipping.

Gnome's foundation also provides much-needed leadership for Gnome. For better or for worse, people involved in Gnome know what the goal is: a free desktop system for the average user. To this end, Gnome has made difficult decisions and ripped out options left and right, instead opting for sensible defaults and reasonable configurability, because that is what a non-technical user needs. This creates some problems, in that the programmers are not really the same as the users, but that's hardly anything to fear. KDE, on the other hand, thinks its ridiculous amount of options is great, and is sticking with high configurability.

Another factor in Gnome's favor is that for whatever reason, it seems to have almost all the high quality applications. The real stars of free desktop software, like Gimp, Evolution, and Gnumeric are all built on the Gnome stack. I'm not really sure why this happened, but it is a factor. Furthermore, Gnome has chosen to associate itself with other heavy-weight projects that aren't built on the same software stack but are nonetheless highly important. Mozilla. OpenOffice. KDE seems to have a version of everything Gnome has, including a web browser and office software. Yet somehow, none of it is very good. It all feels brittle and featureless by comparison, but that's just me. This is kind of a weird thing to have when the other major thing about KDE is the ridiculous amount of configurability it offers. (You can configure the heck out of things so that your desktop is safe for your featureless apps).

There are two big distributions shipping KDE as the default, as far as I know: SuSE and Lindows. SuSE just got bought by Novell, which at the same time bought Ximian, a major Gnome company. It's not clear at this point that Novell is going to switch to KDE as the default on their distribution. But that's seriously schizophrenic behavior. Since the Ximian unit will continue to write Gnome software, and Novell seems to be writing software for Gnome as well, it's unclear how long this will last. Lindows, I'm not sure how much of an impact it has, but I like to think it's pretty small.

I'd say things have tipped in Gnome's favor.
What about Konkeror? Wasn't that browser solid enough that Apple picked it for Safari?

Anyway, I know making a desktop is hard... but shouldn't the teams have come up with something similar to Apple's new Finder by now?

BTW, here's another interesting topic: the old PowerMacs used to come with a graphing calculator program, and was starting to get loaded with tons of great software out of the box. Yet, basic apps like graphing caculators don't seem to be around in Windows (or the MacOS?) anymore. You would think by now the apps that come free would be really good... perhaps the third-parties that write competitor products complained?

The point I'm getting at: the WordPad that comes with windows should have a spell checker and various features, say, Word 98 had. My assumption is that maybe there are other factors at play. But none of those factors should apply to freesoftware: there's no reason a rocking graphing calculator can't be available in the Gnome start menu, easy to use, as well as dozens of other "almost as good as proprietary" apps.
Post a Comment

This page is powered by Blogger. Isn't yours?