RE: [PEAR-DEV] BC breakage results
| From: | Lukas Smith | Date: | Fri, 19 Sep 2003 16:22:10 +0000 |
| Subject: | RE: [PEAR-DEV] BC breakage results | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-21784@lists.php.net to get a copy of this message | ||
> From: Greg Beaver [mailto:greg@chiaraquartet.net]
> Sent: Friday, September 19, 2003 6:17 PM
>
> Alexey Borzov wrote:
> > Hi!
> >
> > Greg Beaver wrote:
> >
> >> 1) What should be done about minor BC breakage?
> >
> >
> > Minor BC breakage should be clearly communicated and resolved
between
> > package developers and clearly stated in release notes for the
users.
> > For the record: I don't think that we should require x.0 releases
for
> > each minor BC breakage. Or else some PEAR packages risk reaching
20.0
> > quite soon.
> >
> >> 2) How much of an API change would be necessary to do a Package2
> release?
> >
> >
> > That should be decided by package maintainer. My point of view is
that
> > if this is feasible to have 2 versions of package and use them
*both* at
> > the same time, then go for Foo2.
> > I'd also say "API change that cannot be handled by Search/Replace".
>
> > Documentation and automated testing will solve most of the problems.
> > Of course, it is more fun to write RFCs than docs and tests. ;P
>
> Maybe for you ;) - I would much rather write code, docs and tests, but
> if I just coded the solution I see as the best one for BC handling and
> committed it with unit tests and docs, I guarantee that people would
not
> be happy - they would most likely scream for my head on a stake :).
>
> If you don't think so, check the archives for the touchiness of
> committing a new feature to the core (Tomas's DTD package, for
instance).
>
> How's this for a solution:
>
> Add a requirement to the coding standards page that says if any other
> PEAR packages depend on your package, and you are going to make a
minor
> change, you must notify the maintainer of that package so that they
can
> do a release that is compatible with your new package's version, or
one
> that requires an earlier version. A two week waiting period should be
> allowed for people to respond, and then if nothing is heard back, it's
> their problem and not yours if the minor break kills their package.
Nah, that is just adding needless regulations. Normal courtesy would
suffice here. Added to that we have a don't break BC in a minor version
update policy. Quite simple.
Remember: regulations are a necessary evil. We should keep them to a
minimum that is easy to understand and remember.
Regards,
Lukas