On May 21, 2012, at 9:22 PM, Sergiu Dumitriu wrote:
Hi devs,
Given that each development cycle usually starts with bigger changes and ends with a
couple of stabilization releases, IMHO it makes sense to keep the last branch of a cycle
maintained for a while longer.
Our current strategy is to only support two branches at a time, the one being developed,
and the one before it. This means that as soon as [N].0 is released, [N-1].5.x is dropped.
However, the [N-1].5.x branch is much more stable and polished than the fresh new start of
the cycle, so more people would be interested in using that stable version, especially in
enterprise situations. Thus, I propose to amend our support rule to keep the end-of-cycle
branch active for, let's say, 6 months. Still, this means only that we backport major
or critical issues, which would improve the stability of that branch, without any new
features.
I don't like it because the point of the 2 branches only was twofold:
1) Force users to move to the newer version and thus help us test it. Users get XWiki for
free and it's good that they contribute something back. Testing is contributing back.
Your proposal basically means that you're telling users: "Don't use the new
N.0 release because it's not ultra stable yet, instead, stay on N-1.5.x and wait 6
months. With this strategy we'll have less people testing N.x and 6 months down the
road N+1.x will be less tested.
2) It's more work. We already have a hard time maintaining N.x. For example right now
we have an important bug that was fixed in 4.0.1 and we're not even releasing 4.0.1
when we should. Also we're fixing bugs on 4.1.x that we're not backporting to
4.0.
Also note that this means less work done on the N.x and N+1.x and our dev team is already
very small (about 5-6 active committers)…
I think I'd prefer a slightly different strategy:
* As a team we keep the same rule as now, i.e. only 2 branches (dev branch + stable)
* If a given committer wants to maintain another branch himself a bit more, he can do it
but he should state it on a case by case basis so that others don't delete it and then
it's up to him to backport stuff he wants to the branch and close it when it's no
longer needed.
WDYT?
Thanks
-Vincent