Subject: Re: bug#22629: Channels not needed for a stable branch

From: [email-masked] (Ludovic Courtès)
Date: Wed, 29 Aug 2018 23:02:04 +0200

Hello Guix,

Mark H Weaver <[email-masked]> skribis:

> Both of you seem to have reached the conclusion that third-party
> channels are a prerequisite for having a 'stable' branch.  I disagree.

Same here.  We could already be doing that (I’m skeptical about the
feasibility, maintainability, and relevance of a “stable” branch in the
sense of Debian stable, but that’s another story.)

> I agree with both of you that a 'stable' branch of Guix would be
> tremendously useful.  I've often wanted it myself, and I still do.
>
> My point is that I want to keep our APIs internal and unfrozen for the
> same reason that Linux, the kernel project, does.  Linux refuses to
> support out-of-tree drivers and modules, and thereby retains its freedom
> to change their internal APIs.  Often they change how things work
> internally and this entails doing massive find-replace on every driver
> in the tree.  This has been a crucially important factor in their
> long-term success.

I had this example in mind too: the kernel technically supports
out-of-tree modules, but kernel developers have always resisted pressure
to freeze APIs.

Because this policy has been stated upfront very clearly and has
remained unchanged, out-of-tree module developers know that that the
compatibility burden is on them.  There’s flexibility, along with a
strong incentive to get things in the mainline kernel.

This is the outcome I’d like to achieve: give users some welcome
flexibility, but make it clear that it’s best-effort.

Ludo’.