OA - Ubuntu
A blog about Ubuntu, mobile GIS and archaeology

Divided we stand, united we fall

Mar 25, 2010 by Chris Puttick

 This is a thought that has been troubling me for some time, but the upcoming release of 10.04, the next long term support (LTS) version of Kubuntu (and the Kubuntu Gnome Edition ;) ) makes this post pretty timely. The LTS release is in effect the enterprise-class version, with a support window long enough to make its testing, installation and management feasible in a large scale desktop setup. An aside, but I differ as to where the need for long term support is strongest; while servers are individually more important, you can far more easily, cheaply, and effectively test and upgrade your server fleet than you can your desktops and laptops. Your desktop and laptop fleet (unless your organisation is both well-managed and very, very rich) will be far more complex to deal with, with many bits of hardware, and with individual needs dictating many combinations of software to test against.

But I'm not sure that 10.04 will be enterprise ready, at least not for most organisations of any size and not for any intending to purchase support from Canonical. Don't get me wrong, I'm sure that Kubuntu 10.04 will be a great piece of desktop software, just as 9.10 is. I'm using the latter to type this on my work laptop, run it on my work desktop and netbook and we have a number of non-technical users migrated or migrating to it. Kubuntu 10.04 will come with some great core software (although we could still do with Kivio being sorted out - anyone?), with a brilliant underlying architecture, a beautiful and highly (end-user) customisable interface and the capability of doing most any job an organisation or individual might need.

The issue is this: an organisation with a big end user fleet needs some stability for planning with; hence the LTS requirement, with five years in which to test, deploy and maintain, before entering the testing phase of the replacement desktop OS. But what they don't need is for the complete desktop eco-system to be locked-in to a point in time; uniform across the OS and apps. In fact that is the last thing they want - the testing cycle becomes long and intense with many factors to consider or potentially overlook and with many changes for people to need support with; where the desktop OS itself might well be good for 5 years or more, some or all of the applications and associated plugins are likely to benefit from updating both more frequently and in unrelated cycles.

Moreover, one of the (many :) ) advantages of adopting open source solutions should be that open source software updates are more often evolutionary than revolutionary; short testing cycles, quick and easy deployment, minimal training requirements. But the jump from one deployed LTS to the next will be 4 or so years worth of application releases; and some of the applications you would still have in use would be out of support from the original creator's perspective. Sure another advantage of open source is that the lack of support from the originators of the application is not a killer blow, but it does mean Kubuntu developers having to maintain software unnecessarily; I know I'd rather they worked on core improvements and new applications than spent time bug fixing end of life apps.

A further issue is this: right now, if I chose to deploy 10.04 and another organisation chose Windows 7, in 4 years time when we are all looking at our next desktop OS, they will be just looking at their OS and not their apps. Worse, if our only difference was in the choice of desktop, in 4 years time they will be using the latest and greatest versions of applications such as OpenOffice, Firefox, Inkscape and Krita, and we would be stuck on 4+ year old versions. Worse still from our perspective, this would mean we would be lagging in our support of open standards such as ODF, HTML et al, SVG, etc..

Before you start writing comments to the effect that it is possible to install the latest versions of applications mentioned (and others) by adding third party repositories, download third party debs and rpms, or compiling from source, I know, and occasionally I do just that. But then I am self-supporting. In the enterprise support is important; going out of the distribution means withdrawal of support, potentially not just for the updated application but for your entire desktop install. Just not acceptable in a large deployment.

So I have a solution to propose: a separation of the core OS and the mainstream userland applications. In the latter grouping I would put a relatively small number of apps like OpenOffice, the KDE desktop suite, GIMP, Inkscape, Scribus, Firefox, etc., and annually make available the latest version of those packages for all currently supported core OS releases. Anyone using a non-LTS would probably get one update of applications, LTS users would benefit from the choice of 3 or 4.

Maybe this service should only be made available to subscribers on the basis it mostly advantages enterprises, as individual users currently get the new applications by upgrading their entire desktop. Maybe it should be a service FoC; I guess the cost of achieving and maintaining this split should determine whether it is charged for. The related updater should have a simple per application tickbox (and conf file) acceptance of the use of new versions, to allow the enterprise IS management to easily control how and when new versions of applications are deployed.

This is just my solution to the problem identified. Others may have alternative solutions. Some may believe that this complete freeze is a good thing, or application updates should be in the LTS point releases. I'm pretty sure the complete freeze is a problem, and that it needs a supported solution that gives easy control over application update timings. The latter of course makes the former a choice while I feel the current approach restricts choice. Choice is the Linux advantage, isn't it?


Hmm. This sounds intriguing. An easier solution (or perhaps in addition to what you suggested) would be to provide a mechanism for paid PPA's. What I mean is allow people to create PPA's or PPA sets and only permit access to them by paying a small fee. Canonical/Ubuntu would get a certain percantage and the PPA maintainer would get a certain percentage. This would would allow anyone to put up a package of the latest and greatest and get paid for it (including the Upstream maintainers). It would foster an ecosystem of competition as well. The PPA's could be ranked by reliability, bleeding-edgeness, stability, etc (by votes from the users of the PPA). Thinks of all the upstreams, whether run by a corporation, small group of individuals, or large community, that wouldd be incentivized to provide the latest and greatest in a stable/usable way? It would be the "App Store" for Ubuntu.

Posted by Gerald E Butler on March 25, 2010 at 12:47 PM GMT+00:00 #

Really this is what the backports repository should be doing. But I checked recently and hardy-backports did not contain an up to date version of firefox, leaving hardy with firefox 3.0 which is no longer supported by mozilla.

So I would say that we should try to improve the use of backports, particularly for LTS releases. Maybe there could be a separate application-backports repository that only updated applications and didn't touch low level libraries.

But whatever the solution, the problem of out of date applications does need addressing.

Posted by Hamish on March 25, 2010 at 01:38 PM GMT+00:00 #

Good thought,out of date applications on Ubuntu and some other Linux distributions is a real problem that we have to address, Microsoft solved a similar problem on Windows as far back as Windows 2000 with side by side libraries, and I believe there is no such problem on Arch Linux, do not see why this problem can not be solved even without PPAs and backporting.

Posted by Tuxy on March 25, 2010 at 04:11 PM GMT+00:00 #

I'm glad you brought this up, because it's been a pet-peeve of mine for some time now. Thunderbird 3 and Firefox 3.6 came out quite a while ago, but there doesn't seem to be a decent way of installing them on Karmic. On top of that, backports rarely work the way people expect them to. Often times, the newer version is there as a separate package, so you never see it's available unless you actively look for it.

I'm not an desktop app developer, so I don't know what the actual issues are. My impression though is that it's related to poor support of side-by-side libraries.
I really like how Gobo-Linux solves the issue, but I don't know how maintainable it is.

Posted by David on March 26, 2010 at 02:33 AM GMT+00:00 #

Ummmm... there's a problem with this whole approach you're proposing... stability. A "stable" release (although to be honest I am VERY hesitant to describe any release of Ubuntu as stable) should work... period. Constantly adding new software compromises ultimate stability. Be honest... is there any feature in the newer versions of OO.o (just to take an example) that you absolutely have to have that were not available two years ago? I doubt it. We're talking about enterprise deployments here, which means stability needs to trump EVERYTHING. That means sticking with proven technology. My recommendation: forget Ubuntu... I've never met an Ubuntu release that wasn't buggy. For enterprise deployment use Debian stable. This actually gives you the choice that you crave... you can always add the testing and unstable repositories and get supported versions of newer software. Although I would NEVER set up my individual users with those repos, the option is there. Our advertising-driven obsession with the latest and newest is just plain stupid. Use a stable distro with no new packages and enjoy an OS that never, ever breaks.

Posted by gene on March 26, 2010 at 04:05 PM GMT+00:00 #

And you need all the latest software why? I have Debian testing with all the latest toys on my personal desktop, but for my other users I run Debian stable with the "outdated" app bundle and guess what... it works just fine for them and I never have to worry about new packages breaking anything. For enterprise deployment NOTHING trumps stability... which, come to think of it, means not using Ubuntu.

Posted by gene on March 26, 2010 at 04:16 PM GMT+00:00 #

Sorry, didn't mean to post twice. I though my first one hadn't been accepted. Delete the first one if you want.

Posted by gene on March 26, 2010 at 04:17 PM GMT+00:00 #

So I think we should try to improve the use of backports, especially for LTS versions. Perhaps there could be a separate application-backports archive only updated applications and not to touch the low-level libraries.

Posted by Crossbow on November 02, 2011 at 06:33 AM GMT+00:00 #

Post a Comment:
Comments are closed for this entry.