[Zope3-dev] A thought on backward compatibility and minimum versions

Jim Fulton jim at zope.com
Thu May 31 14:15:01 EDT 2007


On May 31, 2007, at 2:08 PM, Dieter Maurer wrote:

> Jim Fulton wrote at 2007-5-31 10:12 -0400:
>>
>> In thinking about how we might specify that we want to depend on
>> major versions but sometimes need to specify minimum versions, the
>> following occurred to me:
>>
>> - Suppose that we always had access to the latest released version,
>>
>> - Suppose that, within a major release, all releases were backward
>> compatible,
>>
>> Then I assert that there is no *need* to specify a minimum release
>> within a major release.
>
> I fear my colleagues responsible to maintain the productive versions
> would not be happy:
>
>   They want the system to be as stable as possible.
>
>   If they need to introduce a new component, they usually
>   prefer to just add this one component. Only if this forces
>   other updates, they reluctantly will make them.
>
> The motivation for this behaviour: even if a newer version
> is supposed to be backward compatible, it often has slightly different
> behaviour which may trigger bugs in the other parts of a complex  
> system.

I agree, but this control should occur at at a different place.  I  
suggest that when deploying or releasing an application or system,  
you want to fix all of the versions so that a released or deployed  
configuration is repeatable and so that changes are introduced in a  
controlled way.  This can be done in a number of ways.  You can have  
an application meta-package that specifies all of the versions, or,  
if you are using buildout, you can use buildout's facilities for  
fixing versions.

For individual reusable "library packages", you want to make the  
dependencies as non-restrictive as possible so as to maximize  
flexibility and reusability.

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the Zope3-dev mailing list