Subject: Re: NetBSD version naming - suggestion
To: None <kre@munnari.OZ.AU>
From: Havard Eidnes <he@netbsd.org>
List: current-users
Date: 04/20/2003 12:44:59
Hi,

I'll have to side with those who oppose your proposed new numbering
scheme.

First off, it seems that people who have a difficulty with trying to
compare 1.6.1 to 1.6L or 1.6O (or whatever version of NetBSD-current
produced after the netbsd-1-6 branch was created), or who try to
"upgrade" from 1.6R to 1.6.1 (which will of course fail miserably) have=

not really grasped what creating a "branch" means, and that it's
possible (and customary) to do maintenance on such a branch by applying=

selective fixes on the branch independent of the development which is
happening in -current, and that such maintenance continues for a Long
Time after the initial major release.

It's also clear that those who try to "upgrade" from 1.6R to 1.6.1 have=

not read the first part of the install notes either, in particular the
section "Upgrade path to NetBSD 1.6.1".

I get extremely queasy with the introduction of "magical numbers with
special meaning" in your proposed version numbering scheme, and frankly=
,
don't really see what it helps against.  Instead, the rule "contains
letters, is not a release" should be quite straight-forward to
understand.

I'll claim that the current versioning scheme is self-consistent and
relatively easy to understand, given that you understand the concept of=

branching, separate maintenance on different branches, and the basic
difference between a release and NetBSD-current.

The old example of 1.4.3A has been mentioned, and yes, it was the
successor of 1.4.3 on the netbsd-1-4 branch, and I'm guilty of that
change.  At the time it seemed logical to distinguish it from the 1.4.3=

release proper, and appending a letter would indicate "this is not a
release", much in the same way as was done in -current and which
practice continues to this day.  My recollection doesn't go that far
back, and I'm not online right now so I can't check, but I think a
similar thing was done for the immediate successors of 1.4.1 and 1.4.2
as well.

According to the version numbering/naming scheme used for a while on th=
e
netbsd-1-5 branch, it should have been renamed 1.4.4_ALPHA; with the
introduction of the _STABLE naming convention it should perhaps have
been renamed to 1.4.3_STABLE.

As for the change to __NetBSD_Version__ in sys/param.h, it doesn't
contain sufficiently many bits to distinguish between 1.4.3,
1.4.3_STABLE and (the nonexisting, and not forthcoming) 1.4.4, so on a
maintenance branch you either bump it right after a release or right
before a release.

Regards,

- H=E5vard