Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116133 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 57278 invoked from network); 22 Sep 2021 13:51:08 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Sep 2021 13:51:08 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E6648180002 for ; Wed, 22 Sep 2021 07:32:22 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS16276 94.23.0.0/16 X-Spam-Virus: No X-Envelope-From: Received: from processus.org (ns366368.ip-94-23-14.eu [94.23.14.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 22 Sep 2021 07:32:22 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by processus.org (Postfix) with ESMTPA id C639F5101324; Wed, 22 Sep 2021 14:32:16 +0000 (UTC) Message-ID: <00a86a2a-59ee-4f7c-a5f1-fe63f3d5ec44@processus.org> Date: Wed, 22 Sep 2021 16:32:16 +0200 MIME-Version: 1.0 Content-Language: en-US To: Matthew Weier O'Phinney , "G. P. B." Cc: PHP Developers Mailing List References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Authentication-Results: processus.org; auth=pass smtp.auth=pierre-php@processus.org smtp.mailfrom=pierre-php@processus.org X-Spamd-Bar: / Subject: Re: [PHP-DEV] BC breaking changes in PHP 8.1 From: pierre-php@processus.org (Pierre) Le 22/09/2021 à 16:24, Matthew Weier O'Phinney a écrit : > On Wed, Sep 22, 2021 at 9:01 AM G. P. B. wrote: > >> On Wed, 22 Sept 2021 at 14:30, Matthew Weier O'Phinney < >> mweierophinney@gmail.com> wrote: > As somebody who's been contributing to and maintaining OSS libraries > forever (since 2002), the pace of change of PHP is, frankly, ridiculous. I > can keep up with patches. I can keep up with new features. But BC breaks > EVERY YEAR just creates churn. I've spent most of the past 18 months doing > nothing but ensuring libraries work on new PHP versions. I then get users > angry that they aren't getting new features; if I don't update to the > latest PHP version, I get other users angry they can't use the library on > the newer PHP version. And with new PHP versions every year... I > essentially have to update every 2-3 years regardless, and will lose users > if I don't do it every year. > > Figure out what the BC breaks are going to be, and do them all at once. > It's far easier for the ecosystem to adapt to a big drop of BC breaks every > 3-5 years than it is every year. > > Again, I DO like the resource objects feature. But getting a few here and > there over many minor releases is a lot of breakage to track and adapt to. > And that's just the tip of the iceberg. Hello, I fully understand your situation, but I want to mitigate, I do maintain a few OSS tools (and much more internal code where I work for) and I experienced those PHP upgrades as well (one project when from PHP 5.6 to 7.4 and its platform code served as a basis for a new one using 8.0, for example, but I have many), and it never was such a pain. Laminas is a huge framework thought, so it seems more likely that you experience this pain*10 compared to me. Nevertheless, I have an opposite opinion, I think that until now, PHP has did an extremely good job in not making too much BC breaks, and keeping those BC breaks easy to deal with. Regards, -- Pierre