The problem with "stable" Linux distributions
Aleksander Demko,
September, 2007
I like stable, long supported Linux distribution versions, like
Ubuntu 6.04 LTS. Unlike the frequent, bleeding edge releases from
Fedora and Ubuntu, these long term support releases promise a
stable platform. This platform you could hope to depend on for at least
a few years, with an assured stream of security updates.
However, most long term support distributions (Ubuntu LTS
and RHEL, etc) only really provide support in the way of security updates.
Software packages within the distribution are rarely updated.
This has many drawbacks.
Newer (minor) versions of applications almost always contain
much needed bug fixes or internationalisation updates. Incremental
feature updates may also be included, and are often designed not
to break compatibility with old data files.
When a user is hit with a show stopping logic, usability or other
bugs or simply desire new minor feature in one of their packages,
they are often told to either:
- Download and manually compile the newest version themselves.
This is not only tedious, error prone and scary to many users,
but also installs software that won't be tracked for security
updates by the native package management system.
- Told to upgrade to the latest, non-long term support version of the
distribution. Not only is this very disruptive to the user's
mostly-working operating system installation, but it's
a ridiculously over-kill solution to fix a few odd packages.
I propose that long term support versions, if they want to be more relevant
to users, especially desktop users, do the following:
- For 0.x software packages, always track the latest version.
0.x software is often beta software anyways, and left unupgraded,
a old version grows stale very quickly.
- For 1.0 and higher software, track only the minor version
increases. These new versions include only bug fixes, security fixes
and incremental feature additions.
- Major versions upgrades for major, end-user applications should also be
included, but packaged in different packages. For example, I should
be able to continue with the installed Firefox 1.5, install 2.0 in addition
to keeping 1.5, or move to 2.0 all together.
Off the top of my head, I stumbled upon these issues with Ubuntu 6.04:
- Firefox 1.5 is showing its age
- rhythmbox cant download 1UP pod casts, because the HTTP layer in gnome
doesn't follow the necessary number of HTTP redirects. rhythmbox people
say the fix should be "upstream" in the gnome layer, the gnome layer
never is updated, and I'm left manually downloading the episodes with
wget.
- scilab runs with garbled fonts. Besides upgrading to a newer version
(that isn't provided by the repositories), weird, obscure hacks are
suggested. Result? Can't use the shipped software at all.
- MeVisLab doesn't want to install on all but the distros they've tested on
- Odd device driver bugs bugs that are fixed in the later kernel versions
(but aren't tracked in the provided kernel packages). USB Microphones,
Wifi issues, Sleep/hibernate issues are some examples.
- GIMP 2.4 is available for Windows XP the day it's released.
It's not available at all for Ubuntu 6.04.
- I have other examples, but I forgot to write them down as I came across
them. But don't worry, there are lots more.