Re: RFD: Kernel release numbering

From: Jeff Garzik
Date: Thu Mar 03 2005 - 04:26:09 EST


Greg KH wrote:
On Thu, Mar 03, 2005 at 03:27:42AM -0500, Jeff Garzik wrote:

Greg KH wrote:

Sure they've been asking for it, but I think they really don't know what
it entails. Look at all of the "non-stable" type patches in the -ac and
as tree. There's a lot of stuff in there. It's a slippery slope down
when trying to say, "I'm only going to accept bug fixes."

We have all these problems precisely because _nobody_ is saying "I'm only going to accept bug fixes". We _need_ some amount of release engineering. Right now we basically have none.


Linus says that in -rc releases, are you not paying attention to that?
(yes, I know you are...)

The point there is that users, who are conditioned in the software world to think "release candidate means bug fixes only" come to Linux only to learn that

-rc1 isn't a release candidate, it's just the first public test kernel.
-rc2 isn't a release candidate, it's just a signal to kernel developers to slow down
-rc3 may be a release candidate, unless Linus does something typical and merges non-bug fixes.
-rc4 is probably a release candidate
...

The users ARE paying attention to this -- this is precisely why they do not take -rc releases seriously.


Bug fixes for what? Kernel api changes that fix bugs? That's pretty
big. Some driver fixes, but not others? Driver fixes that are in the
middle of bigger, subsystem reworks as a series of patches? All of this
currently happens today in the main tree in a semi-cohesive manner. To
try to split it out is a very difficult task.

Easiest to answer with a concrete example:

Linux 2.6.11 is released. Linus then does a
bk clone linux-2.6 linux-2.6.11

Bug fixes that
(a) 2.6.11 users really should have, or
(b) Linus/Andrew feels are important, or
(c) a subsystem maintainer feels are important [and does the work to split out the fixes]

go into linux-2.6.11 repo, and then is pulled into linux-2.6 repo.

All other changes go into linux-2.6.

There's no need to over-think or over-work this. The goal is to provide a stable 2.6.11 for users, until 2.6.12 is available.


Will Linus start accepting 2.6.12 patches right after 2.6.10 is out?


My prediction is that several patches will flow into the linux-2.6.11 repo a week or so after a release, and then the flow will die off to a trickle. Subsystem maintainers that care can submit patches/BK-pulls for the stable release if they so desire.

Only important "oh shit, that should have been in 2.6.11" bug fixes need apply. Bug fixes for reworks, API changes, etc. are -not- applicable to linux-2.6.11 repo.

Since BitKeeper can handle nicely a
cd linux-2.6
bk pull ../linux-2.6.11
there is no duplication of bug fixes.


That sounds very sane to me, I can live with it.

The main point is, will people really test the 2.6.odd releases to help
us out in making this new scheme work. If so, I'm all for it.

2.6.X.Y is a bit different from 2.6.{odd|even}.

With 2.6.X.Y, you are not limited to single bugfix release.

With 2.6.X.Y, the kernel only gets successively more stable and bugfixed, without having to worry about new breakages.

With 2.6.X.Y, you are giving the users a familiar paradigm for understanding the release mechanism.

With 2.6.X.Y, all releases are "real releases." You're not tricking the users with semantic games.

So there is a strong incentive not only to test... but to _use_ our releases.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/