Since the openSUSE Conference in Nuremberg in October, the openSUSE community has been extremely active. New projects announced there have progressed, and others have emerged. One example of the latter would be the announcement of Project Tumbleweed by kernel hacker and openSUSE contributor Greg Kroah-Hartman. The goal of this project is to create a ‘rolling-release’ version of openSUSE. A rolling-release distribution (like Arch Linux or Gentoo) always offers the latest stable versions of a package in updates so that when a new release surfaces, users actually don’t have to do an upgrade!
Tumbleweed is something you could probably only pull off in openSUSE. While openSUSE is a fixed-schedule release project (with a release every 8th), we provide newer stable packages for a variety of things on the openSUSE Build Service (OBS). OBS warrants an article on its own – a rather unique project (a tutorial for which featured in last month’s magazine). We use it to build our distribution, but also packages for other distributions, including Fedora, CentOS, Mandriva, Debian, Ubuntu and – seriously – Windows support is under development. Hence the OBS mainframes handle the building of over 100,000 packages from 25,000 users working on 15,000 different projects. OBS can provide newer packages for older openSUSE versions because it is easy: from the web interface our packagers just select the older versions and OBS takes care of it – it’s really that easy. OBS accomplishes this by starting a fresh virtual machine (of the chosen distro and version) for each package that has to be built. It then installs all build dependencies and builds the package. Any errors are relayed back to the packager via the web (or command-line) interface. And OBS can take code directly out of CVS/SVN/Git and has built-in live CD generation (so yes, an automatic daily live CD of Git GNOME can be accomplished with ease). It’s unique and free software, so OBS is used by a variety of other projects, including VLC and MeeGo.
OBS ensures you can easily build packages against a variety of distribution versions while keeping them ABI compatible and stable. Perfect for backporting. Or forward-porting! This is what Project Tumbleweed aims to take advantage of – a new ‘target’ is created, Tumbleweed, and maintainers just say “hey, this package is a stable release, it seems to work so it’s good for Tumbleweed”. A few clicks later it’s done.
So Tumbleweed is bleeding edge – super if you’re a developer or enthusiast who wants to keep your system up to date. On the other end of the scale, stability and long-term support, another project has surfaced in openSUSE over the last weeks: Project Evergreen. This will do the opposite of Tumbleweed: take a stable release and maintain it for a longer time than openSUSE usually does. The first goal will be openSUSE 11.1, our currently oldest still supported release. Again, without the Build Service, this would be a daunting task. Now it’s possible. It’s still a lot of work, however, and I’m very proud to see these initiatives not just being discussed but actually taken on by the community. This is how openSUSE works – bottom up, community driven. No dictators (benevolent, self-appointed or otherwise), no committees, no steering groups. It’s just people. That’s what matters. What a great way to kick off 2011.