# [VOTE] Clarify discussion and voting period rules

- Thread: https://externals.io/message/129111
- Original archive: https://news-web.php.net/php.internals/129111
- Started by tim@bastelstu.be on 2025-11-06T09:02:08+00:00
- Messages: 8
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #129111 — tim@bastelstu.be — 2025-11-06T09:02:08+00:00

URL: https://externals.io/message/129111#129111

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.

Best regards
Tim Düsterhus

---

## #129166 — Rob Landers — 2025-11-09T15:15:59+00:00

URL: https://externals.io/message/129111#129166 · In reply to: #129111

> 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.
> 
> Best regards
> Tim Düsterhus

May I ask, as a follow-up task, to add some kind of copy/pastable templates to the rfc:howto (https://wiki.php.net/rfc/howto)? For example, what information needs to be sent in major/minor/editorial changes? Do you need to declare which type of change it is and its effect, or is it simply assumed everyone knows?

I'm just asking because the proceedure isn't clear (I was trying to follow it):

> _Major and minor changes MUST be announced in the official discussion thread, either in a dedicated email summarizing a list of changes or in a reply to another email that clearly indicates that changes to the RFC text have been made in response to that email._

Does this mean "A major change has been made" as in literally announcing the type of change, or just that the change must be announced?

— Rob

---

## #129167 — tim@bastelstu.be — 2025-11-09T15:25:25+00:00

URL: https://externals.io/message/129111#129167 · In reply to: #129166

Hi


> May I ask, as a follow-up task, to add some kind of copy/pastable templates to the rfc:howto (https://wiki.php.net/rfc/howto)? For example, what information needs to be sent in major/minor/editorial changes? Do you need to declare which type of change it is and its effect, or is it simply assumed everyone knows?

I had planned to make some changes to the template at 
https://wiki.php.net/rfc/template, but not the How To. I can have a look 
at the How To as well.

> > […]
> 
> Does this mean "A major change has been made" as in literally announcing the type of change, or just that the change must be announced?

The latter. The required email is intended as an invitation to the 
participants to have another look after the RFC authors believe that the 
changes to the RFC are complete (for now) and then to discuss the latest 
changes.

The type of change (Major / Minor) should be clear for the majority of 
changes, but spelling it out explicitly can't hurt - if only for 
yourself to keep track of things. Keeping a changelog in the RFC will 
help as well.

Best regards
Tim Düsterhus

---

## #129227 — Nicolas Grekas — 2025-11-15T09:19:29+00:00

URL: https://externals.io/message/129111#129227 · In reply to: #129111

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

---

## #129229 — Bob Weinand — 2025-11-15T12:09:21+00:00

URL: https://externals.io/message/129111#129229 · In reply to: #129227

Hey,


> 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

---

## #129320 — tim@bastelstu.be — 2025-11-20T10:03:00+00:00

URL: https://externals.io/message/129111#129320 · In reply to: #129111

Hi

Am 2025-11-06 10:02, schrieb Tim Düsterhus:
> 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.

The RFC has been accepted accepted with 24 (Yes) to 6 (No) votes (80%) 
and 1 Abstention. Jakub already merged the PR and I'll make the 
adjustment to the RFC template and how-to pages later today and then 
report back once more.

Best regards
Tim Düsterhus

---

## #129393 — tim@bastelstu.be — 2025-11-22T13:51:47+00:00

URL: https://externals.io/message/129111#129393 · In reply to: #129320

Hi


> The RFC has been accepted accepted with 24 (Yes) to 6 (No) votes (80%)
> and 1 Abstention. Jakub already merged the PR and I'll make the
> adjustment to the RFC template and how-to pages later today and then
> report back once more.

Busy day with the PHP 8.5 release, but I made the changes now:

https://wiki.php.net/rfc/howto?do=diff&rev2%5B0%5D=1743685723&rev2%5B1%5D=1763819414&difftype=sidebyside

and

https://wiki.php.net/rfc/template?do=diff&rev2%5B0%5D=1761484609&rev2%5B1%5D=1763633227&difftype=sidebyside

Please let me know if you think I missed anything important to adjust 
(or update yourself and keep the list in the loop).

Best regards
Tim Düsterhus

---

## #129399 — tim@bastelstu.be — 2025-11-22T15:17:37+00:00

URL: https://externals.io/message/129111#129399 · In reply to: #129227

Hi

Thank you for explaining your position. The RFC has been accepted in the 
mean time, but I wanted to nevertheless comment on your email.


> 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.

I feel exactly the opposite. I feel that having clear rules - that are 
followed by every contributor - make it easier for less-experienced 
contributors to follow the same standard. Instead of needing to learn 
about expectations by reading up on older RFCs, there is a clear 
document that they can refer to.

In my opinion most of the policy can be summarized as: “Take your time 
to make sure to build the best possible RFC together with the other 
participants”. The formalization of the Cooldown Period is probably the 
most significant thing that has newly been written down and I don't 
think it's a particularly complicated rule to follow.

The other things, like keeping a Changelog, is something that is easy to 
fix when someone forgets. Someone will notice and send a reminder for 
you to update the changelog. Or if something is missing from the voting 
announcement mail, someone else can add the missing information in a reply.

A SHOULD instead of a MUST however just invites discussion of whether or 
not it is okay to ignore the rule in any specific case, which will just 
add noise to the list and is what a policy is intended to avoid.

Best regards
Tim Düsterhus
