[GRASS-dev] GRASS 6.3.0 release preparation

Paul Kelly paul-grass at stjohnspoint.co.uk
Sun Aug 12 04:05:09 EDT 2007


On Sat, 11 Aug 2007, Glynn Clements wrote:

> Paul Kelly wrote:
>
>> I was just thinking, the Python GUI can probably be merged into the CVS
>> HEAD after a release branch has been created for 6.4.x (probably won't be
>> ready for that for at least a couple of months). Then there will be 6.5.x
>> - we can probably start making other major changes there and release it
>> eventually as 7.0? How does that sound?
>
> I'm disinclined towards the creation of 6.4/6.5 versions. I would
> prefer to see stable = 6.3.x, dev = 7.0-cvs.

But that breaks with our convention of having odd sub-versions (5.3, 6.1 
etc.) for incremental releases of "under-development" versions and even 
sub-versions (5.0, 5.4, 6.2 etc.) for releases of stable versions with 
incremental bugfixes.

The way I see it, we should be making reasonably regular 6.3.x releases 
right now from the CVS HEAD. These are just development releases, to 
encourage people to test the latest developments, without having to get a 
CVS version. I actually think there's a good argument for releasing 
development versions at fixed intervals (e.g. every 2 months) - keeps 
everything well tested, adds a bit of motivation for developers to finish 
up new features shortly before a release is due and that kind of thing.

With that logic in mind I really think we should release 6.3.0 straight 
away, right now - it isn't necessarily supposed to be totally stable - and 
then release successive 6.3.x releases, if necessary, in the next couple 
of months until we feel we're ready for a stable release - then we create 
a branch in CVS and release 6.4.0 from that.

And after that the CVS HEAD is freed up to start putting major changes in. 
What the next version is called is a different issue though, but I think 
the move to SVN should be transparent and we don't need to use the actual 
move as a tool to help out version control - the situation with the two 
repositories for 5.0 and 6.0 resulted, as I understand it, because 
development on 6.x (then called 5.1.x) started way before 5.0.x had had 
its first stable release, and it was impractical to develop them both from 
the same repository. I think we're better organised enough now not to have 
to do that.

Anyway version numbering - I don't see how we can ever call the CVS HEAD 
7.0-CVS - because 0 is an even number - 7.0-CVS implies incremental 
bugfixes to an already-stable 7.0 version??? That's what it seems to me. 
How would incremental development versions be numbered then? Considering 
6.2-CVS and 5.4-CVS - those both correspond to ultra-stable CVS 
branches that only have occasional bugfixes added to them. Much as in 
5.7-CVS became the 6.0.0 stable release, it seems to me (or it *did* seem 
like that ;) that after the 6.4 branch is created, the CVS becomes 
6.5-CVS, and this eventually becomes 7.0.0. BUT that breaks with the logic 
than changes in sub-version number should not result in major incompatible 
changes. This seems to be a flaw in our version-numbering system that I 
never noticed before, and I'm a bit stumped by it. Perhaps everyone else 
realises it already and that's why no one else is as pedantic about the 
version numbering as me.

I suppose the question really boils down to are we going to abandon the 
sub-version numbering (odd development, even stable) system, or not? I feel 
it hasn't been totally unsucessful, but we really should have made more 
out of it by releasing more development versions. As far as I remember it 
was supposed to be similar to the Linux kernel system, and wonder how they 
handled the numbering of development releases before a major version 
number change - but (a) I don't think there's been one in the last 9 
years, the time I've been using Linux anyway and (b) I suspect their 
system is also changing too as they find different ways of working. 
Bernhard used to have some interesting thoughts about this sort of thing; 
I wonder if he is still listening.

Anyway, I just wanted to make clear why I suggested a 6.4 release branch 
followed by 6.5 CVS leading to 7.0.0. Although now I'm not quite as sure 
what's the most logical way forward...

Paul




More information about the grass-dev mailing list