Until this RFC, the primary vote on a PHP RFC offered only two choices, Yes or No. This policy RFC from Tim Düsterhus adds a third option, Abstain, to the primary vote of every RFC.
Why change it
Many voters follow the discussion on an RFC without having a strong opinion either way. With only Yes and No, they had no way to record that. If they skipped the vote, nobody could tell whether they missed it or chose to sit it out, and that gets harder to read when an RFC has several votes.
Some voters also felt they had to cast a vote just to show they were still active. Others wanted to avoid people asking whether they had missed the RFC. An Abstain option had come up informally many times before, and this RFC makes it official.
What the RFC does
The change lives in the PHP policies repo as pull request #20. It does two things:
- Adds Abstain to the primary vote. Every RFC's primary vote must now include an Abstain option.
- Rewrites the voting rules. The section on how votes work is clearer, mostly around secondary votes (the extra votes on details, like a class name).
An Abstain vote counts the same as not voting. It doesn't help or hurt the result, and an RFC still needs two-thirds of the Yes and No votes to pass.
The RFC used an Abstain option in its own vote to try out the idea. That wasn't allowed yet under the old rules, and the page says so.
What it means for you
Nothing changes in your PHP code, since this is about how RFCs get voted on. When you read a vote result now, you'll often see three numbers: Yes, No and Abstain. Only Yes and No decide whether an RFC passes.
The RFC lists a quorum, a minimum number of voters, as a possible future idea. It isn't part of this change.
The vote
It passed 27 to 7, with 6 abstaining, clearing the two-thirds majority it needed. Voting closed on August 31, 2025, and the policy change was then merged into the policies repo.