Concerning: New guidelines for BC breaking releases

From: Date: Sun, 07 Dec 2003 19:12:51 +0000
Subject: Concerning: New guidelines for BC breaking releases
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-24227@lists.php.net to get a copy of this message
I shortly discussed the new guidlines with Lukas the other day http://pear.php.net/group/docs/20031114-bbr.php Now i was thinking about it, what it means for packages that depend on other packages. I know that those new guidelines are made to solve those problems, here my concern (hopefully you can eliminate it right away). Lets have a look at the following example. I have a package that depends on another package, i.e. MDB_QueryTool. Now MDB releases a new major version (MDB2), to be able to use MDB_QueryTool with the MDB2 it would mean to release a new version of MDB_QueryTool that would be MDB_QueryTool2, right? Ok, that's a simple case, I could live with. But a short time later someone improves MDB_QueryTool and since those updates are quite big a new major version shall be released, that would be MDB_QueryTool3. And if MDB3 comes along the MDB_QueryTool3 has to be updated to MDB_QueryTool4. So we have already 4 major versions, where two of them were only needed due to a depending package:
MDB_QueryTool    actual initial release
MDB_QueryTool2 new major version due to dependency on MDB, which has
                 released another major verison MDB2
MDB_QueryTool3 new features in this package itself, new major version MDB_QueryTool4 same reason as for MDB_QueryTool2 Ok that was a simple case i think. But if you have a package which depends on multiple packages, which release new major versions, the new major versions might increase inflationary and the maintainers always have to watch out and update with every update the package depends on ... or not? The example might be the QueryTool1, which one day might see the light of this world, this would then make it possible to use any data-container abstraction below, i.e. which are (as i think of it now): DB, MDB, DB_ldap, DBA, etc. Now this package has 4 dependencies, and for every new major version of one of those packages it would also need a new major version of QueryTool? The sepearation of sub-packages (such as QueryTool_LDAP, QueryTool_MDB, QueryTool_DB) might handle this? If so then the structure of some packages might need to be rethought. Sorry for this long mail ... I hope someone can eliminate my doubts on the feasablity of the new guidlines, or tell me my worries are not relevant ... just my 2 cents -- Wolfram http://opensource.visionp.de ... authentication system .... http://sf.net/projects/auth

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