You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Pierre-Arnaud Marcelot <pa...@marcelot.net> on 2009/08/11 15:18:17 UTC

Re: [ApacheDS] How about yet another versioning scheme conversation gang?

+1 for the "future scheme" as it's the same we're using for Studio. ;)
After 14 releases of Studio using the scheme, I have to say it's my
favorite...

Regards,
Pierre-Arnaud


On Tue, Aug 11, 2009 at 3:04 PM, Alex Karasulu <ak...@apache.org> wrote:

> Not like we've had enough conversations that sucked up vast amounts of our
> time before on this topic.  However after a conversation with Emmanuel I
> think we might have to present another approach.
>
> Current Scheme
> ----------------------
>
>   o We have major.minor.micro numbers.
>       - major number denotes massive architectural shift
>       - minor number denotes feature introductions
>       - micro number denotes bug fixes and optimizations without changes to
> interfaces, db formats etc
>   o Minor numbers were either 0 or 5.  The 5 was for experimental branches
> with many big features being added across different releases in the branch.
> The 0 was for stable branches where no new features were being added but
> only fixes and optimizations were made.
>   o The 0 or 5 schema came from the even/odd schema used in the older linux
> versioning scheme for the kernels before 2.6.  We switched to 0/5 because we
> wanted the move from 1.0 to 1.5 to mean more than a number change but to
> represent the shift in JDK compatibilities.  1.5 will only run on JDK 1.5
> and up.
>
> There's some good things about this schema and some bad things.
>
> 1. The scheme used takes a long time to bring about a minor release with
> "stable" feature additions.
> 2. Many of our 1.5 releases though were more stable than our 1.0 so this
> connotation was no longer working for us.
> 3.  The scheme was slowing us down but hopefully (not that we could measure
> it) was leading to a more stable LDAP server.  Not like we were building a
> desktop app that can get restarted to clear out leaks and such.
> 4. The scheme is just strange.  Going from 1.0 -> 1.5 then to 2.0 is odd.
> What do we do go to 2.5 next?
> 5. What about nice little features that did not take time to do but must
> wait for other major features to be deemed 'stable' and usable?  They don't
> get to the user fast enough.
>
> I'm sure lots more can be found for and against this model.  But at this
> point with the 0/5 stuff is just odd lookin and hard to make sense of.
> After a convo with Emm on IRC we came up with the following new scheme:
>
> Future Scheme
> --------------------
>
>   o We have major.minor.micro numbers:
>       - major number denotes massive architectural shift
>       - minor number denotes feature introductions
>       - micro number denotes bug fixes and optimizations without changes to
> interfaces, db formats etc
>   o We bump up minor numbers whenever we add a new feature no matter how
> many new things were added.
>   o We bump up micro numbers in case we make a bug fix or improvement.
>
> The idea here is to just keep bumping organically as we like.  We can for
> example just go to 2.0.0-rc1 after 1.5.5.  This seems like a natural
> progression to get us out of this old scheme with one last .5 increment.
> Then we can just keep bumping as we add feature after feature without the
> requirement for micro bug fix releases.  So we can have a 2.1.0 then a 2.1.1
> etc or just jump to 2.2.0 from 2.1.0.  Up to us.  This is the cool thang
> about it.
>
> With this freedom comes benefits to our users.  They get to see features
> faster since we do more releases back to back.  Hopefully though greater bug
> introduction will not be there.  But this is a balanced risk we will have to
> take. So our releases will sort of be like what Atlassian does for example
> for JIRA and Confluence.
>
> Thoughts?
>
> --
> Alex Karasulu
> My Blog :: http://www.jroller.com/akarasulu/
> Apache Directory Server :: http://directory.apache.org
> Apache MINA :: http://mina.apache.org
>
>