Hi Chris, all,

Just as a heads up we will be publishing some of the conversations we've had
about a possible road map and initiatives.  More in line ...

On 5/3/07, Chris Custine <[EMAIL PROTECTED]> wrote:

Now that there is some discussion of the roadmap and feature list for the
next few releases of ApacheDS, I am wondering if anyone is interested in
discussing the versionin numbering and release scheduling for the next few
releases?


Yeah I'm very interested in some of the points you made during the
conference.

There are two specific issues that come to my mind with the current
methods.  First of all, with a fairly extensive and aggressive list of new
features soon to show up on the roadmap, I am wondering about the viability
of the odd/unstable and even/stable numbering scheme.


I'm very fond of this scheme because it allows us to tell users that
interfaces and backing stores can be changed during an unstable release.
This removes the need for us to make sure we're backwards compatible with
previous interfaces and partition data formats. However others might not
feel this is all that useful.

I am thinking that it may be better to go to a flat versioning scheme with
no built in meaning, other than bug fixes releases and new feature
releases....  To be clear, I am saying that 1.6, and 1.7 would both be
production releases and the user would not have to know any special
meaning....  1.6.1, 1.6.2, etc. would be bug fixes, etc.  The reason I
suggest this is to make room for release early/release often type of
releases and to make the version numbers much easier to comprehend.


Well we can release early and release often regardless of this even/odd
thing.  I don't think the two are coupled.  Perhaps you mean releasing
stable versions more often instead of being stuck in a feature release
branch?

Right now we hold back for months even though we release feature releases in
an feature introduction branch like 1.5.x.  These release are not
necessarily unstable though.  So perhaps we should just stop calling it
unstable or even bother with feature/bugfix branches?

If we combine the first idea with breaking the roadmap into smaller chunks,
we can manage the pace of change much more easily and introduce new features
and enhancements without the overhead of managing the other versioning
scheme and the two phase releases (unstable stable).


Not sure if there is much overhead here tho.  Someone mentioned that the new
scheme of releasing features with stable releases would create more overhead
for maintaining and supporting these releases.  Also there is the
documentation nightmare of tracking which features correspond to which
release.  Although I must admit that I kind of liked this idea of releasing
stable versions with new features these considerations scare me a bit.

Mainly I am just suggesting a simplification of the version numbering and
roadmap planning to allow us to do more releases with smaller changesets
while still maintaining the ability to easily to bugfixes on release
branches in SVN.  If we release often, merging bugfix branches into the
development branch is much easier and has less merge conflict, and the
version numbering change will help make that a reality.  I do realize the
need to have some features in the builds that we don't exactly indend for
production use, but instead of letting that requirement dictate our
versioning, perhaps we could label those features as experimental in the
documentation or find a similar solut ion?


Yes this is an option (re: labeling certain features as experimental).
Perhaps we can get more people to chime in on this.  I'm torn between the
two ways.  Each has pros and cons.

Obviously this is a big topic that is sure to start much discussion, so does
anyone else have any strong opinions on this?


Yep we need more feedback.

Alex

Reply via email to