I know this subject has been already discussed several times in the past, but I 
still would like to rethink our strategy for releases in OFBiz.
I am under the impression that, considering the release branch 9.04, that is 
our latest release branch:
* there are more users than maintainers
* because of this, no real maintenance plan, test strategy etc.. has been 
created around it from the community of users and interested parties (in fact 
we were not really able to officially release it)
* a lot of new users start eveluating OFBiz from that instead of the trunk
* it is rather old, several new features are missing and also code improvements 
(that could fix bugs etc)
* because of this, it tends to be less stable than the trunk

The main cons of this situations are the following:
1) not real interest in maintaining a release branch means that we will not be 
able to spend time on it and officially release it: the OFBiz community will 
miss the advantage of using the marketing channel represented by a new release
2) new users will get the wrong impression that the project is slowing 
improving if they just get the releases
3) it is much easier for a user to stay up to date with the trunk rather than 
with a release: I mean that there is no guarantee that one day someone will 
build an upgrade plan from the old release to the new one... users of the old 
release may be left behind forever

What I suggest is based on the following assumptions:
1) community is not ready or interested in maintaining releases
2) new users prefer to start evaluating OFBiz with a release instead of the 
trunk
3) it is good for the project to announce new releases often
4) because our current policies (slowly increasing number of committers, peer 
reviews, etc...) our trunk is (and will be) more stable than older releases

Here is what I suggest:
A) define an official release plan that says that we officially issue a release 
every approx 6 months (just to give you an idea): since there is no way to 
define a set of features that will go in the next release, our releases will be 
based on dates instead of features; but of course we can discuss the exact time 
of a release based on what is going on 1-2 weeks before the release date
B) there is no guarantee that patches will be backported to releases, that 
upgrade scripts will be created from release to release

It is true that the ASF policies ask that a release, that represents the code 
that is distributed by the ASF to the larger audience of users, is a "stable" 
deliverable; but if we continue with the current approach, even if it is 
intended to get a stable and maintained release, what we are really doing is 
distributing the code in the trunk (this is what we suggest our users to use 
instead of the release), not the "stable" release.

What do you think?

Jacopo



Reply via email to