Hey,

On 15.11.2025 10:19:29, Nicolas Grekas wrote:
Hi Tim, everyone,


    Hi

    I just opened voting on the "Clarify discussion and voting period
    rules"
    RFC. Please find the following resources:

    - RFC Text: https://wiki.php.net/rfc/rfc_discussion_and_vote
    - Implementation PR: https://github.com/php/policies/pull/23
    - Discussion Thread: https://news-web.php.net/php.internals/128594

    The RFC contains a single primary vote requiring a 2/3 majority.
    Voting
    will close 2025-11-20 09:30:00 UTC.

    ----------------

    As during the discussion, I'd like to explicitly spell out some of
    the
    things that I took into account.

    It is now 2025-11-06 08:54 UTC (and will be a little later when I
    actually hit send).

    - The last change to the RFC was a Major Change on 2025-10-23
    07:37:43
    UTC: https://news-web.php.net/php.internals/128921
    - The Intent to Vote announcement was sent on 2025-11-04 08:45:24
    UTC:
    https://news-web.php.net/php.internals/129063
    - There was no further feedback to take into account after the last
    Major Change (and thus neither after the Intent to Vote).

    A little more than 14 days have passed since the last major change. A
    little more than 2 days have passed since the Intent to Vote
    announcement. Both is strictly within the proposed rules. The RFC was
    not inactive, since the last email was my Major Change announcement,
    which happened less than 42 days ago.

    This email contains all the necessary information, namely the link to
    the RFC text, Discussion Thread, a list of the number of votes to
    cast
    and the end date. I also included a link to the implementation, since
    this is the main relevant thing for a policy RFC. Voting will close a
    little over 14 days from now. I have specified some buffer room to
    account for “mail delivery delay”.

    I will make sure to add a link to the archives of the voting
    thread as
    soon as I see it appear in the archives.



After chatting with a few, I decided to vote against the RFC.
I do appreciate the effort to formalize our unwritten rules.
Yet I'd summarize my vote as: too many MUSTs, not enough SHOULDs in the proposed policy. I do think it's important to clarify the rules for occasional contributors, and MUSTs make things more annoying to me, not smoother. Also, despite the intro of the RFC, it goes past just clarifying current rules: it adds MUSTs on things we are fine agreeing to case by case at the moment. I wish common sense still remains our main approach, and the RFC as proposed makes me feel we go into more bureaucracy. And to me, bureaucratie makes things smoother only for the experts of its own rules.
Thus my vote.

Cheers,
Nicolas


I completely agree with Nicolas' sentiment. The RFC process MUST be mostly guidelines, with few hard rules which govern the fundamental requirements.

For example, you SHOULD not make changes to RFCs during voting periods. But you MAY make them. For purposes of clarification, for changing a detail which was pointed out very late, but is not material to the overall RFC. Even when it would actually qualify as a "Major change" according to your definition, but actually is very minor. As a made-up example, if a pattern matching RFC would discuss the order of destruction of the arguments provided to the pattern in its RFC. And it turns out, for someone who played around with the implementation, that the RFC text did not fully match the implementation. It's a detail, but still qualifies as semantics. And it's unlikely to change the minds of the voters. This would be a textbook example for me, where a RFC text SHOULD be adjusted, the list notified, but the vote be maintained, and not cancelled, nor a grace period observed. If people then object to the non-cancellation, because they consider it material enough, then the vote MUST be cancelled.

In short - not all "major change" is actually major.

Same for "minor changes" - your definition calls every single addition of an example or clarifications as minor change. Are you intending to discourage RFC maintainers of adding new examples shortly before a vote, when internals participants point something not fully explained? So that the vote just may happen when the RFC maintainer intended it, instead of - as you mandate - a week later. Sounds nonsense to me. Instead, similar to changes during voting period, make it a judgement call for the maintainer, and allow voters to request an extension of the discussion period, if they disagree.

Also I don't like the requirement, that the RFC text shall be immutable, except for the errata section, in particular before a GA release. In particular minor RFC implementation details sometimes do change, e.g. due to conflicting semantics, implementation difficulties with specific edge cases etc. You say it's for the errata section. But I disagree. The RFC text should mirror, what is being introduced to the language ultimately in a GA, also as a proper reference for later readers including documentators, and the errata section should tell what the prior state was (in case you are interested in knowing the voted on version, essentially).

Or the holiday requirement is not flexible enough. Why not say "MUST NOT both, start and end, within ..." so that you may start or end a voting period there, but it will be open for at least a bit outside of the window, too.


Thanks,

Bob

Reply via email to