[petsc-dev] significance of version numbers
Satish Balay
balay at mcs.anl.gov
Sat Mar 6 13:09:57 CST 2010
On Sat, 6 Mar 2010, Jed Brown wrote:
> There is a convention followed by the majority of free software projects
> that subminor version increments should have a backward-compatible ABI.
> So additional functions, changes to private structs, etc., are fine, but
> changing/removing function prototypes, etc., should only come with a
> minor version increment. Following this convention makes life easier
> for packagers and administrators, and I don't see a compelling reason
> not to conform.
>
> PETSc's quasi-annual releases always make some ABI-incompatible changes,
> and I don't see any clear distinction between what qualifies for a minor
> versus subminor release. Sure, some releases have "more in them", but
> that is difficult to quantify and in my opinion, not an especially
> useful metric by which to distinguish releases.
>
> So why not always do minor releases unless a release really is
> ABI-compatible? It's not like we're going to run out of numbers, Gnome
> is on 2.28 (they don't seem to bother with a subminor number at all,
> presumably because they just don't make that sort of release).
>
> Note that I'm not suggesting that subminor numbers be used in place of
> patch levels since those are purely bug fixes and contain no new
> functionality.
Each time this issue comes up - we go though a list of rationale and
slightly modify the naming convention.
And we never land at the orignial-intended convention you are refering
to. Perhaps one rationale used was: Currently linux-kernel only
changes the sub-minor version for any and all changes - so current
petsc scheme is equivalent, [instead of .p1,.p2, linux kernel uses an
extra .1,.2 etc..] and no need for petsc to adhere to the original
convention. [Also as you indicate - gnome also doesn't conform - by
removing subminor release number]
Are you sugesting going from:
petsc-3.0.0-p0.tar.gz
petsc-3.0.0-p1.tar.gz
to:
petsc-3.1.0-p0.tar.gz
or
petsc-3.1-p0.tar.gz
The alternative - not suggested is:
petsc-3.1.0.tar.gz
petsc-3.1.1.tar.gz
etc..
[if changing - I guess I don't mind the third one - provided the
curent workflow is preserved.].
Any change is bound to create some confusion with users..
Satish
More information about the petsc-dev
mailing list