Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116135 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 61696 invoked from network); 22 Sep 2021 14:33:12 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Sep 2021 14:33:12 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 027731804DB for ; Wed, 22 Sep 2021 08:14:26 -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=2.6 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RAZOR2_CF_RANGE_51_100,RAZOR2_CHECK,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 22 Sep 2021 08:14:25 -0700 (PDT) Received: by mail-lf1-f41.google.com with SMTP id z24so13394345lfu.13 for ; Wed, 22 Sep 2021 08:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lMBRt46H8AnhKx89ShH+DIYNOEI117kKyh27tD6i9wc=; b=W771UkUxXncqSrQqq+EuwWF5iOLuBxUlWHoODvNGKycXFKM7RiLs/0iu9exPtcYXUb s2ZZpenXhhtbrGa5qATO4YFyDXfQszVPYQ0A8XYeJl4jrBtF8LRV/m+nvnERFjgnbDfx ODIdaKQmWBzlZf5Ntdzkh4y6nUEeGA+dTuWgvVNTdWLU/R63AjNO8X6AKpC/V2A++liY jw/hezvwM1PHY7qnWl9+854b7uNI+4ox81BSVezZFO6xdvArNfjxrv9AupKuOLxStnHF J37R0WnytLC7Qtr6zw7q2y2auUo1g3cgxGgOKVz98WtJZeZ8Oe0z0kB2t525OOqGZO1K nRIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lMBRt46H8AnhKx89ShH+DIYNOEI117kKyh27tD6i9wc=; b=kDPyQLRkVtZ7BY/9dhS2kVqAWbDqA+kyxhMoNFVIagcMuc9A9w/n0chKBeKuIRVxo+ d78Q43fyCsxg0dVHrcqGhfTV17wQLBwqaVZAMuz4U/6b7I6BOXfhfqc6+L8jZDvJZGgL k50zaFIL5NFe5IPkLo5gsvmBQ1DddE3A4EpDQbKkTsywD8OA8NNgnqRyEXIktpYpnmzm KKQNj3Q+ZkwXmO6NVGMOgTG7pnSMToHpS8tb5aQyKgOdycpZjvSwSXdL7E94DrtdhIRM ClPRpjtJ5jajlxRW0QUiM7fW1rk2VJj/rI3flqNuml7xFFosVtOhrYJlpMf56GgXPkJH ktfg== X-Gm-Message-State: AOAM533YBQzwo1Z5+ItxOWBEkOhacQskyvT2zQAEaafsKIP1cg3p7RWW Kxp/gGVSWNldz8LYdDNSlzZre0dOipXt1DKjXto= X-Google-Smtp-Source: ABdhPJzpQFzFs556XKM1oC6/LkfzbXp9xI5nAK5zKJax05AoqKZGJuXbwKsdHszbeee/tLhTxRuCKuvsCRI5DBikRi4= X-Received: by 2002:a2e:1645:: with SMTP id 5mr66067ljw.123.1632323576322; Wed, 22 Sep 2021 08:12:56 -0700 (PDT) MIME-Version: 1.0 References: <5911E773-AE41-4129-B41C-3091C97EEEF0@cmpct.info> In-Reply-To: <5911E773-AE41-4129-B41C-3091C97EEEF0@cmpct.info> Date: Wed, 22 Sep 2021 10:12:45 -0500 Message-ID: To: Calvin Buckley Cc: "G. P. B." , PHP Developers Mailing List Content-Type: multipart/alternative; boundary="000000000000ecdf4b05cc96f2d5" Subject: Re: [PHP-DEV] BC breaking changes in PHP 8.1 From: mweierophinney@gmail.com ("Matthew Weier O'Phinney") --000000000000ecdf4b05cc96f2d5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 22, 2021 at 9:39 AM Calvin Buckley wrote: > On Sep 22, 2021, at 11:24 AM, 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 break= s > > 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 use= rs > > 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. > > There=E2=80=99s merit to spacing it out - I doubt anyone wants another PH= P 7 flag > day again. > > (Ask the Python people how they feel about moving all the breaking change= s > to a single release=E2=80=A6) > I can tell you now a lot of us OSS maintainers would prefer it to yearly updates. It might be a good idea not to assume, and instead actually do some scientific polling of users and ecosystem library/framework maintainers. Based on my conversations with other maintainers in the ecosystem, my experience is not isolated by any means. On top of that, I get to analyze the annual Zend user surveys, and the number one reason for people being on older PHP versions (and > 50% of respondents are, EVERY YEAR) is the cost of upgrading. Clearly, there's a perception that something is broken with the current approach, and internals is ignoring it. BTW, another good possibility, recommended by somebody responding to a twitter thread I started around this issue: work with RectorPHP to provide a ruleset for each minor release, to ease upgrades. It's far easier than having to read through an UPGRADING guide and having to figure it out for yourself. I'd argue these should be in place as soon as a beta is ready. --=20 Matthew Weier O'Phinney mweierophinney@gmail.com https://mwop.net/ he/him --000000000000ecdf4b05cc96f2d5--