In this post, I would like to express some thoughts on GNU/Linux distribution release models, in the occasion of the newly released Debian 9 Stretch today. To make the post as short as possible, I suppose readers are familiar with rolling and stable/frozen distributions.
Personally, I was a long Archlinux user. Arch is the pioneer GNU/Linux rolling distribution. I have been using Arch for more than 4 years. I have had many systems breakage after some upgrades. One of them, I don’t remember at which point, left me with an unbootable system. I had to liveboot to fix things up. Not really fun!
I have switched to Debian since about two years ago. Debian is on the other hand the exact opposite of Archlinux, it follows a stable release cycle that are long term supported. It is very stable, but it takes the idea of frozen stable releases too far. My goal in this post is to highlight some issues related to the stable release model of Debian, for example.
Debian 9 Stretch ships Xfce version 4.12, which depends on Gtk 2. During the development cycle of Stretch, a lot of modifications has been introduced in the filechooser code of gtk 2.24.31, resulting in an unclickable wallpaper dialog on the file chooser of xfdesktop4, and thus it makes it impossible to the wallpaper folder using the dialog. A fix exists (see this this commit), and it has been applied to xfdesktop4 4.12.3-4 to fix this debian bug. Unfortunately, this has happened after Stretch freeze date! As a consequence, Stretch has been released today with this annoying bugs included. I know that the Debian Xfce package maintainer tried hard to include the fix in the release, but apparently, did not succeed.
Another example that comes to my mind from a piece of software I currently maintain, which is Tumbler. While version 0.1.90 being the development/unstable version of Tumbler, I have in the meantime released a bugfix version 0.1.32. It fixes two serious issues (see the release note) and introduces no changes at all, no features, just important fixes. Yet do users of Jessie/Stretch/Xubuntu LTS (they all include Tumbler 0.1.31) will ever get these fixes? I don’t think so.
On the hardware support part, the situation is not any better. For instance, good luck getting Canon Selphy CP1200 working under the recent Stretch release (or on Jessie). A working driver has been added to gutenprint 5.2.12, Stretch ships with gutenprint 5.2.11! You need to compile gutenprint 5.2.12 from source or install some backport/packages from Debian Sid in order to get the printer working. Do these are skills that we can expect everyone to have? On some other operating systems, developers themselves usually provide packaged version of their software for those systems. Under GNU/Linux, softwares are developed by someone and packaged by someone else. Unfortunately, there is no “universal” distribution in GNU/Linux world, where a stable core system of GNU tools/kernel/main libraries are provided, on top of which software developers provide timely bugfixes/new hardware support updates.