Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128644 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 416A31A00BC for ; Fri, 5 Sep 2025 16:58:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1757091447; bh=c+0R9A4UY/fhjeyiNf16lifMdkyLjgu4YOtujl4bfC0=; h=Date:From:To:In-Reply-To:References:Subject:From; b=PhokTUVPOq4rADOAs2I4R6Wk+ka0mmxxqoENtmlNCSoqDV8m6b6MQii0ViFDmxGmB aWQyyvbsOBk+p3NkMZRRX/kE8q/szDhbU9HMtiNMgzCWgTuxjd5pNtkfOhY2XUL0VM csyaSdmWA52hGOTUQGj1gbM8SxqWp4gKTZVTJEd4XUgshBHEBUX1u2Jji7tpU6a2hy neNmhisMQku0cW2+akv9/vHhCc0Q+ERrRzKoEXljWJACSTJpAOHqDrwGck2t5yHNv/ O+eqJl/4hts7dB0YwwtgbGo4WBnyjjsfu5XNJFf00yoq5GHJLioMIVC60/oxLyE+ZK D6RPEkk5m3B+w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3210E180074 for ; Fri, 5 Sep 2025 16:57:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from fout-a8-smtp.messagingengine.com (fout-a8-smtp.messagingengine.com [103.168.172.151]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 5 Sep 2025 16:57:25 +0000 (UTC) Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfout.phl.internal (Postfix) with ESMTP id EB6F6EC04AD for ; Fri, 5 Sep 2025 12:58:53 -0400 (EDT) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-10.internal (MEProxy); Fri, 05 Sep 2025 12:58:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to; s=fm1; t=1757091533; x=1757177933; bh=ZHcfECqdRPbyx1vpkTcrd Pw1OxfZc+FFZhjRvfh+J0k=; b=bMmJ5w4hhfzhQt05e4RAyQqXUf2Z965ikZFW9 +jNp6yjIUoh8QRl6JKjw6rHhICvx6yYvB/ryP4YCUIrSX6NrZ42wKnbGpPfjXwtU vNsqlI04P59yZz/f/6z61F+Ftj2YFWmv1Oa5mI5V0QgCTE1iZlEjstU55D/mBF8E ppeDotCanRc0uS01DckCBY7rJvldKs68bSsNfRg2IAN+eWaV23BMEiY4viykHK0P s1N5o2a02zD0rAFOhUyqmh7aYWmrbYnPxWgXkofRI6/KPenn6LitUcPfo1HubDRV u+pRIL3WJfTsK7q0HtC+SzWZBnmaoEBryvl/9llx1Kzhx/yZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1757091533; x=1757177933; bh=Z HcfECqdRPbyx1vpkTcrdPw1OxfZc+FFZhjRvfh+J0k=; b=bQXUfCYnoV6WmQBRC F0NYqDbGeSKLcXRO4fI8Q61PmMUKoCP9aGj6FDkilffCFb0o2mIuLoQweFFpaIL1 +SUF+cIXOz1tiQF+m+ft6Z4Xwc89+dnfc2+6dXdIFJxGRONy6PYDifpockdAO0Ug YbVGTv6mB2+Z0isrmysoYpyH3yDONy5OovCTO8HnCJ4sSLnfrd0LkC+6RZkyGlM5 yP1yipcQ8lmcLzCIRhI2n7FInpLukno3htw1m60xVTMuGfW1+2lCw7S/Y5SrFNtz MR39YjUNTVG5avuvMwy6EMYE0/SnsCFKG4NSo6sMyka0xnTlzxSBMe3zFrmxkHlQ JTSrg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdelgeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceurghi lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh epofggfffhvffkjghfufgtgfesthhqredtredtjeenucfhrhhomhepfdfnrghrrhihucfi rghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhmqeenuc ggtffrrghtthgvrhhnpeffieeivdfhvdeguddttdegteeiueegvefhteehfeeffeetudei tdehtdegjeeuieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomhdpnhgspghrtghpthht ohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsheslh hishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 90E8E700069; Fri, 5 Sep 2025 12:58:53 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: list list-help: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 X-ThreadId: Afi_xSa239nk Date: Fri, 05 Sep 2025 11:58:33 -0500 To: "php internals" Message-ID: In-Reply-To: <0f32efec-b6c9-4ec0-96bf-297da722aaf1@bastelstu.be> References: <53cdbf5b-7c6e-4ba1-9987-332634cab527@bastelstu.be> <4624748F-0C62-4E3C-81D0-5CDC56FEC55F@nicksdot.dev> <68c44ae3-8e1b-419d-9c30-906b9c2d5a81@app.fastmail.com> <0f32efec-b6c9-4ec0-96bf-297da722aaf1@bastelstu.be> Subject: Re: [PHP-DEV] [RFC] Clarify discussion and voting period rules Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: larry@garfieldtech.com ("Larry Garfield") On Wed, Sep 3, 2025, at 4:09 PM, Tim D=C3=BCsterhus wrote: >> The language for the "extending the discussion period" paragraph is h= ighly clumsy and confusing. The existence of the last sentence to clari= fy it is evidence of that. I would recommend rewriting it. (I can offe= r suggestions if you're open to it.) > > I am open to suggestions, yes. Not being a native speaker makes it eas= y=20 > to write stuff that makes sense to me, but are confusing to folks that=20 > actually understand the language :-) > >> Really, though... what is actually being proposed, and is not actual= ly a widespread convention right now, is a policy of "the vote may start= two weeks after the last substantive change." For some definition of "= substantive." If that is the intent, it should just say that. And we s= hould discuss directly if we actually want that requirement. > > That would be an accurate summary of what that part of the policy is=20 > trying to codify, yes. Proposed language, to turn the whole thing around: ----- An RFC author MAY start a vote at any time, provided that: * It has been at least two weeks since the last major change. * It has been at least one week since the last minor change. * There has been at least one post of any kind in the discussion thread = within the last 6 weeks. * The author has posted an intent to open the vote at least 48 hours pri= or. (This post is the only one that does not count toward the "last 6 w= eeks" rule.) * There is no ongoing relevant and substantive discussion still happenin= g in the thread. The author may determine what qualifies as relevant an= d substantive, but SHOULD be liberal in interpreting that. ----- (The final point is to help avoid the hecklers veto problem. If people = are just talking in circles, or there's a tangent discussion still going= that doesn't matter to this RFC, those shouldn't count. I am also still not 100% convinced this level of formal-time-extension i= s necessary. There are always RFCs introduced late in the cycle that ru= n up into freeze. That will happen no matter what we do; they may even = be going for a few months before getting there. But if consensus is fin= ally reached 13 days before the last day to start a vote to make the fre= eze deadline, and everyone seemingly agrees with the final change, it se= ems silly to say "whelp, sorry, you should have posted the last update 1= 2 hours earlier, now we all have to wait an extra year for the thing we = finally agreed on." > And I would say that this matches the lived reality: For most=20 > (successful) RFCs the author makes some changes, announces them on the=20 > list and then ask for feedback (e.g. from the person who originally=20 > suggested the changes or who pointed out the mistake), which can easil= y=20 > take a day or two to arrive. This then often sparks additional=20 > discussion that takes a few more days to settle down due to varying=20 > schedules and timezones. At this point a week easily passed. > > I would also say that it matches the spirit of a =E2=80=9Cminimum disc= ussion=20 > period=E2=80=9D. It does not appear very useful that it is technically= allowed=20 > by policy to replace the entire RFC text 10 minutes before the vote.=20 > Something something RFC of Theseus. > > In cases where the actual proposal (rather than e.g. the examples)=20 > repeatedly changes over the course of the discussion generally indicat= es=20 > some severe problem or oversight with the RFC. It would often be more=20 > appropriate for the RFC author to go back to the drawing board,=20 > consulting with some close advisors to figure out how to fix these=20 > problems rather than discussing all those details on the list. That often happens, but then the revisions are put forward in the same t= hread. That's process-wise identical. > That section is intentionally using the =E2=80=9CSHOULD NOT=E2=80=9D i= ndicator, to avoid=20 > folks being able to filibuster an RFC. It also intentionally used the=20 > word =E2=80=9Cnew=E2=80=9D in front of =E2=80=9Cdiscussion points=E2=80= =9D to indicate that repeating=20 > something from before (something that most likely already was rejected=20 > by the RFC author) does not constitute a new discussion point. The=20 > intention is to encourage RFC authors to give suggestions sufficient=20 > deliberation (and ideally a response), even if it comes in after the=20 > voting announcement. > > I'm happy to rephrase if you have any suggestions. I believe my bullet point list above encapsulates this expectation. Regarding the time precision debate elsewhere in the thread: For most th= ings, I don't think we need to get hung up on exact timing. If it's bee= n 6 days, 23 hours, and 49 minutes since the last update to an RFC, and = there's been no discussion in that time, and the last post was everyone = agreeing that the last change is good... Then it's kinda stupid to get = hung up on "you didn't wait exactly 11 minutes" and invalidate a vote th= at is clearly ready. If we were a more protocol-and-process oriented pr= oject with actual leadership, then more precision might make sense. But= PHP is not that, for better or worse: It's a bunch of people arguing an= d coming to rough consensus in the messiest way possible. Fussing about= a minute here or there is not helpful. The one place I think it would matter is when the vote closes, since tha= t's a hard-cutoff for someone to vote or change a vote. For that, IMO t= he best solution is technical: Update the voting widget to both have an = auto-close time, and show the start and auto-close time on the wiki page= . The vote closes when the widget says it does. Presumably it would be= easy for it to default to the exact same time as the start stamp, and t= hen... I don't care about leap seconds or daylight savings time. It end= s in ~2 weeks, automatically, and the exact time is right there on the p= age. Plan accordingly. Then all the faffing about with date-and-time edge cases goes away and w= e can move on with life. --Larry Garfield