Re-engineering (3): Version numbers

I've stated my [views about
versioning](http://sourceforge.net/mailarchive/message.php?msg_id=3D15113906)
before; summarizing quickly:

Our version numbers NOT coupled to underlying libraries
-------------------------------------------------------

I'd like us to break the tight coupling of our library version number to the
versions of the underlying libraries (note, plural) that we are wrapping, thus
freeing us to use the traditional major.minor.patchlevel (`z.y.x`) numbering
to properly signal API changes without having much of anything to do with
whether or not GTK or GNOME finally chooses to go to "`3.0`" next week or next
century.

[The bump to `4.y` and `3.y` is to avoid being re-entangled the moment that
the myriad GNOME libraries arbitrarily do the jump to `3.0`. As has been
pointed out elsewhere, that event will probably be marketing-driven and 
will _not_ likely imply an API or ABI break! Good optics, but bad programming
juju]

Therefore, our next release set will be (plus or minus whatever naming scheme
we use):

    glib-java   4.0.x
    cairo-java  4.0.x
    gtk-java    4.0.x
etc.

Which as a whole will be called "`java-gnome 4.0`". The pieces that are part
of the GNOME bindings set will happily go into "`GNOME 2.18`" or whatever with
these version numbers.

Release plan
------------

One final note here -- the first golden release set of the new bindings will
be **`java-gnome 4.2`**:

* `4.0` will be us hacking and bashing it into shape. I'm hoping it will be
  ready by GNOME 2.18 [March '07], assuming the work is funded;

* `4.1` will be the first unstable branch when the point eventually comes along
  after we have ported apps to `4.0` that we need to advance the bindings
  without wrecking those apps, whenever that comes. It's going to happen --
  we're sure to have forgotten something {shrug}; and

* that `4.1` will become `4.2` when it goes out with the next formal GNOME
  release after `4.1` is ready. Crystal ball time? Perhaps "`GNOME 2.20`"
  [Sept '07] or "`GNOME 2.22`" [March '08]). Here's hoping!

AfC

_Originally written as an email to java-gnome-hackers by Andrew Cowie on 7 Sep
06; last modified 7 Dec 06. This document is fairly transient and will likely
be removed once a more rigorous release plan is written_

<!--
 
  Copyright © 2006 Operational Dynamics Consulting, Pty Ltd

  As project documentation, this file forms an integral part of the source
  code of the library it accompanies, and thus is made available to you by its
  authors as open source software: you can redistribute it and/or modify it
  under the terms of the GNU General Public License version 2 ("GPL") as
  published by the Free Software Foundation.

  This program is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE. See the GPL for more details.

  You should have received a copy of the GPL along with this program. If not,
  see http://www.gnu.org/licenses/. The authors of this program may be
  contacted through http://java-gnome.sourceforge.net/.

  vim: set textwidth=78 nowrap:

-->
