[dev] Branches (again), Horde 4.1/5, recent IMAP changes

Michael J Rubinsky mrubinsk at horde.org
Mon Oct 31 21:47:05 UTC 2011


Quoting Michael M Slusarz <slusarz at horde.org>:

...

> this up again, but I will again raise my frustrations with working  
> on IMP, especially as it relates to critical code changes.  *NO*  
> other application relies so heavily on Horde-level code - e.g. MIME,  
> IMAP, Text_Filtering code - and that makes it extremely difficult to  
> fix certain items.  It takes me many times longer to fix an issue,  
> simply because I have to go through the mental gymnastics of having  
> to figure out how not to break existing APIs.  IMP should not be  
> less stable, or less able to be bugfixed, simply because it has more  
> of a reliance on global Horde libraries but unfortunately, that is  
> the case.

What would you suggest the solution to this be? A BC break is a BC  
break. While your frustration is well deserved and understood,  
wouldn't this be trading ease of fixing bugs (making things easier for  
you/us) for less API stability (something that would negatively impact  
consumers of our code)?

The only real solution I see to this while not bumping major version  
numbers of the framework libraries (see below) is a willingness to  
Horde's major version number sooner when these things are  
fixed...though that would open up an entirely different can of worms.

This also demonstrates a bit what I was saying in my previous email.  
Strictly speaking, the framework libraries do not necessarily have to  
be included in what we call "Horde 4" anymore (except maybe Core).  
"H4" has lost a bit of it's meaning when compared to H3, IMO.

This is how I think about it:

An application's *external* interface needs to remain stable  
throughout the major version number. OTOH, if a change in a framework  
library requires a corresponding change in how an application calls  
that library, or deals with it's values then *that* change can be  
dealt with by bumping the version of the component and bumping the  
minimum required version in the application's package.xml file. This  
retains stability in the framework library because we bumped the major  
version, but doesn't hinder our developent efforts because the release  
wasn't delayed until the next "Horde x" release.

-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org



More information about the dev mailing list