[dev] Horde release cycle
Gunnar Wrobel
wrobel at horde.org
Fri Mar 18 21:32:01 UTC 2011
Zitat von Chuck Hagenbuch <chuck at horde.org>:
> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von Gunnar Wrobel <wrobel at horde.org>:
>>
>>>
>>> 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!
>>
>> There is something in this thread that hasn't been clearly decided
>> yet. I'm quoting only part of it, please look up the archives for
>> the complete thread.
>>
>> How long do we support major versions with security fixes?
>>
>> This is tightly connected to the question of how many branches we
>> want to maintain. Two approaches have been brought up in this thread:
>>
>> 1) Provide security fixes for at least 18 months.
>> or
>> 2) Provide security fixes for the most recent two major versions.
>>
>> Assuming two extreme scenarios, these would be the consequences:
>>
>> We break BC 3 times in a row and thus released 3 major versions in a row:
>> 1) We are going to maintain up to 4 branches.
>> or
>> 2) We are going to provide security fixes for no longer than 12 months.
>>
>> We don't break BC 3 times in a row and thus released 3 minor
>> versions in a row:
>> 1) We are going to maintain only 2 branches.
>> or
>> 2) We are going to provide security fixes for eternity.
>>
>> We could probably do a combination of both approaches, but I doubt
>> this will make things clearer. I'm in favor of approach 2 because
>> this is the only thing we really can promise with the limited
>> developer resources we currently have IMO.
>
> I agree with Jan (security fixes for the most recent 2 major versions).
+1
>
> -chuck
> --
> 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