Debian CUT, a new rolling release?

It looks like 2011 started well for Debian. The project won awards in two out of seven categories at the Linux New Media Awards 2011 (Best Open Source Server Distribution and Outstanding Contribution to Open Source/Linux/Free Software). Just recently Internet.com declared Debian the most influential distribution ever, stating that ~63% of all distributions now being developed come ultimately from Debian.

However, my intention for this article is not solely to praise Debian for its recent awards, but rather to focus on a new project, Debian CUT. Don’t be surprised if you haven’t heard about CUT; it seems most Debian community hasn’t either. Then again, maybe it’s because it is only labelled as unofficial/development so far.

A bit of history

One of the greatest criticisms of Debian is that its release cycles are too long. Debian stable release is seen as often as Ubuntu’s LTS release. As a server solution this doesn’t present a problem at all, it can even seen as a pro. However, for desktop use and for your average Joe who needs to have the latest software and is unable to get it, this may well present a problem. Of course he can always turn to backports to get what he needs but by the time you have finished reading this very sentence, Joe has already moved to Ubuntu.

For those who are completely unaware how things work within Debian, let me try to shed some light.

Debian has 3 main branches:

  • stable
  • testing
  • unstable

Unstable, is a branch used mainly by developers, where the latest changes to the software they are working on are made. Usually, after approximately 10 days this software is pushed to testing, branch which is going to become next Debian stable release.

For comparison, in the process of a new Ubuntu release at one point in this process, changes from testing/unstable are frozen where Ubuntu fixes bugs until they are ready to release new Ubuntu release. Debian’s testing branch is said by some to be more stable then most of the stable distributions out there. Last but not least is stable branch, which follows the (in)famous mantra it’s released when it’s ready, although last two releases have been released in a more timely manner.

Okay, so what is Debian CUT?

The idea stretches back more then 2 years, to Joey Hess proposing the idea of Constantly Usable Testing. For users/developers who can’t wait ~2 years to see new Debian release, they usually turn to Debian testing branch. To clarify, testing images are released weekly, but most of us in Debian don’t recommend you jump to testing by installing it from weekly image, but rather by upgrading from stable. To make the situation even worse, these builds frequently don’t work due to all the changes that have been pushed from unstable.

But this is where Constantly Usable Testing idea comes in, where the installer is always installable and you’re already using what’s going to be next stable release. You wouldn’t have to worry about whether the next update is going to break your system, but would get regular security updates, while the big updates would come in shape of new testing snapshot versions. Frequency of release of these snapshots is ought to be on monthly basis, so you can plan on seeing the next release on April 6th (exactly one month after the current release, provided of course if there are no showstopper bugs).

To sum it all up, you wouldn’t have to wait ~2 years before new Stable release shows up, nor (in case you have already switched to testing) would you have to worry whether your next update will break your system. You would get your updates in form of timely (ie: monthly) snapshots until it’s time for major milestone which would turn out to be new Debian release. Even though this might be long term goal, in these early stages no one can guarantees this.

Rolling release?

The simplest way to explain this concept is that there are two types of Linux distributions: one with milestone version numbers and other where new updates keep coming through their rolling release cycles. Some of the rolling distributions are Gentoo and Arch Linux, while on the other side you have RedHat and Suse. Novell announced that OpenSuse is moving to rolling release with project codename Tumbleweed. It’s also worth mentioning that Debian already has its rolling counters and perfect examples are: LMDE and aptosid.

It is a way to continuously develop software, a way that best fits Debian as a platform where software is continuously developed. Especially because most of its greatest values could get lost with the release of that big stable version. Perfect case of that could be the almost drop of Chromium in Squeeze.

Another great example could be Android, which is criticised most for its versioning. Companies are refusing to release new Android versions to their current phones, because they want you to buy new phone with latest Android version, even though your current one is perfectly capable of running latest Android.

Personally, I’m sure the future will reveal that rolling releases are the future, towards which all Linux platforms should be heading. Perhaps the definition of rolling releases I gave earlier is why I believe this project has such bright future ahead of it. Debian would be somewhat of a hybrid of this definition, it would be rolling release until it’s time to mark a big milestone with a version number, and before you know it, we’re rolling again.

Unofficial Debian Monthly Testing Snapshot Release (version 2011.03 final)

Michael Gilbert took on a big responsibility, trying experimentally to prove the feasibility of such a project. He has released a first wheezy snapshot installer (versioned 2011.03) as a test for the development community to try out and evaluate. Please read official announcement along with download links. While you can use this snapshot to have constantly working installer, after it is installed you could move to testing altogether if you wish.

Conclusion

As I have already mentioned, this project is still in the development/experimental stage, which makes all of this its very conception. Also, apart from rumors of Ubuntu becoming rolling release, if Ubuntu is to get its rolling release this how it’s going to get it :)

If you’d like to find out more about Debian CUT, I suggest you read Raphael Hertzog‘s article A constantly usable testing distribution for Debian, and watch the video of Joey Hess CUT BoF on DebConf10 in NYC.

Of course, if you’d like to get involved into this project, please use the project’s mailing list. If you have any comments, please do share, as I’d be happy to answer any of your questions.

Related posts:

  1. Debian or Ubuntu, which is the best place to contribute?
  2. Debian is dying, oh my word!
Post a comment or leave a trackback: Trackback URL.
  • http://pulse.yahoo.com/_L6Q5AMODT24YSONWJUR6Q6TSOU Bryce

    I can’t read :(

  • http://twitter.com/ottorobba Otto Robba

    I honestly think this is the best path to further innovate with Linux and improve user adoption. Features get out early, can be tested properly early (more eyes).
    All in all, an awesome move. Excited about it :)

    • http://twitter.com/briketaro briketa.ro

      omg and then you can have multiple version of the same libraries libpin0.1, libpin0.2, libpin1.1 etc and then OMG imagine a Time Machine for apps!!! to be able to run Gimp0,1,2,3 x !!!

      • http://striderlance.com Алексей Раю

        dll hell

  • Anonymous

    Now there’s a chance for my dream to come true! I would love to see an Ubuntu Rolling Release.

  • http://twitter.com/buttsavich Jon Basniak

    Now this is interesting. I could see many Debian-based distros benefiting from this. From using ArchLinux, a rolling-release style is actually useful. Let’s say I have a computer which gets put away for 5 years, then I finally pull it back out to put it to use again. I could easily fast-forward it to the latest version, given the nature of rolling-release!

    This actually kills the main criticism Debian receives as a desktop distro. Glad to know that Debian is open to try new things! This is indeed, exciting news. :)

    • http://marb.myopenid.com/ marb

      In Arch Linux update after so long time would end with failure :( From time to time there are important updates that require reading release notes, update logs and eventually user interactions. Sometimes updates change so much that it can’t be brought on seamlessly.

      I’m curious how it will work in Debian.

    • http://marb.myopenid.com/ marb

      In Arch Linux update after so long time would end with failure :( From time to time there are important updates that require reading release notes, update logs and eventually user interactions. Sometimes updates change so much that it can’t be brought on seamlessly.

      I’m curious how it will work in Debian.

  • https://launchpad.net/~cscarney ~cscarney

    I doubt Ubuntu will ever switch to a rolling release, if only for marketing reasons. They get a ton of press every 6 months when they release a “final” version.

    Also, rolling release is a tough sell to OEMs (who want a definitive answer to which image they should put on their machines) and makes it more difficult to put out CDs (periodic releases let you hand out CDs with the “current” version; rolling release CDs are always out of date)

    • http://twitter.com/mickstep Michael Stephenson

      I think the idea is that regular releases will still happen, but many mopre advanced users will opt for the rolling release.
      Prodominantly the ones who run alpha and beta releases most of the time.
      I personally spend a lot more time on the development ubuntu releases than I do probably a 2 month stable 4 month unstable split.

    • http://twitter.com/eylemkoca eylemkoca

      Rolling release approach is not good for any distro that does “business”. OEMs, corporations and even desktop users will always ask for a “stable” version, and you cannot say “hell, it’s always stable”. “Always stable” also means “always unstable”.

  • http://twitter.com/DigiDimi Dimitri V.

    Personally I didn’t find it easy to understand what CUT is, or would like to be (might be a language issue, or that I thought testing to be already similar to the CUT idea)… Basically, they’re trying to find a model to have a constantly usable debian testing distro; almost like the original, but more stable due to an always working installer, fixes to incompatible packages, and security fixes. Right?

    Not an expert here, but wouldn’t this CUT-thing be solved by “simply” being more careful when releasing the testing weekly builds and keeping an additional eye on the compatibility between updated packages? Or they are in fact proposing to adopt the CUT-method on the actual testing distro?
    A bit more prudence within the testing distribution and everybody would be happy with lesser fragmentation (and thus, more focus on a main good result) I think.
    Unless there are development issues or I miss some technical background.. :-)

  • Anonymous

    For Android,
    1. Root
    2. ???
    3. Profit!

  • Nathalie Goddy

    That cup of Debian coffee looks cool, but I definitely wouldn’t drink from it!

  • http://twitter.com/lxskllr john zimmerer

    I’m not seeing the point of this. Testing is already a rolling release, with unstable being bleeding edge. Choice is good I guess, but redundant choice is irritating.

    • http://profiles.google.com/scientificprogressgoesboink Andy Ross

      The idea is not to create another option, but to enhance and improve the experience of those using “testing.” When I read the literature (http://cut.debian.net/snapshots/implementation_plan/ ), the only major changes I see regard how the software is tested before it goes into the “testing” repo. The end-user experience is practically the same.

  • http://twitter.com/enedene Ene Dene

    Or you could use pinning with stable version for packages you want updated.
    I run Debian Stable and at the same time I have the newest packages of, for example:
    pidgin, vlc, handbrake, banshee…

    • http://twitter.com/AbsintheSyringe Adnan Hodzic

      this would be approach for average user to get all the latest stuff, while still not losing the stability factor.

  • http://twitter.com/d_halliday David Halliday

    Rolling releases are wonderful for anyone who likes new stuff, creative people, tech people and home users who like new features to show up. It’s exciting and interesting.

    In the office where I work, the tech team would love more updates to our software. Outside of the tech team, “stable” is the order of the day, if an icon changes/moves panic breaks out in the call centre. When it comes to supporting 200 workstations having them all on a fixed OS/software revision (with some controlled updates going in) makes life for support staff.

    Choices/horses for courses and all that. I do see CUT as being an advantage for someone who wants something a little more “stable” that doesn’t feel “out of date” next to the second most recent Ubuntu out of the box.

    I used to use debian all the time, I think I need to put it back on my main machine and test drive it to see how it plays 4 years after Ubuntu took off.

  • Anonymous

    A little secret: Debian Testing is already pretty stable.

    Back in the day (let’s say the late 90′s) the Testing distro might be flaky and buggy but over time it has become quite solid. No, it isn’t rock solid like Debian Stable, but its not meant to be, but its still stable enough for other distros to base themselves off of it (Ubuntu anyone?)

    CUT is a way to reassure anyone who wants to run Debian Testing that they’re not on their own and their is support from Debian.

  • Anonymous

    I like the photo! Is it available as a wallpaper somewhere?

  • Anonymous

    I think there is a new challange for stable or LTS versions: more and more developers now release often and does not support past versions for a longer time. See Linux kernel, Chrome or now Firefox. LibreOffice might be next candidate for this style of development?

  • Anonymous

    I think there is a new challange for stable or LTS versions: more and more developers now release often and does not support past versions for a longer time. See Linux kernel, Chrome or now Firefox. LibreOffice might be next candidate for this style of development?

  • Anonymous

    So perhaps I’ve missed the point here, or maybe I just didn’t get the memo: Is a distro automatically considered a “rolling release” when the devs give up version numbers, and the time to wait for a repository update is less than six months? It seems like this term’s getting thrown around more and more often and, near as I can tell, all CUT does is automate the process that ought to be overseen by the end-user. In any case: LMDE, Aptosid. It’s already been stated. Thing is, I have a hard time considering anything distro a rolling-release simply because it updates more often than twice a year. Rolling-release distros are almost always considered suitable for more advanced users, and for good reason: they require more knowledge (and a little bit more effort) to maintain and, in order to keep the repos clean and the upgrades rolling, the devs can’t spend a great deal of time testing and patching packages They need to build them and get them out to the users. The users in effect become the testers, and they report bugs and in many cases write patches themselves. This is their responsibility for the benefit of having regular package upgrades and a bleeding edge system. If you want a more stable system, then just don’t upgrade as often.

    But this raises problems:Try going without an update on Arch (or more especially, Gentoo) for 6 months. Run a full system update. Watch your system break. The reason it breaks? The devs have given you the freedom (and therefore the responsibility) of choice and control over tools to actualize those choices, and software changes over time; if you’re not doing the work to maintain your system, who will? If the repo maintainers are doing the work–reconfiguring specific repositories with specific packages that have undergone a fair degree of testing–on a fixed schedule, it isn’t a rolling-release operating system; just one with more frequent releases. The problem that I foresee–and this may not directly apply to CUT–is that making a (supposedly) rolling-release model easily accessible for those who don’t wish to expand their knowledge and put in the effort will only foster intellectual laziness and the mentality that the devs’ “job” is to serve the end-user. Many people gravitate toward rolling releases because they don’t have this mentality, and the communities surrounding those distros often have little tolerance for it. Rolling-release models only truly work when the end-user takes full responsibility for their choices, and make an effort to work out the kinks on their own; but most of the time, this is their forte already. Labeling things like CUT as rolling-release may only confuse the issue.

  • Anonymous

    Rolling distros are a nice concept, but too risky for Ordinary Users (TM). I much prefer an accountable entity (Canonical?) to provide a clean upgrade path every six months, and maybe, as Shuttleworth already suggested, more frequently updated versions for some key applications such as LibreOffice or Firefox

    The problem with release distros like Ubuntu is not the delay for some apps to be available, but the need to reinstall -instead of simply clicking “upgrade”- every six months to make sure things won’t break. Upgrading has been a nightmare for too many users since the very beginning of Ubuntu. Much much much (much) more effort has to be put into seamless upgrades, so we reach a point where no fresh installs are recommended/needed any more. (I think most people would be happy even if a fresh install disguised as an upgrade happened behind the scenes, but that’s probably the subject for a different discussion.)

    (NOTE: I DO know nobody is forcing anyone to upgrade every six months, so please save us the discussion about the obvious.)

  • http://twitter.com/lxskllr john zimmerer

    “Rolling distros are a nice concept, but too risky for Ordinary Users (TM). I much prefer an accountable entity (Canonical?) to provide a clean upgrade path every six months, and maybe, as Shuttleworth already suggested, more frequently updated versions for some key applications such as LibreOffice or Firefox”

    There’s no reason you can’t have both. I’ve often thought the 6 month release cycle’s too fast. Instead of doing it right, stuff gets rushed out the door, and patched later. You get the worst of both worlds in that case; stagnant, and buggy software. I’d like to see Ubuntu go to an annual release, with extra polish going into the LTS releases, and then have a rolling release for people who want the latest/greatest. Debian has a good setup, and I think it would be a good model for Ubuntu

  • http://twitter.com/MotionShot Heimen Stoffels

    The only thing that’s not correct in this article is that it only names 3 branches, but Debian has 4 branches:

    1 Unstable
    2 Testing
    3 Stable
    4 Experimental

  • http://twitter.com/MotionShot Heimen Stoffels

    The only thing that’s not correct in this article is that it only names 3 branches, but Debian has 4 branches:

    1 Unstable
    2 Testing
    3 Stable
    4 Experimental

  • Anonymous

    I know this post is very late, but I haven’t been home since this was posted.

    I have made a proposition about how to solve this in a good way: Having a stable system while giving the possibility to upgrade the software as the user wishes, in a less confusing way.

    read more on my deviantart page
    http://jeypeyy.deviantart.com/#/d3cq6uu
    http://www.deviantart.com/download/202775862/ubuntu_software_preferences_by_jeypeyy-d3cq6uu.png

  • Anonymous

    I know this post is very late, but I haven’t been home since this was posted.

    I have made a proposition about how to solve this in a good way: Having a stable system while giving the possibility to upgrade the software as the user wishes, in a less confusing way.

    read more on my deviantart page
    http://jeypeyy.deviantart.com/#/d3cq6uu
    http://www.deviantart.com/download/202775862/ubuntu_software_preferences_by_jeypeyy-d3cq6uu.png