Rolling Release Ubuntu

Rolling Release Ubuntu is something a lot of people are talking about. Not so long ago it was announced that Ubuntu 12.04 Precise Pangolin will be an LTS release with support extended to five years for Desktop edition. Desktop edition was usually supported only for three years. Community has stirred again and again we have people crying out for a rolling release distribution. Something very well-known among Gentoo and Arch Linux users. Read on if you’d like to know why a rolling release would be a bad, bad idea. In fact it would be terrible idea.

Ubuntu is an operating system that is trying to be something that can be used by an average Joe with ease. In other words, Ubuntu should be something that you can install on your computer instead of Microsoft Windows or Mac OS X. Ubuntu is for everyone. Also, Canonical, an entity sitting on top of Ubuntu, is a company that has to take care of itself. Keep this in mind while you are reading my rant.

What users in general need and want:

  • stability
  • reliability
  • security
  • simplicity

In reality you always need to keep those properties in some sort of balance.

What is a rolling release distribution?

In simple terms this means that your software is constantly updated and upgraded. You usually get all the new features and bug fixes very quickly and your operating system doesn’t have a distinct release number. If you installed FooBar Distro 1.5 today it will be 1.5 only today. In a couple of weeks you will get new browser, new office suite, new email software and so on and so on. Then at some point in time developers of FooBar Distro decide that current snapshot of all the software will be called FooBarDistro 2.0 and you don’t need to upgrade anything, you’re already there. You migrated slowly from 1.5 to 2.0.

The upside is that you are always running up to date software with all the bells and whistles. The downside is well, where do I begin?

  • The need to upgrade. You must upgrade if you want security fixes. When I was using Gentoo there was no option to get only security fixes, you had to install new software. If I didn’t update for a longer period of time an upgrade usually broke during the upgrade process.
  • Maintainability. If you have a lot of machines to maintain a rolling upgrade that can break becomes a pain. Even if you know how to fix it, it will require more time than a simple security update and bugfix release.
  • In-house support. You will live in a dependency hell if your third-party software requires different versions of some essential library. Which immediately brings us to the most important downside of rolling releases.
  • Third-party support. Developers and OEMs are having difficulty keeping track with current Ubuntu release cycle. New version every six months is a pain to support and support matrix for a product will look like a crosswords puzzle after a while. If you have libraries literally changing on a daily basis you are doomed and any kind of support becomes questionable.

For some people six months isn’t often enough and they would like to see a rolling release Ubuntu. Those people are a minority and I think that the correct approach is to have an even longer release cycle.

Why a longer cycle?

Because of third-party developers. Hardware or software development is a lengthy process in which you design and develop a product that will cover as much users as possible. You want a large user base. If you need to support a product for various operating systems with various libraries, software and architecture this is all what you will do. Support it and you will have no time to develop new features. Commercial software developers should already be targeting only LTS releases with their products, which is quite hard when majority of users will switch to a new Ubuntu release when it becomes available.

Ubuntu should move to a 12 month release cycle, with this they will give more time to their own developers and to all the contributors and third-party developers. What about new applications? Office suite? Browser? We would keep those in official PPA repositories that could be updated more frequently and independently. Applications that aren’t tied to the system can this way have more regular upgrades.

There are a couple of downsides to this solution. One is that someone will have to maintain those PPA repositories. Which shouldn’t be such a problem, but any additional work takes some time from the actual development. Second problem could arise with the upstream components. A year is a long time, what if upstream releases new version couple of months after the Ubuntu release? With six month release cycle this will amount to only four months of wait for early adopters. With a longer cycle this means ten months of waiting. For some this could be unacceptable.

Benefits of a longer cycle:

  • More development time. This is critical, every release of Ubuntu that introduced something new on a bigger scale (PulseAudio, Unity, Gnome3, …) always seemed like it is a rushed-out release and the next release was a bug fix release.
  • More testing time. Alpha and Beta cycles are not long enough. Ubuntu is still pretty much dependent in the community out there. Community needs more time to do all the testing. I do not know how exactly Canonical manages their QA but before I decided to be more active with Ubuntu development, I rarely tested Alpha and Beta releases. I usually didn’t have enough time to do it.
  • Graphics cards vendors will have more stable environment to develop drivers for. Every Xorg release breaks proprietary graphics drivers and it happens every six months. Now it would happen only once a year.
  •  Less demands for backports. Because of less releases there would be less backports, backports that could break and wreak havoc.
  • Lastly, again, more time. More time for users to adapt to new release, more time to test it and more time to enjoy it before going through the frustration of yet another upgrade.

Longer release cycle will bring more stability and reliability. Security can also improve because new and untested software is introduced less frequently and for the same reason usability can also be increased. Learning all the quirks of the new software is a pain and users don’t like to adapt too much. Granted, in the long run everyone adapts, but from the UX perspective, changes shouldn’t be made just for the sake of changes and not too often. Even one year period could be seen as too short for big UI changes.

Good user interface concepts lasted for years before they evolved and were changed. Competition is a fine example of that.





  • I like this idea…

    I was trying Ubuntu 10.04 for 4 months when 10.10 was released. Even that i knew 10.04 was LTS but i thought i had to upgrade to 10.10. But got disapointed for the lack of its unity. I tried to roll back but got no luck. So i searched something more longer than Ubuntu 6 months cycled.

    When i found LMDE which is rolling release, i was sure it would be my last distro. But once again i was wrong. For now it is having dependencies problem.

    Now i’m looking for distro that more stable but with longer cycle just like you said.

  • You totally nailed it! A longer release cycle with some specific PPAs is whtat Ubuntu sorely needs.

    cheers,
    zido

  • As it goes I’ve tried a few different distros and have stuck with them for a few months before trying something else. From what I’ve seen, quick release distros like Fedora can be a pain in the butt because it tries to be a bleeding edge distro with what feels like a more rushed than ubuntu releases. Ubuntu is bad enough as quick as it is. They need to think about making the os right and worry about the software later.

    I’ve used Arch Linux and Gentoo before and feel that rolling release distros are great if you’re going to update them occasionally but not every day. I’ve found arch linux to be a great distro for a minimalist setup but damn it was a pain to maintain because you basically had to go out of your way to make sure nothing you updated broke anything else. That is the main problem I had with them. What I loved though was how minimalist it was compared to most other distros.

    As for me, my personal favorites are the “Its done when its done.” Distros such as Debian, Standard Linux Mint, and Slackware. Those guys work hard to make the OS itself very stable and usable. What you do from there is up to you. Debian is a lovely distro to use on a server. You set it up once and all you need to worry about are security updates and backport updates for particular things. Slackware is great for the desktop, again set it up once and leave it alone. Linux Mint requires that you format the partition and replace the os for major upgrades. Not hard to work around just separate the /, /boot/, and /home so that you can update stuff without losing your personal data. My personal suggestion is to use a different username each major upgrade that way config files don’t get mixed up. Change permissions as needed to access your files fully.

Leave a comment