KDE 4.0 and release labels

Here’s what Aaron Seigo is saying about KDE 4.0 (source: http://aseigo.blogspot.com/2008/01/talking-bluntly.html):

———–
Ah, the “until it’s ready” idea. Some would say 3.5 isn’t ready; software never really is from a perfectionist’s standpoint. It’s so complex and full of ever springing promise that one can never reach that point of perfection; usually we are just happy with “better than good enough” and call it a day at that point.KDE 4.0 isn’t yet “better than good enough”; so why don’t we just release more betas? When one perpetually releases alphas/betas a few things happen: people don’t test it aggressively enough, third party developers don’t get involved, core developers continue doing blue sky development rather than focusing on release qualities. Between the rc’s and the tagging of 4.0.0 the number of reports from testing skyrocketed. This is great, and shows that when I assert “people don’t test when it’s alpha or even beta” I’m absolutely correct. This is not about tricking people either: people seem to forget that the open source method is based on participation not consumption. So testers look for a cue to start testing; that is their form of participation. “alpha” and even “beta” is often not enough of a cue, especially today when so many of our testing users are not nearly as technically skilled with the compiler, debuggers, etc as the typical Free software user was 10 years ago.

The KDE4 libraries are ready for application development, as testified to by the quality KDE4 apps that exist today. However, third party application developers tend to be a conservative lot, and rightly so. They wait for user base migration, they wait for stability in the APIs, etc. They want to know when to start working with the new awesomeness, and for most of them that isn’t “alpha” or “beta”. The libraries crossed that stage in quality and reliability many months ago and so it is only fair to mark them as such.

Finally, the amazing maturation at all levels of KDE 4.0 software that has happened since the last beta shows just how focusing developers off of blue sky development and onto release quality code is important. The delta speaks for itself.
————–

Of course, the reason why I mention this here is because I strongly disagree with this. I refrained myself from commenting on the labels used by the KDE 4.0 releases by the past but after reading this I would like to intervene. BETAs are tested by the community, I’ve released enough BETAs to appreciate the feedback and the level of testing that was going on. Recently we’ve even released an ALPHA, and that also did get tested very well.

The matter here is to call a cat a cat. If something is labelled as being STABLE then I want to be able to use it as my main desktop, I want to be able to recommend it to people, I want to be able to trust it. If it’s full of bugs, and even worse… if it’s not finished (because that’s what we’ve seen here with the so called Realease Candidates) then there should be some indications of this. I could use the same argument and label our Fluxbox Edition “KDE Edition” so that people try it more than they do now. This is ridiculous. It’s ok to release technological previews, but they should be called previews… and we have a name for this –> “ALPHA”. It’s ok to release non-tested software once you code-freeze and again we have a name for this –> “BETA”. An “RC” should be almost the same as going STABLE, the code should have been frozen months ago, all features implemented, fully tested and with absolutely no known bugs. Calling an ALPHA release an “RC” so that people download it more and perform more testing on it is simply ridiculous. It deserves to be mentioned and criticized. This hurts credibility and it’s a pity for one if not the most popular among our Linux desktops.

I couldn’t understand how RC2 wasn’t labeled “ALPHA”, and I find the justification even worse. I’m being blunt as well and I’m sorry if I’m offending anyone. KDE is probably the most popular desktop within the Linux community, it’s got a great line of 3.x releases and from what I can see 4.x looks extremely promising, why would the devs compromise themselves and hurt their credibility on this? Are they under some kind of pressure? I can’t wait to see KDE 4.0 become stable but you’ve scared me so much with these “RC” alphas I’m wondering if the name for KDE 4.0 stable isn’t simply going to be “4.1”.

What do people think? Am I over-reacting on this? There was a discussion on the Linux Action Show and a KDE dev was justifying the labels by saying that the libs themselves were of RC quality. We’ve been postponing our KDE Edition so much and for bugs that were so small people would hardly notice, but hey.. there’s no lobbying or angry bosses telling us we need to release yesterday, so why not just release “when it’s ready?”. What’s so wrong with that?

Apologies to Aaron and the KDE Team if that is seen as an attack. You’re in charge of a beautiful project and if I wasn’t passionate about this I wouldn’t start this discussion.

Clem

9 comments

  1. I’ll comment myself on this actually. I think one of the main problems as far as I can see is that the KDE team sees itself as a framework, a component of the system which applications build on, while from a user or even integration point of view I see it as a desktop. This is probably why an RC makes sense if you consider your libs stable from a framework point of view but I see an ALPHA here really until major KDE applications and the software that makes KDE such a great desktop isn’t ready to run on it. The bottom line is: the user can’t appreciate KDE 4.0 yet, not as much as he can KDE 3.5. In that respect we can’t call it stable.

    Clem

  2. I believe that the way KDE4 release was supposed to go was that 4.0 was supposed to be like: “Here’s all the cool stuff we can do with QT4, it’s ready enough to use as a desktop, but we’re still using some KDE3/QT3 stuff.” and 4.1 was supposed to be: “OK, EVERYTHING is now running on the new backends and KDE4 is 100% feature complete.” Also, a lot of the QT4 ports of apps in 4.0 aren’t porting all the calls to the new QT4 stuff, but just enough to keep the unified look. All apps were supposed to have a true QT4 port by 4.1. Although, you can sort of blame KDE for this. I’ve been around in linux for the KDE3 and the KDE2 releases (am i really that old?) and they worked the same way. The 3.0 release had most stuff semi-ported to the new API’s, the 3.1 release had a lot more polish and bugfixes. My opinion on the whole KDE4 thing is that it will be quite usable at the 4.0 release, and i’m going to try switching all the QT3 apps i use on my GNOME desktop (k3b, Skype and Kopete) to their QT4 counterparts when 4.0 comes out to not have to call both QT3 and QT4 libraries, but you should be expecting a not-very-polished release and a few bugs.

  3. I agree on labeling an alpha state software an ALPHA and beta as BETA and to rename it Stable just because then more users test it and fix bugs is not appropriate. So I agree with clem. As Aaron said “especially today when so many of our testing users are not nearly as technically skilled with the compiler, debuggers, etc as the typical Free software user was 10 years ago.”: I think if those users see a a kde 4 release labeled stable, they will trust that label and switch to KDE 4 asap, which will cause them a lot of trouble and problems. I count myself as such an unskilled user and if I had not read about KDE 4 “final” being so buggy i would have used it immediatley after its release. and i am certain that it would have caused me trouble, because I often have to ask more skilled users how to fix certain bugs or do workarounds for bugs.

    So please label it appropriately for I want software labeled stable to be stable and I don’t want to fix a lot of bugs when i use a software which is labeled stable. I just want it to work. I am not ready to do the whole linux-experienced user stuff (bugfixing, codeing on my own, compileing a lot of stuff and so on).

    I hope I could make my opinion clear =)

    I’ll wait for 4.1

  4. The problem is their stated reasoning for the naming is that really no one bothers to use the product in large numbers until its released officially, and if they kept putting out alphas and betas for another year they would get a fraction of the feedback they will get by calling it 4.0.

    On one hand I can see their logic, but at the same time it’s almost as if they are tricking people into testing it for them.

    I personally dont understand why they didnt call it 4.01, that way its like the 0.01 release but clearly labled that its part of the KDE4 thing rather than KDE 3.5.

  5. I don’t use libs, I use KDE. So it doesn’t matter what status the libs are at, if I can’t use the final stable desktop, it’s worthless to me, as an ignorant user.

  6. I am in agreement with Clem.

    The word ‘stable’ has been long understood as something is complete and, for all practical purpose, bug-free. It means the product has undergone heavy-duty testing and debugging to eliminate bugs and glitches. It means all features in the product work.

    Yes, no software is ever completely bug-free but it would be very difficult for normal users to encounter bugs during the course of usage.

    I did take the KDE 4.0 for a spin in the form of LiveCD. Frankly, it should be CLEARLY labeled as alpha or beta release in the title so no one ever misunderstands it for what it is.

  7. I agree with the JD. in Early days there was only Alpha & Beta and Final Release. Now there are four stages.
    Alpha – means for developer only.
    Beta – ok for End users
    Release Candidate – Final touch release and Beta bugs are closed. There may be few minor bugs. May be some known bug fixing in progress for final release.
    Release – no known bugs
    Whoever brought the Release Candidate ( I thing the culprit is m$) now introduced one more stage.
    I saw the KDE4 info, not as descriptive as Gnome would do. I hope there is no performance issues or bloating issues. Congrudulate the KDE team. For heaven sake ask all KDE application developers remove the K prefix for each and every application. it is annoying. I Kannot Kamment Kmore Kon Kthat.

  8. Looks like general concensus is that it’s not ready for prime time. Catze remarked about the many “less skilled users” that are now looking at and coming to linux. It makes it harder for the linux community as a whole to grow and linux to be truly appreciated by those new users if they end up doing a 180′ and going back to thier troublesome Windoze.

  9. The hard truth is that the “clean break” mindset was kept waay too long in the KDE community. Frameworks like Plasma and Phonon should have been frozen well in advance, so that actual apps could properly code against them… my feeling is that this didn’t happen. Half-words here and there about Plasma being late would confirm that (and look at it, “unpolished” is not the word).
    Oh well, we’ll wait for 4.1.

Comments are closed.