Why distributions shouldn’t ship development versions

At Desktop Summit Lubos asked me what openSUSE has to do that I will switch back to SUSE. I replied that I am satisfied with Kubuntu and so I don’t see any need to switch the distribution. So what has changed since July?

Kubuntu will ship the Plasma Netbook Shell in their next release. Of course the Netbook Shell is under heavy development and will be shipped in KDE 4.4 for the first time. Given the current release plan we can consider the current state as pre-alpha. But that seems not to be any problem for Kubuntu – they even are able to support it for 18 months as it is in the main repository. They are even able to ship a recent SVN revison: the current package is svn rev 1016996. So quite decent and no problem at all, isn’t it? Well no, KDE 4.3 got branched way before and since then trunk is KDE 4.4 and code in trunk may depend on trunk. But if there were a dependency it would break at compile time, wouldn’t it?

But couldn’t there be runtime dependencies? No way, that’s totally impossible. It’s a plasma netbook shell, not a KDE workspace netbook shell! So it’s totally impossible that KWin added changes to improve the netbook shell. So we have in the netbook shell a commit with this commit message:

Activate present windows by setting a property instead of faking keys. Requires kwin svn rev 988110

Of course a distribution checks all the svn log entries and knows about such issues. So they will probably use the old code, which was just a placeholder to be replaced as soon as trunk becomes 4.4 as happened. So I downloaded the source package and woops it contains my commit. Hmm so there is still the possibility that KWin was patched. That would be really bad as present windows received lots of changes at the beginning of 4.4 release cycle. Which is great but shouldn’t be shipped in a distribution before it has been tested probably. So I thought, let’s check the patches in bazaar. Well there is no such patch to KWin. So the applet is basically broken in the Kubuntu edition. Kubuntu will not only ship and advertise a development snapshot, they will be shipping broken software. (which btw is not the first time that Kubuntu ships development snapshot unsuited for usage – just remember the NetworkManager Plasmoid).

Update: Kubuntu assured that the Plasma Netbook Shell will only be published as a tech preview and that it will communicated as that. This makes of course the points mentioned above invalid.

While browsing the patches in bazaar I found a different patch which really upset me. It is a patch which was discussed on kcd last week and was rejected by all workspace developers who replied to that patch. So a patch which is not good enough for KDE is good enough for Kubuntu. I though Kubuntu wants to be the best KDE distribution. Sorry, that isn’t. I am disappointed and I think it is a bad sign if decisions by the upstream project are ignored (the change to package kdebase-workspace was commit after the discussion started on kcd). I objected to the patch for technical reasons and there was agreement to improve the notification instead of stepping back to present nag dialogs.

For quite some time I am disappointed by the developments of Kubuntu. With 4.3 packages the translations broke again (as every half year) and that is just the worst which could happen to user experience. Because of that problem I stopped to recommend Kubuntu to my friends. But now I see a development in Karmic which I do not want to use myself. There is a broken development snapshot of the netbook shell, an alpha release of k3b is shipped, which is not even shipped by Fedora, because it “isn’t quite ready, and not recommended for use by upstream” and Karmic will ship an additional notification system, which doesn’t support actions, to “test” how KDE users will get along with it. I don’t have any problems with Canonical deciding to develop and ship a different notification system but as soon as it degrades the KDE workspace it has to stop. By shipping that patch there is a degeneration of the user experience as a dialog is shown instead of a notification. If you doubt that the change was done just because of the Ayatana notifications please read this mail. I do not want to know how many additional changes there are breaking user experience.

Update: Scott stated in the comment section that the patch is controversial in the Kubuntu community and it has not yet been decided if the patch will be shipped.

So to me this is the end. It’s time to part from Kubuntu after four years of usage as I cannot say any more that it is a good KDE distribution and satisfies my needs. I won’t update to Karmic and instead will install a different distribution. I do not yet know which one I will choose, maybe I return to openSUSE, maybe I will use Debian testing/unstable or switch to Gentoo. Probably Debian will win as I do not want to learn a different packaging system.

52 Replies to “Why distributions shouldn’t ship development versions”

  1. To be fair, the Kubuntu team has agreed to clearly mark plasma-netbook as a technology preview. IMO, it also shouldn’t be advertised at all until a proper release (4.4, not too far in the future).

    Otherwise I agree with your thoughts.

  2. I’m pretty happy with Debian (and probably I would be too with OpenSUSE).

    Apart from its great packaging system, Debian ships KDE 4.3.1 with as little change as possible.
    On the other hand, if I’m not wrong, OpenSUSE customizes it trying to make it friendlier, but not as much as Kubuntu.

  3. “learning a different packaging system”? What’s so huge to learn? Install, remove, upgrade are pretty much the only commands you’ll need most of the time. Occasionally also add repo, remove repo and modify repo. That’s 6 commands if you use CLI — hardly rocket science.

    Not sure about Fedora etc., but at least SUSE’s zypper is compatible with aptitude’s syntax. So it’s
    sudo zypper dist-upgrade
    instead of
    sudo aptitude dist-upgrade

    Pretty much every RPM-based distro also allows to use apt. The apt tools are not installed on openSUSE by default, but they are in the main repo, so installing them is just a few mouse clicks / a single zypper command away.

    Users of GUI front-ends can also use KPackageKit, even though KPackageKit is one of those unfinished pieces of software Kubuntu installs by default. I didn’t find the time yet to work with the KPackageKit author on a smoother GUI, so at least for now I prefer YaST over KPackageKit.

    I’m not saying that you should use SUSE, btw. Use whatever you want, but “learning a different packaging system” is IMHO not a valid reason to use a specific distro.

  4. Warning: it’s gonna be a rant this comment.

    You are totally right on netbook-shell, Kubuntu IMo is wrong.
    K3b is already a differnt situation and I think fedora should shut up when talking about shipping bleeding edge/alpha-beta software cause they always been quite radical and didn’t have any problem in shipping new products with fewer features than the old one for the sake of being bleeding edge (and give popularity to the new software which solved, in the long run, the problem better than the old software).

    But the real problem is with notifications and IMO KDE/Plasma have not:
    – the right to tell what distribution should do with them
    – the definitive usability answer on the topic.

    More in depth, what Aurelien says about PowerDevil is RIGHT. Every other mainstream OS out there (Windows, OSX) do the same cause suspending is a RADICAL action that deserves user FOCUS, so a modal dialog IS the best answer.
    And project Ayatana is an interesting approach which will need different iterations but in the long run will be an improvement over KDE 4.3/4.4 notifications.

  5. You could perhaps consider Arch?

    A friend of mine tried really hard to convince me that it was worth the hours it takes to install it.

    After nine months of usage I can tell you that he was right!

    Solid, simple, well documented and always up to date, uses vanilla packages, and thus doesn’t introduce stupid bugs into the software it packages.

    Almost only stable packages but you always find special packages for unstable releases you may be interested in.

  6. develop a package for a mainstream distro is not like upgrading an user desktop… a package managemente system is quite complex to use when you have to build a package for an os. [+1 for debian sid]

  7. Wel said. 🙂 This kind of early patching has to stop, especially when it basically ignores the considerations upstream has put in the decision process.

  8. I completely agree with you Martin. I mentioned on another blog post that one of the reasons people are getting annoyed with Kubuntu is their significant lack of “polish”. The main reason for this is their use of “pre-release” software, simply because they feel it is good enough.

    It wasn’t the case with the Network Manager Plasmoid. Quite simply, it was a disaster. It couldn’t even connect to hidden wireless networks. Imagine a proper distro, shipping a version of software that wouldn’t connect to 90% of University networks and Corporate networks. No wonder people were saying Kubuntu and KDE was taking a backseat to Ubuntu and Gnome.

    With the current Karmic release, K3B and Kaffeine are included even though they are pre-release. Kaffeine works, but is still pretty buggy. I haven’t quite tried K3B yet. However, I won’t be switching distros anytime soon. I like the way Kubuntu works, and I’m willing to live with its pitfalls as long as I can readily install an alternative. However, I usually recommend Suse or Ubuntu to my friends now, especially if they’re new to Linux. Kubuntu would be a nightmare for those folks.

  9. @Vide: fair enough, but I think if Canonical has some knowledge they should start a process of discussion with the community and not just change the behaviour.

    About the dialog in case of suspend. I think that the examples MacOS and Windows are not valid, as if they have mistakes we do not have to copy them. I said the reasons why dialogs are the wrong way to go in the mailing list thread and up to now I have not seen any argument which would show that my points are not valid. And I disagree that suspend is an action which requires a nag screen. There is no problem at all with going to suspend espacialy no data loss.

  10. there’s a lot on my mind after reading your post.. i don’t want to repeat your words so i just say i agree with you.. i’m not using kubuntu for a long time (it will be 1 year with 9.10 release since i switched from windows) but i’m not happy that with every realease i have some beta/alpha software in main repository..

    i was thinking on switching to either rolling release distro like Archlinux or extreme stability like Debian.. but the main obstacles are that
    i don’t want to set everything by myself (package selection and hw detection)..
    i don’t want to search again for packages/repos for all my favorite plasmoids and progs..
    and i want to keep current speed of package manager and servers..

    so it would be nice if you can keep us posted how is your search for holy grail (distribution) going.. good luck btw 😉

  11. sure I don’t think I have any problems with learning a new package management system. But I don’t think I should spend time on it as I currently have more important TODOs 🙁

  12. Indeed, the reckless patching policy of *buntu is one of a few reasons keeping me away from *buntu.

    When I got my netbook (which came with an install of SEL), I tried OpenSuse and Kubuntu and found them both equaly guilty of what you describe.

    I switched to Arch, and although I am not fully satisfied with it, it does a good enough job that I haven’t ripped it off in 9 months of usage. On anything more beefy than a netbook, I use Gentoo and am really happy with it.

  13. Go with OpenSUSE, I rather like it. The build service makes finding software you need easy. The administration tools come in handy. etc.

    With Debian you’d basically have to use unstable to get software that new enough to use, and then you have all of the disadvantages of a rolling release distro. OpenSUSE releases often enough (every 6-8 months) and you can use OBS to get the latest stuff if there’s some specific software that you want.

  14. I don’t see your reasoning. Kubuntu does occasionally produce a good release. It’s called LTS. I’m still using Kubuntu 8.04.3 LTS. I plan to try 10.04 LTS. It’s just that what others call beta, Kubuntu releases. It’s not a very bright strategy, it annoys lots of people who don’t know any better, but it’s an easy strategy to work around.

  15. @Roland: I’m sorry to disappoint you, but Kubuntu 8.04 is NOT an LTS release. It only has 18 month support as any other Kubuntu release except Dapper Drake. So you should consider updating next month as KDE will not be supported any more. Nevertheless a two year old distribution is too old for development

  16. I have been using KDE with Debian unstable for years, and I really like it, easy to install, KDE just works, and it is quite vanilla (very little changes done by Debian/KDE team).

    They also did a very good decision on only moving KDE 4 to unstable after 4.2.

  17. As sebas said, our KDE 4.3 + Netbook release will be described as a technology preview. What it does, it does mostly well, but it is very incomplete, although even in it’s incomplete state we’ve gotten feedback that people like it and even prefer it over Ubuntu Netbook Remix. So while much of your post is valid, I think the netbook specific comments are out of context.

    We are not doing the Netbook tech preview in isolation. We have worked closely with the upstream developers and have their support (as long as we correctly characterize it’s state, as we intend to do). Specific to present windows, did you try it? It works. It is not pretty, but the approach we are using is the exact one upstream started with before they integrated the new features from KDE 4.4 kwin.

    The powerdevil dialogue patch is controversial within the Kubuntu development community as well and is, IMO, unlikely to still be there at release time.

  18. @ScottK: first of all: thanks for replying. I must admit that I did not know that you want to make it a “tech preview” only. My information was based on your release announcement for your alpha releases where it is one of the top items and no hint at all that it will be a tech preview. To me it sounds like you want to advertise a new editon. Of course it’s great that there are new testers but personally I think it should be the upstream project to decide when to ship a new version.

    I have not yet tested the Kubuntu version as I don’t get compositing running in the virtual machine so the present windows part wouldn’t work anyway (we have to fix that upstream to have a good replacement).

    And I kind of don’t understand how controversial patches can enter a beta release 😉

  19. @Martin: Since all of the Alpha releases are not intended for general use, I didn’t think it made sense to say that the netbook releases were particularly also not for general use. I’ve joined the KDE marketing list and have it on my TODO to discuss with them the right way to announce this. My experience (shared by most of our testers) is that it does what it does well and is reliable, it is, however missing a lot of features that will be in 4.4.

    On the powerdevil one, I’m not sure either. I thought we had agreed to follow upstream, other devs thought we decided different, so we have a communication problem we are trying to sort out.

  20. @ScottK: fair enough, unfortunately many news articles get their information from such sides as well and publish that Kubuntu Karmic will ship a netbook edition, so the users reading the news post will not know that it isn’t meant for public consumtion and will perhaps not look on your release announcment for the final. So yes I agree the communication could probably be improved 🙂

  21. I’m using http://chakra-project.org/, which is KDEmod for arch linux. It’s wonderful. Fast, customizable, and the packages strive to be 100% upstream source. This wouldn’t happen in arch. In addition, they have an unstable branch which simply follows the upstream development. I really wonder why more distros don’t have this same model. Oh.. and everytime I update I get the lastest software – no waiting for a distro release!

  22. no more kubuntu for me, i tried a couple of time
    too much bug who not happen on other distribution like mandriva, opensuse…

    no tool to manage the distribution like mandriva, opensuse

    and no polish

  23. Martin,

    The lack of polish and stability was one of the main reasons I switched from Kubuntu (installed Gutsy Gibbon and then Hardy Heron) to OpenSUSE 11.

    I used OpenSUSE until 11.1 when I switched to ArchLinux, mainly due to what appeared to be a degradation of performance and a desire to use ext4, which was released in the new kernel a month after the OpenSUSE release.

    In my view, OpenSUSE is the KDE Ubuntu, a stable and polished distribution, which how I would imagine Gnome would appear within Ubuntu.

    Since I wanted to use the latest kernel (at the time) I investigated rolling distributions and settled on ArchLinux. Yes, it does require a few hours to set up initially but I have found it to be very stable and one of the best performing distributions I have tried.

    The documentation in the Wiki is accurate and combined with their forums provide a wealth of assistance in setting up the distribution.

    KDEMod, which is a set of customised KDE packages for ArchLinux, adds additional polish and includes a vast array of KDE packages. Patches are kept to a minimum, preventing quirks. Alternatively the standard ArchLinux KDE packages are also available.

    Do consider ArchLinux as it is worth the time it takes in the initial setup.

    Alex

  24. @Nick: I use KDEmod also, and it’s not quite 100% upstream source. There are some 30 or so patches applied on my install (patches they apply can be found in /usr/share/kdemod/patches).

    Arch does also sometimes prematurely ship software, e.g. K3b.

    That said, I love my Arch/KDEmod install on my laptop. I have Kubuntu installed on my desktop, and it does fine for me there. There are a few things that annoy me (like the including QtCurve for GTK2 apps, but not including the KDE3 QtCurve for, e.g. KMyMoney), but I haven’t been bothered enough to take the time to install another distro on it.

  25. I also recommend Gentoo for both KDE developers and users. We ship various versions (4.2.x, 4.3.x, 4.4 snapshots and 4.4 trunk packages), so everyone can pick what’s best for them. Our trunk packages allow for building KDE from svn trunk, even using your local checkout or your KDE SVN credentials, and still keep them under package manager control.

    We don’t generally patch upstream sources. Also, we support installing each KDE package separately rather than forcing you to install the monolithic modules, so you can choose exactly which parts of KDE you have on your system.

    Feel free to head over to #gentoo-kde if you want to know more 🙂

  26. yeap.. I know, I switched also after 4 years of Kubuntu… With every release it was’nt getting better as hoped and wished.. As a big KDE fan there was only 2 choices for me.. Chakra or openSUSE.. I choosed openSUSE because I need it reliable, I dont regret it, zypper is as easy as apt, like zypper install app …
    openSUSE 11.2 will be a great KDE distro..

  27. Myself I switched to Kubuntu from opensuse after they released 10.1 with no way to update packages at all without lots of manual patching and stuff that was far beyond me in 2006 and the basic attitude of the developers seemed to me to be, “Well, if you want it to work, you should be using SLED.”

    So if we want to throw stones, there are plenty to go around.

  28. I need to comment about K3b, because I forgot about it in my first one:

    K3b for KDE 4 is stable. I suggest all distributors should just follow Mandriva when it comes to K3b, because its main author is employed by Mandriva and even though he mostly does Nepomuk these days, Mandriva makes sure that a reasonably well working K3b version makes it into a distro release.
    Mandriva made a silent 1.60 release of K3b which was no alpha release at all. The About window also displays no alpha tag for 1.66 which is the current version in the 3rd party Packman repo for SUSE.
    The worst thing about K3b is its incomplete translation, but Kubuntu users are used to borked translations anyway …. 😉

  29. Markus,

    Perhaps you should check again. 1.60 was alpha 1 from K3B, NOT mandriva. 1.66 is alpha2, again NOT from mandriva. It’s directly on their homepage:

    http://k3b.plainblack.com/

    You can not blame kubuntu for not having a decent version of k3b, because the k3b developers haven’t release one. Every distro faces the same dilemma, and has the same source code available to them.

  30. @ jscurtu: as KDE 4 Fan there is also Pardus 2009 to consider, really polished!

    @ Martin: Thanks for the insight, leaving Kubuntu was not easy for me, too – as it kind of grew to my heart, but I didn’t regret it. There is unfortunately no way I could recommend it to friends right now. This is pretty sad, as Ubuntu is a very known “Brand”. A polished Ubuntu-KDE would help KDE a lot. But right now, it rather has adverse effects on KDE.

  31. K3B may not be considered alpha any more, but I at least wouldn’t consider it stable just yet. Or maybe it’s just my system…

    The thing is, as soon as I enter a directory from within K3B to select files to burn I get the busy-pointer and a progress-bar that stalls at 100% (how it can stall at that level is anyone’s guess…). I can’t quit it properly either so the only way out is the ctrl-alt-esc route. Needless to say, I consequently hasn’t been able to even “burn” something into a iso-image.

    I get the same symptom in both Kubuntu and in openSUSE so it’s not distro-specific.

  32. Martin, you should really try Arch, I used to be a distro junkie, but I’ve stuck with Arch for 3 years!

    I use vanilla kde packages, but I’ve heard good things about kdemod too. In addition arch bundles all headers along, and common development packages are already installed. Its fast, configurable and pacman is the absolute best.

  33. >>>Myself I switched to Kubuntu from opensuse after they released 10.1

    Well my last openSUSE or better SuSE Linux Professional was the 9.3, with the 10.0 it sucked, thats when I also switched to (K)Ubuntu but now with the openSUSE 11.2 comming, you can tell that they are listinging to the community and their users, it will be a kicking release…

  34. Just to clarify, openSUSE is fully dedicated to the KDE mission and has a stress on always being usable (TM).

    While APT was typically quite nice, the new upcoming zypp stack (see opensuse.org/ZYPP) is actually addressing many of the shortcomings of package management stacks. It makes smart decisions (using boolean satisfiability), downloads and installs quicker (because of LZMA compression), and is actually improving in every release (parallel actions for install / download are being implemented). Colouring was also just added to the zypper command line. The syntax is very simple, anyhow.

    With openSUSE 11.2, openSUSE is also switching back to KDE as default in response to the community’s requests. openSUSE also employs several KDE developers to work on openSUSE full-time. Some exciting things are planned in the new release including YaST being fully ported to Qt4 (as the installer was last time).

  35. Hmpf,

    it seems that the Kubuntu community is going to loose one of its most important members (at least regarding the german ubuntuusers forum).

    Well, it also seems that OpenSUSE could be a nice alternative (perhaps also for me, after finishing my stressfull diploma next month).

    … good luck at your way, martin!

  36. Currently Arch is IMO the best KDE distro. Much lighter and simpler than Kubuntu. Kubuntu’s ideal, like Ubuntu’s ideal is to make the best distro (or OS) for non tech oriented people, which is fine. But that comes with lots of compromises that make the OS feel heavier and more complex.

    It is my opinion that distributions should provide vanilla desktops with just some fine tuning to make them friendlier. The kind of integration Ubuntu does is disgusting, it’s approaching what Vista does.

  37. Hey Martin,

    please let us now, which distribution you finally chose. I tried so many of them (Sabayon, Gentoo, Arch, openSUSE, Kubuntu) but finally, i always switched back to Kubuntu, because something did not fit my requirements or disapptointed me. I tried to like openSUSE, but YaST is a creep. Gentoo is nice if have the time to keep it up to date, which i have not. Sabayon is extremely cool and has a very friendly and active community, but is sometimes extremely instable and you have to fix a lot yourself. Arch is nice, but finding firmware and drivers for some of my hardware made me search and compile for hours.

    I am curious what your experiences are…

  38. FYI, the powerdevil dialog change got reverted when we uploaded KDE 4.3.2 for Karmic.

    Also the notification system stuff is off by default and entirely optional.

    The translations are much better this cycle. There are currently some problems because they ran out of disk space during the last export, but that should be resolved shortly.

    k3b has been pretty heavily tested and seems to be working well.

  39. @ScottK: thanks to let me know.

    the powerdevil dialog change got reverted when we uploaded KDE 4.3.2 for Karmic

    Good decisions. I only pity those users running the new notifications 😉

    Also the notification system stuff is off by default and entirely optional

    Yeah I know (and I think I never wrote something else). What I don’t like is that kdebase got heavily patched to include an optional different system to *test* it on the users. I’d never ship code in a KDE release to test something on the users.

    The translations are much better this cycle. There are currently some problems because they ran out of disk space during the last export, but that should be resolved shortly.

    Does much better mean KDE quality 😉 I heard about the current problem and there were already again many upset users in the German ubuntuusers Forum. It’s like nobody expects that it would be different this time 🙁

    k3b has been pretty heavily tested and seems to be working well.

    Experienced users told me that it failed for them. So I’m personally not convinced here 😉

  40. k3b is in working state (burning and creating images works for me, for ripping i am using audex, i will test k3b to that extent later). But dare i say it: It’s not pretty. There are some quirks and annoying things that should not be there in a productive System (First of all that Progressbar in the Filepicker that gets stuck at 100%). So maybe that Energy that went into patching the new Notification-system that few will use into KDE should have been used to help Sebastian Trueg to improve k3b. But that is just my 2 cents…

Comments are closed.