You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Bertrand Delacretaz <bd...@apache.org> on 2005/05/23 07:30:03 UTC
Releasing 2.2 (was: [RT] Micro kernel based Cocoon)
Le 23 mai 05, à 07:13, Reinhard Poetz a écrit :
> ...Let's release "Cocoon 2.2 alpha1" as soon as possible. When the
> contracts are stable we use the "beta" postfix. This will increase the
> number of people who use and test the release and finally we can
> release "Cocoon 2.2.0 final"...
Releasing 2.2 soon would allow us to stop keeping the 2.1 branch in
sync, which is a pain IMHO.
But are there enough visible incentives in 2.2 for people to make the
switch? Do we have cool, exciting samples of the new features?
I'm not sure, and if we haven't, people might just keep on using 2.1,
and the risk is having too much pressure to maintain 2.1 instead of
being able to move on.
-Bertrand
Re: Releasing 2.2 (was: [RT] Micro kernel based Cocoon)
Posted by Peter Hunsberger <pe...@gmail.com>.
On 5/23/05, Bertrand Delacretaz <bd...@apache.org> wrote:
> Le 23 mai 05, à 07:13, Reinhard Poetz a écrit :
> > ...Let's release "Cocoon 2.2 alpha1" as soon as possible. When the
> > contracts are stable we use the "beta" postfix. This will increase the
> > number of people who use and test the release and finally we can
> > release "Cocoon 2.2.0 final"...
>
> Releasing 2.2 soon would allow us to stop keeping the 2.1 branch in
> sync, which is a pain IMHO.
>
> But are there enough visible incentives in 2.2 for people to make the
> switch? Do we have cool, exciting samples of the new features?
>
> I'm not sure, and if we haven't, people might just keep on using 2.1,
> and the risk is having too much pressure to maintain 2.1 instead of
> being able to move on.
We tend to trail at least one release behind so that we can determine
if any major bugs show up in a new release and what it means for us to
migrate. On occasion that means we skip a release if something is
broken that we depend on (rare) or if we get too far behind. More
frequent release of Cocoon would just mean we skip more release...
We do tend to use new features of Cocoon when we have a project
underway that results in new code on our side. For instance, with our
next major release of our code (currently in development, with 2 other
releases in the testing pipeline in the mean time) we should finally
have everything switched over to flow (no more actions for flow
control).
It wouldn't make a huge difference to us if a final 2.2.0 was
released. If the reports where that it was somewhat stable, then
sooner or later we'd get around to testing it and determining the
impact on our application. Once we'd could evaluate that we'd fit the
migration into our schedule. (If it's a big change, that might mean 6
months to a year before it hits production.)
Personally, I'd say JFDI; build a 2.2 alpha, only put new features in
2.2 and plan on keeping on doing bug fixes on the 2.1 branch through
at least a 2.1.9.
--
Peter Hunsberger
Re: Releasing 2.2
Posted by Ralph Goers <Ra...@dslextreme.com>.
I believe it is the bug you reported.
Paul Crabtree wrote:
>>As a matter of fact, Leszek
>>provided a fix last week for what seems to me to be a pretty serious bug
>>in flow and this alone should warrant a 2.1.8 release.
>>
>>
>
>Hi Ralph,
>
>We are about to go to production with an application built on 2.1.7
>that uses flow heavily. Could you point me in the direction of this
>bug that Leszek has fixed so i can work out whether we are affected.
>
>Regards, Paul.
>
>
Re: Releasing 2.2
Posted by Paul Crabtree <pa...@gmail.com>.
> As a matter of fact, Leszek
> provided a fix last week for what seems to me to be a pretty serious bug
> in flow and this alone should warrant a 2.1.8 release.
Hi Ralph,
We are about to go to production with an application built on 2.1.7
that uses flow heavily. Could you point me in the direction of this
bug that Leszek has fixed so i can work out whether we are affected.
Regards, Paul.
Re: Releasing 2.2
Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Carsten Ziegeler wrote:
>Daniel Fagerstrom wrote:
>
>
>>That is a reason for increasing minor version, but not for maintaining
>>parallell branches for years.
>>
>>
>If we don't maintain the "old" 2.1.x branch, what about all its users?
>Do you want to force them to migrate to 2.2? That's simply not
>realistic. We should be able to provide bug fixes for all those out
>there using our project.
>
>
Have never disputed that we have to maintain 2.1 for some while and that
we must go the alpha->beta->stable cycle for 2.2.
My message is that I fail to see that we gained anything from creating
an unstable development branch and that we should avoid doing that
mistake in the future.
If we want to remove deprecated code, we have a routine for that: wait
long enough time, so that everyone have had the chance to do anything,
vote about it, remove the code and step up the minor number. If we at
that point feel that we still need to maintain the previous version, it
means that we removed the deprecated code to early and the we probably
should readd it and schedule the removal to the next minor release.
Mainteining two versions because of to early removal of deprecated code
seem like a bad idea.
For API changes the situation is obviously more complicated, so we must
really know what we are doing and if possible make it possible to use
the new and the old in parallell for some while.
If this can't be done, we need to maintain an old branch for a period.
But in this case we should try to decide for how long time we maintain
it and remove it afterwards. And it should IMO be marked as a
compability branch rather than the stable one.
IMO we should really try to let trunk contain the stable branch in the
future. The idea of an unstable development doesn't seem to fit well
with our *actual* community dynamics. And it doesn't fit well with agile
development methods either. And it is IMO highly questionable if it has
done anything good for us since 1.0->2.0. To me it rather seem to hurt us.
/Daniel
Re: Releasing 2.2
Posted by Carsten Ziegeler <cz...@apache.org>.
Daniel Fagerstrom wrote:
>
> That is a reason for increasing minor version, but not for maintaining
> parallell branches for years.
>
If we don't maintain the "old" 2.1.x branch, what about all its users?
Do you want to force them to migrate to 2.2? That's simply not
realistic. We should be able to provide bug fixes for all those out
there using our project.
Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/
Re: Releasing 2.2
Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Carsten Ziegeler wrote:
>Daniel Fagerstrom wrote:
> --- o0o ---
>
>
>>Probably I'm missing important aspects, but I fail to see what the split
>>into trunk and stable have bought us, except for less testing,
>>disruption and possibly sloopier coding as the branch is supposed to be
>>unstable anyway.
>>
>>
>One of the main reasons for creating 2.2 are incompatible changes. We
>removed some deprecated api and stuff like that in 2.2;
>
That is a reason for increasing minor version, but not for maintaining
parallell branches for years.
/Daniel
Re: Releasing 2.2
Posted by Carsten Ziegeler <cz...@apache.org>.
Daniel Fagerstrom wrote:
--- o0o ---
>
> Probably I'm missing important aspects, but I fail to see what the split
> into trunk and stable have bought us, except for less testing,
> disruption and possibly sloopier coding as the branch is supposed to be
> unstable anyway.
>
One of the main reasons for creating 2.2 are incompatible changes. We
removed some deprecated api and stuff like that in 2.2; so it's not that
easy to just run an application for 2.1.x using 2.2 - you might be
affected by the changes. So we provide compatibility with 2.1.x. We give
the users the guaranty that they can safely update from 2.1.x to 2.1.x+1
(ok, there are exceptions to this rule).
Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/
Re: Releasing 2.2
Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Carsten Ziegeler wrote:
>Ralph Goers wrote:
>
>
>>I doubt many will switch until 2.2 is stable - i.e we've had a few
>>releases of it. I would recommend that we continue doing maintenance on
>>2.1 until at least a stable 2.2.0 is released and possibly a release or
>>two later. That doesn't mean that new features need to be backported to
>>2.1 though.
>>
>>
>Exactly. It took a long time until the majority updated from 2.0 to 2.1;
>and still there are many installations out there using 2.0.x. So we have
>to maintain 2.1.x for a long time.
>But as soon as 2.2 is final we don't have to sync the branches anymore,
>just for bugfixes.
>
>
I think you are mixing cause and effect: 2.1 and now 2.2 become unstable
because we *let* them become unstable. We removed them from extensive
user testing and feedback by marking them usstable. And user testing and
feedback is the only thing that creates *real* stability. As developer
your testing is always limited to your own prejudices about what the
feature should be used for.
By marking the 2.1 and 2.2 unstable we also created the impression that
it is ok to add new features without discussions and tests and that
someone else will take care of the problems later. Also it creates
discontinuity, people avoid going 2.0->2.1 and 2.1->2.2 because so many
changes has been allowed to add up during the years between the minor
releases, so that it will require a lot of work to port.
As we have let this happen for 2.2 we must of course maintain 2.1 for a
while and go through an alpha->beta->stable cycle for 2.2. But I really
think we should avoid this mess in the future.
--- o0o ---
So lets evaluate what we have gained by spliting in a 2.1 and 2.2
branch. It was supposed to be necessary for developing "real blocks", I
don't see that it has helped us and I fail to see why it should be
necessary. And as being active in this area I should know at least
somthing about it.
If we take a look on what is new in 2.2, we copied the ECM to the Cocoon
repository and changed the package names. I don't think that introcuced
any instabillity. After that there have been various refactorings of
ECM. If these have introduced back incompabilities, there should have
been votes about it, if there hasn't been votes it rather shows that it
is dangerous to have a "playground" branch.
I don't think that the introduction of includes in cocoon.xconf, lazy
loading of components, local classpath for sitemaps, or hosting of other
IoC containers (see
http://www.anyware-tech.com/blogs/sylvain/archives/000171.html) should
have caused any incompability or instability for those not using it.
For those things I have been involved in: JXTG refactoring was done
without disturbing uses of the original one until the community felt
confident with switching. The same process could have been followed in a
stable branch. And we probably would have got more testing as the ablity
to use it without flow is a feature that several users have asked for.
VPCs have not affected existing functionality, they could actually even
have been developed in an own block.
My work on "Sitemap blocks" haven't affected any existing functionality
either and can be moved to a block if we want.
--- o0o ---
Probably I'm missing important aspects, but I fail to see what the split
into trunk and stable have bought us, except for less testing,
disruption and possibly sloopier coding as the branch is supposed to be
unstable anyway.
/Daniel
Re: Releasing 2.2
Posted by Carsten Ziegeler <cz...@apache.org>.
Ralph Goers wrote:
>
> I doubt many will switch until 2.2 is stable - i.e we've had a few
> releases of it. I would recommend that we continue doing maintenance on
> 2.1 until at least a stable 2.2.0 is released and possibly a release or
> two later. That doesn't mean that new features need to be backported to
> 2.1 though.
>
Exactly. It took a long time until the majority updated from 2.0 to 2.1;
and still there are many installations out there using 2.0.x. So we have
to maintain 2.1.x for a long time.
But as soon as 2.2 is final we don't have to sync the branches anymore,
just for bugfixes.
Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/
Re: Releasing 2.2
Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 23 mai 05, à 08:06, Ralph Goers a écrit :
> ...I doubt many will switch until 2.2 is stable - i.e we've had a few
> releases of it. I would recommend that we continue doing maintenance
> on 2.1 until at least a stable 2.2.0 is released and possibly a
> release or two later. That doesn't mean that new features need to be
> backported to 2.1 though...
And that's the big difference IMHO. Once we can say that 2.1 is
strictly in maintenance mode, with new features being added to 2.2
only, the syncing work would be much less.
But this means getting at least an alpha release of 2.2 out of the
door, I think.
-Bertrand
Re: Releasing 2.2
Posted by Ralph Goers <Ra...@dslextreme.com>.
Bertrand Delacretaz wrote:
> Le 23 mai 05, à 07:13, Reinhard Poetz a écrit :
>
>> ...Let's release "Cocoon 2.2 alpha1" as soon as possible. When the
>> contracts are stable we use the "beta" postfix. This will increase
>> the number of people who use and test the release and finally we can
>> release "Cocoon 2.2.0 final"...
>
>
> Releasing 2.2 soon would allow us to stop keeping the 2.1 branch in
> sync, which is a pain IMHO.
Well, it will let us eventually do this, but I don't believe we will be
ready to drop support of 2.1 anytime soon. As a matter of fact, Leszek
provided a fix last week for what seems to me to be a pretty serious bug
in flow and this alone should warrant a 2.1.8 release.
>
> But are there enough visible incentives in 2.2 for people to make the
> switch? Do we have cool, exciting samples of the new features?
>
> I'm not sure, and if we haven't, people might just keep on using 2.1,
> and the risk is having too much pressure to maintain 2.1 instead of
> being able to move on.
I doubt many will switch until 2.2 is stable - i.e we've had a few
releases of it. I would recommend that we continue doing maintenance on
2.1 until at least a stable 2.2.0 is released and possibly a release or
two later. That doesn't mean that new features need to be backported to
2.1 though.
Ralph