branches (Re: Fedora Extras, Fedora Core CVS Open!)

Havoc Pennington hp at redhat.com
Fri Dec 17 16:28:22 UTC 2004


Hi,

There is one very important reason for branches, and that is freezes. In
the GNOME project we had exactly this same debate back in the day; lots
of people did not want to branch, they wanted to keep the same version
and rebuild it for multiple GNOME releases.

The problem is that then people cheat on the freeze rules. The stable
branch of GNOME was bugfixes only. So if you didn't branch, there was no
way to do any development - you had to follow the most restrictive
freeze for any release you might build into. Of course the people most
annoyed by having to branch were also the people making the most changes
and doing the most development. ;-)

Fedora is a bit different, because we do allow package updates with new
versions and new features, something GNOME does not allow. So it is more
acceptable not to branch. Even for Fedora though there are a lot of
changes that would be inappropriate in an already-released version of
the OS.

But consider that we're using the same build and CVS setup for RHEL,
where branching is pretty much absolutely mandatory and we don't want to
risk any changes to the stable branch unless they are *explicitly*
backported.

The original explanation of the GNOME rules is here:
http://mail.gnome.org/archives/gnome-hackers/2002-June/msg00041.html

Perhaps it's interesting how things work today in GNOME: we allow
maintainers to branch when they want, which is essentially "the first
time they do a non-bugfix (want to break the freeze)" - but the branch
name is standardized, and they have to mail the translators and docs
teams that the branch has happened, and they can't put in freeze-
violating changes until they branch. 

So I'm not advocating here that we need Fedora to work one way or
another, I'm just pointing out that there's a problem with having all
your development work automatically/implicitly affect already-released
versions of the OS.

Remember that the primary task of a distribution is integration, and
that means the packages have to be tested as a set; you invalidate that
integration work if you aren't thinking about what changes are
reasonable in each version specifically.

Again, Fedora does have a goal of keeping stuff as updated as possible,
but I still think we want to think about whether a change is right for
already-released versions rather than automatically having much of
rawhide propagating back.

It's also possible that Core and Extras are different in how they handle
this stuff.

Dunno, .02

Havoc





More information about the fedora-devel-list mailing list