|
|
Subscribe / Log in / New account

The final Fedora alpha release?

By Jonathan Corbet
February 22, 2017
Alpha releases are a longstanding part of the Fedora development cycle; long before the final release is delayed, the alpha date starts to slip. An alpha release gives early testers a chance to try out a new version of the distribution that, while likely rough around the edges, hopefully doesn't have many serious, show-stopper bugs. It is the first step in widening testing beyond the immediate development community. The Fedora project seems to have decided, though, that it is now better off without them.

The proposed change would first take effect in the Fedora 27 cycle. The idea is to replace the releases with an improved version of Rawhide, which would then serve as a sort of eternal alpha release. If Rawhide is always at an alpha level of quality, the thinking goes, early adopters will always be able to test the upcoming distribution. That should result in more testing over the course of the development cycle and, it is hoped, a more attractive platform for community developers. Meanwhile, the effort that goes into the creation of alpha releases could be directed toward other goals.

This idea may be an eye-opener for anybody who has followed Fedora over the years. Rawhide was launched in 1998 — well before Fedora itself, in other words. It has always been known as a bit of a rough neighborhood, a place for users who like to see something new on their systems every day and who are prepared for the occasional explosion. That notwithstanding, Rawhide was reasonably usable by sufficiently skilled people, but it took a turn for the worse some years ago. Back in 2012, Fedora developer Adam Williamson described Rawhide this way:

The images in the Rawhide tree are automatically generated. There's no testing or release process. They just get built periodically. If they work, great. If they don't, no-one guaranteed that they would.

Needless to say, this does not sound like a particularly promising replacement for Fedora's alpha releases. In truth, though, the Fedora project has been trying to improve the reliability of Rawhide since those dark days. The no-alpha-releases proposal can be seen as a further step toward that goal.

A key part of this proposal is the "gating" of packages into the Rawhide distribution. Before an uploaded package gets into the Rawhide repository, it will have to pass a series of tests. Initially, the tests will focus on whether the package can be installed without breaking other packages; that alone will be a big improvement, since dependency issues are a familiar hassle for Rawhide users. The hope is to add more tests over time as the new workflow settles in.

The reception for this idea has been somewhat (but not uniformly) positive, though one might be tempted to disregard the input from a couple of frequent Fedora dissenters, some of which led to talk of code-of-conduct violations. Beyond that noise, though, there are some concerns, perhaps sharpened by the fact that the proposal was floated at the tail end of several particularly difficult days for Rawhide users. But, as Dennis Gilmore said, those problems are just the sort of thing that the gating mechanism is meant to prevent:

Rawhide has been broken since the 15th, First due to nss, then rdma- core, followed by policycoreutils and setools breakages. it has taken a bunch of manual work to get it all figured out, cleaned up and composes kicked off, its exactly the types of breakages that I am trying to avoid by implementing the change.

There are some users, though, who are worried about gating packages into Rawhide. They worry that this process would add delay and friction to the system and would essentially hide a number of problems from the bulk of Rawhide users, likely slowing down the resolution of those problems. Anybody who wants the truly raw Rawhide feed will still be able to get it by adjusting their package sources, though, so this may not be a big problem in the long run.

Another concern is that gating Rawhide in this way may make it nearly impossible to accomplish package transitions that affect a large part of the repository. A major version bump in an important language or library can create a fair amount of repository chaos that takes time to work out. Kevin Fenzi acknowledged that "the mass rebuild case will need to be excepted once it's 'good enough' or have some other way of landing". One possibility that was raised is that, in such cases, the strict gating would apply only to a restricted set of "core" packages.

Some participants saw this move as an attempt to turn Rawhide into something resembling a rolling-release distribution, along the lines of openSUSE's Tumbleweed. Indeed, Tumbleweed uses a similar gating mechanism to allow packages from the Factory into the distribution; the result is a rolling-release distribution with a high level of stability. Neal Gompa worried, though, that Fedora is not in a position to replicate Tumbleweed's success. For example, the project lacks the equivalent of the openSUSE Build Service which, among other things, can apply tests more quickly and can do automatic rebuilding of entire dependency chains. Over time, we may see Fedora following openSUSE's example with its infrastructure. As Fedora project leader Matthew Miller put it, "the openSUSE developers are awesome, and there's a lot we can learn from them, but if we have the will to do something, we certainly can."

At this point, the no-alpha-release proposal is exactly that: a proposal. If the discussion on the list is any guide, though, the chances of the proposal being accepted by the project are quite high. So it may well be that the upcoming Fedora 26 alpha release (currently scheduled for March 21) will be the last, and Rawhide will become a more stable option for those who want to live on the bleeding edge.


to post comments

The final Fedora alpha release?

Posted Feb 23, 2017 9:45 UTC (Thu) by niner (subscriber, #26151) [Link] (2 responses)

As a very happy openSUSE Tumbleweed user, I can only recommend to the Fedora people to follow openSUSE's course. The main ingredients - the Open Build Service (the software, while the openSUSE Build Service is a public installation of the software) and openQA are free software. So Fedora would just need to set up the server farms to run it. Or even better, combine resources with openSUSE and improve the existing infrastructure. Now _that_ would be a perfect example of coopetition that makes free software so great.

The final Fedora alpha release?

Posted Feb 23, 2017 22:37 UTC (Thu) by AdamW (subscriber, #48457) [Link] (1 responses)

Sadly it's not that simple. Distribution build systems are inevitably and inherently tied to the distributions themselves. We couldn't just deploy OBS and magically have it spit out Fedora images; there are all kinds of differences between OBS and the Fedora build pipeline. You could get an OBS instance to spit out some kind of operating system image containing some Fedora bits without too much work, maybe, but getting it to spit out all the things that make up Fedora in the ways we actually want them to be built is...not exactly trivial.

Fedora already uses openQA, along with some other automated testing systems.

The final Fedora alpha release?

Posted Feb 26, 2017 11:08 UTC (Sun) by jospoortvliet (guest, #33164) [Link]

Considering that OBS can built Debian and even Windows packages I doubt it is that much tied to openSUSE. For sure it will require work to set up a fedora build infrastructure in it but it can't be anywhere near the work needed to built a new built infra or adapt the current fedora one to handle what is needed for something like tumbleweed.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds