Fedora Splits and Goes Faster

Rawhide Gets its Own Branch

Red Hat's community Linux has undergone a major development change shift with its bleeding edge now becoming its own branch. A look at what the move means and why it matters.

The bleeding edge of Red Hat's Fedora Linux community has long been the branch of Fedora code known as Rawhide. New contributions land in Rawhide first, marking the tip of new Linux development for Fedora, though activity there slows down during Fedora release cycles.

As a result of a new move taken by Fedora developers this month, however, Rawhide is evolving to ensure that even when new Fedora releases are coming, the bleeding edge of Linux development won't grind to a halt.

The change could mean that Fedora development will now be accelerated, with work continuing for the next major milestone, Fedora 13, while development on what will become Fedora 14 now occurring simultaneously in Rawhide. Fedora 13 is currently scheduled for a May 11 release.

"In the past, as we got into the testing phases for a release such as Alpha or Beta, Rawhide would be representative of that pre-release state," Fedora Project Leader Paul Frields told InternetNews.com. "In theory, fewer changes would be allowed into Rawhide the closer we get to release."

As the thinking went, making sure to avoid allowing changes back into Rawhide better ensured stability. But Frields said that while limiting changes is natural for a tree that's about to be released, it's not ideal for the tip of development: The same tree can't be used at the same time for stabilization and for trying brand-new code.

As a result of that method -- in which Rawhide was used as part of the regular Fedora release cycle -- new contributions did not really start to flow in until after a major Fedora release.

"The resulting flood of changes would typically result in an unusable Rawhide for some time while people pick up the wreckage and fix things -- from a few days to a few weeks, depending on what brand-new code was being unblocked," Frields said.

As a result of the new approach, Rawhide development is not frozen during a Fedora release cycle. Frields explained that what has happened is Fedora has now branched code development for Fedora 13 and separated out that branch from Rawhide.

"Rawhide is now carrying those packages that will be in Fedora 14, about nine months from now," Frields said.

What it all means, according to Frields, is that developers can now ensure an even higher level of stability for Fedora 13 while the bleeding edge of development can continue on the Rawhide branch. The move ensures that both current, stable Fedora development as well as future features can be developed at a more rapid pace. Frields noted that under the previous approach, once Fedora hit an Alpha pre-release, developers were stuck without a place to try out new code.

"Now we can give them the best of both worlds," Fields said. "After the branch point, developers can push new ideas into Rawhide, while continuing to stabilize the branched prerelease that's coming sooner."

Frields added that the new model also will help Fedora to generate higher-quality final releases because developers will have a greater ability to push questionable changes away from the prerelease and into a constantly fluid Rawhide.

"Finally, this process allows us to promote more innovation, because we aren't blocking changes during the testing phase for the next release," Frields said. "There's always somewhere for new and innovative code to go: the Rawhide tree."