So essentially it's

ARCH.MAJOR.MINOR.PATCH or REWRITE.MAJOR.MINOR.PATCH

insofar as the Architecture of 5 is different from 4, though the concepts are related.

I don't know, I just see minor and patch to be somewhat too closely related, or at least they should be. 5.1.1->5.1.2 could be a bugfix or an implementation change if it is purely internal or has no API impact, 5.1.x -> 5.2 would be API additive, but could also be a bugfix or a feature. 5.x -> 6.x just wouldn't happen. I think this is possible as long as .z level features don't stew in the pot too long and releases are reasonably regular. The only difference would really be that a bugfix might result in a quick shuffle to release sooner, possibly even grabbing from a previous tag and branching to get the fix out sooner so as not to polute the "fix" with new code, then just rev the snapshot version currently on the trunk and merge the isolated change in if it's still relevant. There's not a huge core-committers list here, so I'm thinking it's manageable.

Christian.

On 19-Feb-08, at 18:21 , Ulrich Stärk wrote:

I think http://commons.apache.org/releases/versioning.html is a good guide to what I mean and it doesn't seem that uncommon at the ASF (from a quick scan at least Struts, commons and OpenJPA use it). The only difference is that we prepend 5 to the major number.

Uli

Ulrich Stärk schrieb:
I agree that my proposal demands some discipline from the developers.
But as a user I want to have new features and improvements now. And not with the next stable release. And I want to have them without having to rework everything I have done so far. (You know, we are like children :-)) I once learned that time to market of a product is crucial for its success. When you always wait with new features until the next stable release and then also reserve the right to introduce API incompatibilities within that same release you are forcing your users to either use unstable software or drive them away completely to one of your competitors. I really urge you to weigh up the effort needed to coordinate a small bunch of developers against the benefit of being able to release new features with the guarantee to not introduce API incompatibilities. 5.MAJOR.MINOR.PATCH is my favorite with MAJOR changing when introducing API incompatiblities and MINOR when adding new features.
Uli
Kevin Menard schrieb:
While I can appreciate that the kernel devs found the odd/even didn't
work for them, as a user I appreciated it more.

That's neither here nor there, though.  From a pragmatic standpoint,
the A.B.C.D scheme, aside from being really long, makes POM
management a pain.  If Howard has one idea of what he's going to do
next and I have another and Ted has a totally different one, we'll
run into people bumping B, C, or D.  At best you end up with a bunch
of confusing version bumps.  At worst, someone forgets to make the
bump (and this will happen), so 5.B.C+1-SNAPSHOT ends up containing
an API incompatibility that should have really been in
5.B+1-SNAPSHOT.  Now, I'll concede that SNAPSHOTs are subject to
breakage, but they shouldn't be so foolishly.

If these concerns can be allayed using another method, I'm open to
it.  As I've said earlier, it's a non-trivial matter to consider, so
the more quality suggestions, the better.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to