14 January, 2008

Sweet Follows Sour

I think it's really necessary to respond to some criticism seen on the reactions to the latest OSnews article.

I won't go into the article itself, imho it's rather negative, but hey. From an user's perspective, it makes sense to only review 3 or 4 parts of KDE 4 and complain about them, and ignore all the other brilliant pieces of work in there, right?

On to the responses, I found this reaction by dagw to be the most typical.

Let me quote the most important part:

The KDE team obviously shot themselves in the foot with calling it 4.0. I'm sure they had a reason for not calling it Beta or Developer release, but whatever the reason it was a bad one. Especially since every complaint is met with a response of "well what did you expect, it's a Beta software". No matter which way I look at it, the KDE team screwed up this release, and it would probably be in their best interest to admit it and just flat out say, we jumped the gun.

Well. That's painful. So, is he right? Did we make the wrong decision? Let's look at it from a broader perspective for a while. Let's see it in the Grand Scheme of Things to Come.

The big question that should come up is: couldn't we have released what will now be KDE 4.1 as KDE 4.0?

No. Seriously, no. If you think that, I see why you would agree with what dagw said. But it's wrong, for many reasons.

One of those reasons can be summarized as 'community dynamics'. You need to get people into release mode, and we wouldn't have been at KDE 4.0.0 stage right now if we wouldn't have committed to releasing it. Many users will start using KDE 4.0.0 and start reporting bugs, so many corner issues the developers themselves would've NEVER found will be fixed in 4.1 - those would have been there if 4.1 would be our first release. Sure, the current 4.0 won't be picked up by as many ppl as the '4.1-4.0' would have been - but by more than if we would have released another alpha or beta.

A second issue is packaging. KDE 4.0 is relatively hard to package, not due to it being that difficult - packaging it is far easier and faster than KDE 3.x. But it is new, and new always needs adjusting to. CMake, SVN, many new dependencies, many new architectural pieces, changes in the internal structure of the major KDE packages like KDElibs and KDEbase. It'll take a while to get used to those. We probably can't expect distro's to put out KDE 3.5.x quality packages for at least a few months. By the time 4.1 is released, though, they will have some experience, and get it done rather quickly. (if you don't believe me - just check out a few different KDE 4.0 distributions... They differ wildly in terms of stability, features, everything...)

Third, we didn't want to hurt KDE-edu, KDE-graphics, KDE-games and the other parts of KDE that were ready for a release up to a year ago - for an explanation, read my previous blog - Why KDE 4.0 now.

Fourth - underlying issues. Many of the problems in KDE 4.0 can and will be fixed by the KDE hackers (many of them hopefully in KDE 4.0.1 already). But many can't. By pushing the boundaries of technology, you'll be pushed back. We've exposed issues in drivers, architectural issues in X, windowmanagement, Qt, all over the place (if you want to read up about it, aaron seigo has some excellent blogs about it). These simply would've appeared in '4.1-4.0', and would've bit users just as hard as they're biting now.

What I'm trying to say is of course the typical stuff: it is easy to say a decision is wrong if you're standing on the sideline. But the issue is often much more complicated than you think - and indeed, it is. Please, take that into account when you criticize the decision we (as in the KDE community) made. My bold statement is: No good would have come of delaying the release any longer. We would just have delayed progression. Would you want that?

(have a nice day and see you on the other side of the ocean)