[dev] Horde release cycle

Chuck Hagenbuch chuck at horde.org
Mon Jan 31 05:35:04 UTC 2011


Quoting Ben Klang <bklang at horde.org>:

> This is why I want to set a policy for minimum time between breaking  
> BC.  It does not have to be set in stone, but it does set  
> expectations.  We have to balance the needs of internal development  
> with the needs of external development.  My opinion is that we need  
> to promise consumers of our library something to justify their  
> investment in our code.  Also, by establishing a timeline, we can  
> tell Gunnar that he does have to wait to break BC for now...but only  
> until June 2012.  And then we document whatever changes are backward  
> incompatible and assist developers in migrating.
>
> All of this effort is only important if Horde wants to attract  
> external developers.  I see that as a hidden asset of the Horde  
> project itself -- there are lots of other groupware packages out  
> there but Horde is better suited than most for 3rd parties who want  
> to integrate tightly into our apps.  This may not be our primary  
> objective.  If we need to be more concerned with Groupware features  
> than API stability maybe we do not put as much effort into our BC  
> promise.  It's a matter of priorities.

I think that recent history is on the side that developers will work  
with your platform if people use it, and it's useful, and unless you  
do absolutely crazy things, you can break BC moderately often and  
they'll adjust.

I don't say that lightly, but I think given the choice between a  
stagnant platform and one that takes some work to keep up with, most  
developers will choose the one they need to keep up with - with the  
exception of the enterprise world where apps are still stuck on IE 6 -  
and that's not fun for anyone.

So, I vote with more frequent major releases, not breaking BC just for  
the hell of it, but certainly not being afraid to do so - every 12-18  
months feels about right to me - and only going the LTS route if we  
get a lot of feedback that we need to do so.

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.

-chuck


More information about the dev mailing list