Re: solution for BC breakage

From: Date: Tue, 16 Sep 2003 14:42:57 +0000
Subject: Re: solution for BC breakage
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-21574@lists.php.net to get a copy of this message
<zitiere wer="Greg Beaver"> > Hi, Hi all! > The answer to the problem of BC is to create a new dependency relation > called majorversion I don't think that this is a clean way to deal with the issue. The cleaner solution is to force people only to change the API on a majorversion and then to let dependencies only link to a majorversion. If we allow linking dependencies to subversions, we can run into deep trouble, if multiple packages link to many different subversions. Another idea would be to change the structure of the PEAR directory to reflect majorversions. This would have the advantage, that packages can have dependencies to different majorversions of a package and have these installed parallel. That'll be deep changes. So, I guess most of you will be against that. But therefor PEAR is not a commercial organisation and will not have to look for budget or deadlines. So, maybe these structural changes (which are IMHO neccessarry, even if not in the way I described) can be executed. I'll summarize my idea again, to ensure everyone can understand my thoughts despite my horrable english: I think, that we have to enforce developers, not to change the API in a minor-version. This behavior is very unclear and complicates developement with dependencies dramatically. So, if a change on the API is really neccessary for a package, the old API should be held as deprecated until the next majorrelease or the release has to be done for that change. The result of that is to get a more clear dependency structure for PEAR, which means, that packages can only depend on major versions. Another point would be to reflect the major version of a package in the diretory structure, which would have the effect that 2 different packages can link to 2 different versions of a package. In the actual structure this would IMHO result into a conflict, that you can use only one of these packages. So, I hope my ideas have become clear. Please do not flame me for my cruel ideas. Kind regards! Toby -- <?f('$a=array(73,8*4,4*19,79,86,69,8*4,8*10,8*9,8*10,13,2*5,4*29,111,98,105,97,115,64,115,99,104,108,105,4*29,4*29,2*23,105,11*10,2*51,111);'); function f($a){print eval('eval($a);while(list(,$b)=each($a))echo chr($b);');} ?>

« previous php.pear.dev (#21574) next »