Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115360 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 20458 invoked from network); 8 Jul 2021 01:11:54 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 8 Jul 2021 01:11:54 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 403F31804AA for ; Wed, 7 Jul 2021 18:34:01 -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.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) (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, 7 Jul 2021 18:34:00 -0700 (PDT) Received: by mail-qk1-f179.google.com with SMTP id t19so4110388qkg.7 for ; Wed, 07 Jul 2021 18:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JrSJb3UAZVAVD0kCYqk9vyN9OfNh2fpp4P0mxFHI4VA=; b=Pw3k1y01/90zKJNxBecHOzkaDRF89IyvL4PpM582L/rX74EeqnSL+MDotFP7JlCHxf z2uXM7vFQuLY110GiQxd6ZY5X1qG+/RnA6p35tvwtxQ4L5apyen8mp/KXhw3HmAq2rs1 BuzLYv0yMCVrcnnjruufVbOPNAyZLXk+284K8hUkrj3RU86Yd18EiIevRkFlFkk3JxuH rRYnbT4/hm2vhIDGaq2FdDjJP0z6isg/gglyxwhhHsf72/DN8oWWW4ifXCEiV1kM3tIZ BFzJCfRKDyCnPLXr7GhWYlVj0RHHGBkYC2HXSzY9UBs4XBk1Vl4cVj5yOkAvHA5m3KcU 2dkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JrSJb3UAZVAVD0kCYqk9vyN9OfNh2fpp4P0mxFHI4VA=; b=GNhyWURTld75FdvUBWK/Attcq1axQ0yQuMBGnOru/cD7gc6KQ5IUTJnITFsTFi1ZNL yM0uwY0wDVMAajppvr1tO2OiIV8Rs9r6XnmRpC9bRAo5G5ArA+NGPsNVT+LXLqbaMIVY xFJYIQY+FqmjWyFwBhXUxEwoWKpOC5GqN/zq7bXP9QeevIehVhM1zYoNAZ5LgWls/aVO nnD9Z9YMojLRI2Kf++Xhy8wuqQktopK5urhvnZoB2kJ0q6NetfhMOpmCU92/I3dYwTfc mOGvOXR92btY1Wi+tlE5H0OV4M2rWcfuGgmzAK5XiO50slOKHJHTSphv1wxa0telGLwr Ukaw== X-Gm-Message-State: AOAM531S9wUexVRl/w/DMwn6XMiRSe4VfDfFp+TaVsogp599wSp5Lq5t NETsnFmIzOa9z8SSVwhkzoTsAA== X-Google-Smtp-Source: ABdhPJzFFR850URDx+Jui3JSWzWIUHxzEnXnhanqzjaiMHQDgVM+mV7EkNmBjOABSYFzMLNhJQ7JSA== X-Received: by 2002:a05:620a:1593:: with SMTP id d19mr28755873qkk.290.1625708038912; Wed, 07 Jul 2021 18:33:58 -0700 (PDT) Received: from [192.168.1.10] (c-24-98-254-8.hsd1.ga.comcast.net. [24.98.254.8]) by smtp.gmail.com with ESMTPSA id z68sm328466qke.86.2021.07.07.18.33.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jul 2021 18:33:58 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) In-Reply-To: Date: Wed, 7 Jul 2021 21:33:57 -0400 Cc: Jakob Givoni , php internals Content-Transfer-Encoding: quoted-printable Message-ID: <2E4D2A97-6E63-4161-ACB1-CA762AFDAD76@newclarity.net> References: <1dcefcec-a3e4-e773-4950-b11d377ecc7f@gmail.com> <122F660D-DE94-4DFE-A0E9-FEC202E89E3A@newclarity.net> <62eb8eff-e671-5b3b-5e25-2a5b38160fcd@gmail.com> <586591d0-8bbc-a42c-f92b-819b8fc6ac20@gmail.com> To: Rowan Tommins X-Mailer: Apple Mail (2.3608.120.23.2.7) Subject: Re: [PHP-DEV] [VOTE] Deprecations for PHP 8.1 From: mike@newclarity.net (Mike Schinkel) Replying to Rowan and commenting on Nikita's message. > On Jul 6, 2021, at 4:24 AM, Rowan Tommins = wrote: >=20 >> Instead I replied because your email strongly implied (stated?) that = "deprecation required removal" >=20 > I stand by that interpretation, which while not universal is very = widely used, and I think is more useful than a general hint at "bad = practice". >=20 > You spend most of your e-mail seeming to argue against it, and then = seem to say that actually you do agree with it after all, and all you're = saying is that sometimes the deprecation period should be longer: What I was disagreeing with is your assertion that "by definition" = deprecation must be followed with near-term removal. > I am not advocating that. I am advocating we should consider making = it: >>=20 >> "features that are strongly discouraged will*probably* be removed in = the next major version, but in some cases may be retained for one or = more major versions." >=20 > I'm totally OK with that. >=20 > I do think that there should be a clear *plan* for removing each = deprecated feature, though. That plan might be "deprecate in 8.1, and = examine prior to 9.0 whether usage has dropped / the alternatives are = mature / etc". It might flat out be "deprecate in 8.1, but don't remove = until 10.0". >=20 > Otherwise, the message becomes "this feature is kind of bad, and at = some point we might decide to drop it without further notice, but = actually we might not, so no hurry to remove it", which I just think = isn't that helpful. The "plan" that makes the most sense is one that takes into = consideration the BC breakage that would occur at the time of removal, = and that is not something you can project _in advance_. IMO you cannot = really know in advance how long a feature might continue to be used in = the wild in some cases, you can only evaluate the current situation when = the time comes. =20 Or as they say "no battle plan survives first contact with the enemy" = and "facts on the ground matter." > On Jul 6, 2021, at 9:30 AM, Nikita Popov wrote: >=20 > As far as this RFC is concerned (and this is the customary phrasing = for all > deprecation RFCs), all changes are for deprecation in PHP 8.1 and = removal > in PHP 9.0. That's the baseline. >=20 > However, nothing prevents you from starting an RFC prior to the PHP = 9.0 > release that counters the prior decision and extends the deprecation = period > for another major version. However, the onus is now on you to argue = that > something previously deprecated should not be removed (or not be = removed > yet). If you cannot make a strong argument for that, then the default > action is taken. >=20 > We do still carry a couple deprecations from PHP 5 times around, = because > actually removing the affected functionality has some technical = issues. And this is exactly how it should be. That deprecating a feature w/o = near-term removal is a legitimate approach to have people vote on. IOW, = that deprecation does not "by definition" require near-term removal. Removal is determined when appropriate and by vote, and not any = hard-and-fast "IF deprecated THEN must be removed soon." Please note that I am fully respecting the ballot and voting outcomes = here; if people always vote to remove a deprecated feature in next major = version that so be it. =20 But RFC authors should be allowed to propose a long time horizon for = removal without being told they "are doing it wrong." -Mike