[dev] Horde release cycle
Gunnar Wrobel
wrobel at horde.org
Wed Jan 26 14:54:37 UTC 2011
Zitat von Jan Schneider <jan at horde.org>:
> Zitat von Gunnar Wrobel <wrobel at horde.org>:
>
>>
>> Zitat von Jan Schneider <jan at horde.org>:
>>
>> [snip]
>>
>>>>>
>>>>> I don't see the need for a minimum wait time for breaking BC.
>>>>> Breaking BC isn't something to be done without a lot of thougt.
>>>>> If BC needs to be broken, there is a good reason for it (or we
>>>>> shouldn't be breaking it). So, if there is a good enough reason
>>>>> for us to break it, we shouldn't be hampered by an arbitrary
>>>>> wait time.
>>>>>
>>>>>
>>
>> [snip]
>>
>>>>
>>>> 04/11 10/11 04/12 10/12 04/13 10/13
>>>>
>>>> FRAMEWORK_4_0 --bug---sec-|
>>>> |
>>>> FRAMEWORK_4_1 | --bug---sec-|
>>>> | |
>>>> FRAMEWORK_5 | | --bug---sec-|
>>>> | | |
>>>> FRAMEWORK_6 | | | --bug---sec-|
>>>> | | | |
>>>> master ---dev---dev---dev---dev---dev----------------------
>>>>
>>>>
>>>> As far as I understood our discussion above we all agree on
>>>> having a six month release cycle. Every six months there will be
>>>> a release of a new major or minor version. As far as I can see -
>>>> and I depicted my current understanding in the small graphic
>>>> above - this would mean that each release would have a support
>>>> window of one year.
>>>>
>>>> I don't see that as a problem as long as we are talking about
>>>> minor versions. Assuming the picture above would not list
>>>> "FRAMEWORK_5" and "FRAMEWORK_6" but "FRAMEWORK_4_2" and
>>>> "FRAMEWORK_4_3" instead: Then the "Horde4" branch is suddenly
>>>> supported over two and a half years. Maybe more in case the major
>>>> version doesn't change.
>>>>
>>>> But what if we break BC frequently? There are people out there
>>>> that code Horde based application - in fact this is what we
>>>> target. If those applications would only get a guarantee of 1
>>>> year before major work might be necessary that feels like it is
>>>> not enough.
>>>>
>>>> Following this reasoning I would say we should really avoid
>>>> breaking BC ... in fact ... wasn't Horde3 a good model? ;)
>>>>
>>>> Joking aside: I feel this is the critical point that we need to
>>>> solve. Is there a model that allows us to provide both the users
>>>> as well as the developers - custom app devs and us alike - to
>>>> have a reliable scheme that suits the specific needs of our
>>>> project?
>>>
>>> With our limited resources, I don't think so. We could not break
>>> BC, sure, but we all agreed we don't want this limitation anymore.
>>>
>>> The only solution I see is to add LTS releases to that equation. I
>>> like the more formal approach of Ubuntu better than the
>>> randomly-picked-stable-version of Kernel development, which is
>>> harder to follow.
>>> But I don't see us having the man power for that at the moment.
>>> Let's he how the release plan works that we're discussing here,
>>> and what the feedback is. I have no idea how often we are going to
>>> break BC in reality, how big those BC breaks are to pose a problem
>>> for 3rd-party developers, and if developers are going to ask for
>>> longer version support.
>>>
>>
>> I do agree and I don't see much of a problem concerning LTS as long
>> as we don't break BC every half year. But looking at our discussion
>> this is not what any of us really wants.
>>
>> But I feel I did not express my worries concerning the other side
>> of the coin well enough.
>>
>> You already mentioned above:
>>
>>>>> Breaking BC isn't something to be done without a lot of thought.
>>>>> If BC needs to be broken, there is a good reason for it (or we
>>>>> shouldn't be breaking it).
>>
>> This is what I consider to be the core of the Horde3 problem.
>>
>> Let's assume I wouldn't be able to squeeze all the Kolab library
>> rewrites into Horde4 that I feel are necessary at the moment. Not
>> that unlikely actually :)
>>
>> So in half a year I raise my lonely voice: "Hey, what about
>> breaking BC? Wouldn't that be fun to do?". And of course I get a:
>> "Nope! Not a chance!". Reasonable. What about April 2012? Same
>> thing? 2013?
>>
>> I'm not saying that such things shouldn't happen without
>> discussion. And often there will be ways around actually breaking
>> BC which such discussion might identify. But what I'd like to have
>> is some kind of way to be able to get a reliable time line for such
>> things. Maybe if we have another "BC-breaks" wiki page that gets
>> updated once a new issue which threatens BC comes up. Once the
>> first item appears on that page we require ourselves to deal with
>> the issue. Identify if it can be dealt with in a non-BC-breaking
>> way. If not we decide when the next BC break will occur right then.
>> Any BC-issues added to the page at a later point in time could only
>> move that BC-break to a nearer release. Would something like that
>> work?
>
> I'm not sure if we need a formal wiki page for that,
True, might be too much. We have other pages to keep track of our
roadmap once we decided where to place the break.
> though it wouldn't hurt either. But that's generally the process I
> had in mind when and how to decide whether to break BC.
> Someone identifies a possible BC break necessity. We start a
> dicussion about how to avoid it. If that's not possible, we target a
> release for the break, most probably the next release. The decision
> will probably influenced by the importance of the break and the rate
> or BC breaking releases in the past.
Oh, then I'm simply happy :) Thanks for the feedback!
Gunnar
>
> Jan.
>
> --
> Do you need professional PHP or Horde consulting?
> http://horde.org/consulting/
>
> --
> Horde developers mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe at lists.horde.org
--
Core Developer
The Horde Project
e: wrobel at horde.org
t: +49 700 6245 0000
w: http://www.horde.org
pgp: 9703 43BE
tweets: http://twitter.com/pardus_de
blog: http://log.pardus.de
More information about the dev
mailing list