On Fedora, there are basically four repositories:
- Stable - end user product
- Testing - stabilisation tree
- Rawhide - development tree (our factory)
- Kopers - personal repositories (bit like our Build Service home projects)
As you might know, Fedora Stable does currently receive quite some package updates over it's lifecycle - catering to users who want the latest software. The downside of this is that it sacrifices stability - you can't have your cake and eat it too. And for some users - even that isn't enough. They want the latest Banshee when it is released right away - not wait for it to mature in Testing. So they have to enable Rawhide repositories - often bringing in far more unstable software than just Banshee or whatever they're after. And that software is build against a whole different stack - Rawhide has moved beyond stable of course, adding things like a newer glib or other base libraries and building against a newer GCC. All this creates a significant risk for instability.
Máirín describes 4 target users of Fedora:
- Caroline Casual-User
- Pamela Packager
- Connie Community
- Nancy Ninja
She proposes to give each of these users what they want by essentially splitting the update policy for packages based on what 'level' the are. She recognizes Core Platform, Core Desktop and Applications. Core Platform should only receive crucial fixes and security updates, Core Desktop should get a bit more liberal updates and Applications should always be up to date. This way, users won't get bitten by instability, yet those who want more up-to-date software don't have to resort to Rawhide either.
Does this solve the problem? It does if you assume these more up-to-date packages for the Applications don't ever break things for Caroline. And if you assume that there is no reason why Nancy Ninja newer version of something in the Core Platform or the Core Desktop for the app she's writing.
openSUSE is far more conservative when it comes to upgrading packages in the stable release. Making it a much more stable platform. So, that means you're always a bit behind and you can't have the latest and greatest? No! openSUSE users CAN have their cake and eat it too. Thanks to the Build Service, newer versions of enduser applications and libraries can be entirely build against the stable distribution, lowering the number of packages you need to pull in and thus increasing stability.
Máirín and the other Fedora peeps don't use OBS - luckily, it's a Free service. Sponsored by Novell, AMD, IP Exchange and B1 Systems. Many packages on the openSUSE buildservice are build for various stable Fedora releases as well as for Red Hat releases, Ubuntu, Mandriva and of course SUSE Linux Enterprise. And the Build Service is also used by third parties like MeeGo to build their packages in house.
So I would invite Fedora users like Caroline to grab just the one package she needs from OBS!
For developers - and users
So the buildservice is awesome for developers who want to make their software available to users - no matter what distribution they use. The Build Service builds each package on a clean virtual machine install of the target distribution, guaranteeing compatibility. Check the documentation here. And a nice tutorial here. Note that it currently mostly focusses on the commandline solution OSC - but you can actually build and packages entirely from your webbrowser and get them to your users with almost no hassle using the gtk-apps.org and kde-apps.org OBS integration. Be like Lucky Backup and offer packages for ALL mayor distro's instead of only Ubuntu OR Fedora Or ...!
And for openSUSE and it's users, OBS enables us to cater a much wider audience than we ever could without. We can make newer software easily available for users who want it thanks to the one-click-install; yet users who want stability can have it. Surely there is still work to do - a proper app-store would be nice, although the search on software.opensuse.org IS pretty good...
Of course there is more awesomeness to openSUSE - like SUSE Studio (cool video here) and more. I just wanted to highlight one thing ;-)