[lots of snippage below]

On Tue, May 15, 2012 at 9:59 AM, Robert Schweikert <rjsch...@suse.com> wrote:
> A release a month does not work for packagers. With CloudStack code being
> open source it can be included in distributions. If there is a release every
> month packagers will quickly feel like they are chasing their own tail and
> thus give up. Other cloud platforms appear to sustain their momentum with a
> timed release cycle of a bout 6 month. This is a reasonable time period for
> packagers of a comunity distribution.
>
> I think one needs to think about the long term goal first. for this there
> are only two models, either feature based releases (release date floats) or
> time based releases (no "guaranteed" features). Many projects do well with
> time based releases. With a release cycle of 6 month it is not really that
> tragic if a particular feature misses a given release as it will be in the
> next release (if it's ready) that is only 6 month away.

I agree, and personally feel very strongly that we should be targeting
a time-based release. I don't know if I like the 6 month cycle - 3 or
4 given the rate of innovation in the field seems a little more
manageable. At the same time, maybe X.Y (as defined below) is what
happens on those release cycles and we permit  X.Y.Z+1  more
frequently but constrained to bug fix only releases.


>
> The key to time based releases is to hit he "promised" date. Time based
> releases where the date slips all the time are not in fact time based and
> people loose interest as the project is seen as unreliable.

This is exactly why I feel strongly about time-based releases. And
even in time-based releases there can be slips, but nothing near the
level that we see with feature-based releases. This positively sets
the expectations among users around when to expect something new, it
affirmatively sets the schedule/plan with contributors, so everyone
can know exactly what is going on and when, how much time they have
left to work on issues, etc.

>
> My suggestion would be to go with a 6 month time based release cycle and
> also decide on a version numbering scheme.
>
> X.Y.Z
>
> - X : increases when there is a "major" change in architecture or some major
> new feature
> - Y : increases with every release every 6 month (reset when X increases)
> - Z : increases when there are "must fix bugs" or annoying bugs that get
> fixed in a release branch (reset when Y increases)

Wholeheartedly agree with the above versioning logic.

>
> I think it would be reasonable to make a list of what needs to be done to
> get a community release out the door and then put a stake in the ground and
> say "we will be done on XXXXX". Count this as the first release and then
> switch to the time based model. What Citrix does in between is should not
> really have an effect. Of course it will on timing as initially there is
> probably a lot of work required by Citris contributors to get processes,
> testing etc. moved toward the community.
>

What do we think is a reasonable time to get a release out? 3 months?
4 months? 6 months?  Lets find where we need to place the stake and do
so soon.

--David

Reply via email to