Re: [RFC2] Handling Backwards Compatibility in PEAR

From: Date: Sat, 20 Sep 2003 10:05:08 +0000
Subject: Re: [RFC2] Handling Backwards Compatibility in PEAR
References: 1 2  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-21838@lists.php.net to get a copy of this message
Couldn't agree more. Zitat von Stefan Neufeind <stefan@neufeind.net>: > On 20 Sep 2003 at 12:39, Alexey Borzov wrote: > > > Stefan Neufeind wrote: > > > > > This is not what we discussed, right? This way you can't have a 2.x > > > and 3.0 co-exist on a system. For sure this should be no problem on > > > a computer you're working on - but it might become a problem in > > > webhosting-environments. > > > > Lets say this loudly: if you want to fully control your environment, > > you'll need to keep a private copy of PEAR. If you are using a hosting > > that does not allow this, tough luck. You get what you pay for, > > generally. > > Agreed. But you can't say "well, your provider upgraded and now the > app doesn't run anymore? your problem.". That's not possible. And as > a provider you will always get questions like "was the update > necessary" and "everything ran fine - so why did you update" etc. > For sure you have to update to keep pace with the development and all > new features introduced in newer versions. But you will have a hard > time with all customers who's apps you break. And you can't fully > retest every app nce you've updated. > Don't take it personally but: Wouldn't such a "you get what you paid > for" and "it's not my problem" be a bit ignorant to the > circumstances? I prefer using a dedicated server or at least a > virtual server myself - but many other people don't. So classical > webhosting is a problem - and as a provider you can run into real big > problems when you upgrade and all customers start getting angry at > you. > > > > You can't just judge on what version > > > installed packages depend but you also need to judge: > > > - if any packages that may need to be installed in the near future > > > depend on the old version - if any apps (that you don't know of > > > because they're not listed in the package deps) still need the old > > > version > > > > I think it is not feasible. > > If a new version of, say, glibc comes out Linux ditributors do not do > > clever hacks to make old and new glibc versions co-exist. They simply > > rebuild the existing packages for the new glibc. Why shouldn't we do > > the same? > > a) Because it's not a simple "rebuild" like with most c-sources. You > need to change tha API accordingly. > b) You don't have everything centralised like a Linux distributor > has. A distributor knows all the packages he ships and can therefor > make adjustments so that on the day he releases a new glibc he also > provides the other packages in an updated form. > c) We're not only talking about packages but also about apps. And you > can't judge about all apps on your server. Maybe some even are only > available in bytecode (refering to as 'encoded', because they might > be commercial PHP apps shipped without source). > > > > Even if you remove one or two functions or rename them you will > > > break BC - and this should, in my eyes, be a new Foo2, v2.0. For > > > sure the dev should consider this version step / API breakage > > > carefully so he doesn't run into version 68.5 after a year :-)) So > > > if the API changes we could suggest that the new API set is thought > > > about carefully and that all plans for the foreseeable future are > > > considered in one (!) API-breakage-step. > > > > Package maintainers tend to change. Careful planning will not help > > here. > > Okay, if maintainers change you're right. But what I intended was to > make people think carefully that they don't change the name of a > function (and by this break API and require a new major version) and > a month later they rename another function (bumping the major version > by 1 again). Maybe we can assume that people will think this far - > but we should give them a hint to think this way :-)) > > Stefan > > -- > PEAR Development Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > Jan. -- http://www.horde.org - The Horde Project http://www.ammma.de - discover your knowledge http://www.tip4all.de - Deine private Tippgemeinschaft

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