[dev] Horde release cycle
Michael M Slusarz
slusarz at horde.org
Wed Feb 9 18:42:34 UTC 2011
Quoting Chuck Hagenbuch <chuck at horde.org>:
> Quoting Ralf Lang <lang at b1-systems.de>:
>
>>> I've tried to synthesize this thread into a concrete proposal here:
>>> http://wiki.horde.org/Draft+Release+Cycle
>>>
>>> I don't claim that I've taken everyone's feedback into account because
>>> some viewpoints were opposing. :) But I did try to go with consensus
>>> where it seemed to exist.
>>
>> The page content seems like the direction that would work for me.
>>
>> Question:
>>
>> In the page you say you expect major releases about 12-18 months
>> and you want
>> to support the current and previous release.
>>
>> This would mean with H4 coming in april 2011, H3 will not see end of life
>> before april 2012, right?
>
> Yup, that's what we'd be committing to if we adopted that policy.
Coming in VERY late to this conversation, but wanted to add just a bit
of input based on things/code I maintain (e.g. IMP)...
I am *very* concerned about BC issues. BC issues essentially stalled
development on IMP 4 for the last 3-4 years. Some of this has to do
with the fact that a bunch of IMP was abstracted out and moved to the
framework Horde in the interests of reusable code. I can now say, in
hindsight, that this was one of the worst design decisions I ever
made. The MIME code was not stable enough for this to happen when it
did, our rendering code was tied up in framework/Horde, and it became
near impossible to make UI changes to incorporate new features that
were not expected before.
Truthfully, the moral of the story is/was that I should have
self-contained all the necessary code in IMP to prevent these issues.
This sort of destroys the whole idea of using a framework, but from an
application level it works much better.
I bring this up because, quite frankly, I am a bit concerned about BC
issues with the forthcoming release. For IMP we have brand new IMAP,
MIME, and rendering libraries (again). I'd like to think these
libraries are much better and more stable than their predecessors.
But bugs and design flaws have a way of not rearing their ugly head
until after the first stable version is released. (e.g. I am
currently in the process of rewriting a bunch of IMAP fetch code
because in order to better handle broken input from IMAP servers.)
It sounds like there is a plan to churn releases out on a regular
basis. This is a good thing. But I am against the idea that, within
a given major release for example, we are allowed absolutely NO BC
changes. If something is irreparably broken, it needs to be fixed.
If some design decision we made in the last few years turns out to be
untenable when put into production, it needs to be fixed sooner rather
than later. I am entirely willing to sacrifice rigid API stability
for the flexibility needed to fix things properly.
And I am still a proponent of having an application be able to
indicate that a particular PEAR/Horde library needs to be a certain
version in order to work properly. Not sure if that is still
something we are considering.
michael
--
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the dev
mailing list