[Distutils] Attempted summary of version number thread

Konrad Hinsen hinsen@cnrs-orleans.fr
Mon, 14 Dec 1998 17:46:45 +0100

> the anarchists, the middle-of-the-roaders, and John Skaller.  The
> control freaks (me, Fred, and Konrad -- at least you two said you agree
> with me!) are in favour of prescribing *syntax* for version numbers and
> *suggesting* semantics.  The *proposed* syntax and semantics that I

Right, and it seems worth pointing out again why, or rather to what
extent, the interpretation of version numbers should be unified.

The criterion is that it must be clear both for human users and for
installation programs
1) which of two versions is newer
2) if two versions are compatible, i.e. use the same APIs

The first criterion could be met by any "reasonable" version numbering
scheme, plus a package-specific routine for comparison, as has been
pointed out by the "anarchists". But the second one is less obvious to
realize. For the installation program, another package-supplied
routine would be sufficient, but it should also be clear for a normal
user whether version 1.2.3 is merely a bug-fix update to 1.1.0 or uses
a non-compatible API. Another distinction that matters for the
user is whether code is production level or experimental. Within
these limits I am willing to leave all the freedom people want,
such as whether to start at 0 or at 1.

So perhaps the following scheme might be acceptable: Version numbers
start with an API version number, then any combination of letters and
punctuation that is likely to make sense to a human reader, followed
by an optional "alpha" or "beta" indicator. The first number would
change only if a package cannot be used as a drop-in replacement for
its predecessors. Is that something the "anarchists" could agree on?

Konrad Hinsen                            | E-Mail: hinsen@cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-
Rue Charles Sadron                       | Fax:  +33-
45071 Orleans Cedex 2                    | Deutsch/Esperanto/English/
France                                   | Nederlands/Francais