Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115770 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 20974 invoked from network); 22 Aug 2021 22:09:04 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Aug 2021 22:09:04 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A27A01804DB for ; Sun, 22 Aug 2021 15:42:36 -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.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,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-vs1-f45.google.com (mail-vs1-f45.google.com [209.85.217.45]) (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 ; Sun, 22 Aug 2021 15:42:36 -0700 (PDT) Received: by mail-vs1-f45.google.com with SMTP id i1so9916549vsk.8 for ; Sun, 22 Aug 2021 15:42:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NsZOm8AXS7hkOLzmKTyX4akr+bi+QPsyA54zB/Y/F18=; b=Z+vXqZXyZyMQnMXQdY1DeNZ32hkcXqTiHcxUNH4Yt+x6LZBkh4YByF33Doa+ukPpuU REMa1diue2LbcoOcRZOMajTQt28Yra+MRimzGL6YXlEPw89Q3bBVAZMUQylHvFa074cX QHfOKyJUH389GslJmPTjtijr149s5dE+zzIPbD38dWKOBxkbLoJep3WfbPnjcQCTM+A0 GfxH3DF4ko6CnssJ7qM1p9iyqx/UMd2sfuE7vqOInytPFPwvwivETjH95V6689ISY5Iw umLg1JK8Tewl6AsWKbDnUybCCG/YXb+Y2XUGCuXKEAoiyg8drNWvvXc1tXtJLGcWLv1w 5BZA== X-Gm-Message-State: AOAM532FmGk5Z6KM9iO5i1ArjCU7voNKkEmiNmc6jVV1vbiHFngYv4nw Z/i7ofVCjH30WH7mFdM0G3Bi9EcpNxsbTTBRng== X-Google-Smtp-Source: ABdhPJwgHvYR3kqmewAmCnBImSfFRCKE2W4N0ODVBEw4hZfyYcpP9O9Gw6mZ5+bZJbajOso7ZnGFd4n5/ZM8YEatOFI= X-Received: by 2002:a67:341:: with SMTP id 62mr23231173vsd.12.1629672155351; Sun, 22 Aug 2021 15:42:35 -0700 (PDT) MIME-Version: 1.0 References: <72785D6F-6803-49BB-B575-01061699ABF4@gmail.com> <448DAADA-C819-457F-ABBF-F942128B2830@gmail.com> In-Reply-To: Date: Mon, 23 Aug 2021 00:42:24 +0200 Message-ID: To: Nicolas Grekas Cc: Joe Watkins , Nikita Popov , Deleu , Tobias Nyholm , Kalle Sommer Nielsen , PHP Internals List , Ben Ramsey Content-Type: multipart/alternative; boundary="000000000000eb8f6a05ca2d9d13" Subject: Re: [PHP-DEV] [VOTE] Nullable intersection types From: patrickallaert@php.net (Patrick ALLAERT) --000000000000eb8f6a05ca2d9d13 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Nicolas, Le jeu. 19 ao=C3=BBt 2021 =C3=A0 12:25, Nicolas Grekas a =C3=A9crit : > What a mess! I feel so disappointed by the lack of clarity of the > processes here. > You aren't alone and it is challenging to make that kind of decision. I would have been more confident saying it's ok if the process and feature freeze was clear about the fact that even syntax changes are allowed a couple of days before a RC1 provided that it touches a new feature. > The RFC was granted a "go" by a release manager, but suddenly, in the > middle of the vote, another release manager raised an objection to this > grant!? > I'm sorry for the timing and I was also not aware of it. > This should have been discussed before between release managers. > Agreed! That would have been ideal. > Also, this "go" is now apparently revoked based on the partial results of > the vote. This is obviously interfering with the vote itself! I'm not > blaming any individuals, but some processes should clarify how this is > supposed to work. At least please coordinate together on such topics! = =F0=9F=99=8F > > The processes also lack clarity about what the feature freeze is supposed > to mean. We're having a metadiscussion about whether this RFC can target > 8.1 or not, and many ppl stated that they would vote against it not becau= se > they don't want nullability, but because they don't want it in 8.1, or > because they feel it's too late for 8.1. I can't blame them for that, but > what is "feature freeze" supposed to mean if we aren't allowed to discuss= , > alter, or even revert not-yet-released features?!? > I share with you the lack of clarity. Commenting on the various aspects of feature freeze (personal pov): - discuss: discussing shouldn't be prevented in any way, never. - alter: that is the most touchy part as alteration might be about very various levels: edge cases, implementation details, conceptual ones, syntax,... In a feature freeze, I would only consider minor changes that wouldn't have influenced the way people would have voted the RFC. That would exclude any conceptual changes as well as syntax ones. - revert: if there are evidence that something that has been voted "yes" really brings unforeseen challenges and provided that a majority would recognize something that has been accepted should better be reverted, I think we must be open to revert the introduction of a new feature: better not having a new (buggy?) feature than a solid one later. In the case of your new RFC: I rather see it as another feature on top of a new one that even requires syntax changes. It may prove that the original one was not rock-solid enough but it may also be seen as an extension of it= . > This should be shielded by some consensus on what is allowed during the > feature freeze. On my side: anything that is not yet released should be > re-discussable until either beta or RC stage. If we choose to go with bet= a, > we should give more time between the start of the feature freeze and the > first beta, precisely to fix what happened to this RFC, aka to give a > window for the community (me here) to play with the soon-to-be features a= nd > give feedback. > Either extra time, or having a way to influence the schedule of the releases. For now, we work with a fixed schedule and don't know (at least: me) how strict we must stick to it. The fixed schedule of the releases is what makes me more comfortable with the idea of reverting a new feature rather than extending the scope of one. > Based on the partial results of the vote, we could conclude that the > consensus is to 1. not allow nullability and 2. force bracket around > (X&Y)|null. I can't read this as anything else than ppl voting not on the > RFC, but on this metadiscussion about the feature freeze + some fear that > we might put ourselves in a corner with the syntax. > > The RFC should be allowed to complete, it's gathering important data. >> > > Because of what I just wrote about, I don't think we can rely on any data > here. The discussion should be rebooted from scratch for me. Apparently, = we > need the full syntax for composite types to decide for the syntax for > nullable intersection types. =C2=AF\_(=E3=83=84)_/=C2=AF > I also think that we can't rely on the data for the reason you mention even if I intended to vote "no" on the feature, not on the targeted version of PHP, I may be the exception there. > Now, I don't know what to do. The vote started and is not looking good fo= r > the proposal. Some will say that I didn't want to see it fail if I withdr= aw > it. But honestly, with all those interferences, I'm not sure the conditio= ns > are met to have a fair vote. > I understand you Nicolas. Let me and the other RMs have a chat about that so that we explore all the possible options > Please advise (release managers mainly I suppose, since you're the only > ones having some sort of official authority here). > > Nicolas > Cheers, Patrick --000000000000eb8f6a05ca2d9d13--