PHP RFC: Abstain voting option for RFCs
- Version: 1.0
- Date: 2025-07-22
- Author: Tim Düsterhus, timwolla@php.net
- Status: Under Discussion
- Implementation: https://github.com/php/policies/pull/20
Introduction
It is commonly the case that RFC voters do not feel strongly about an individual RFC, but the current voting guidelines make it impossible to express this.
The current voting guidelines for RFCs require a binary vote with a 2/3 majority to accept RFCs. It is often the case that RFC voters do not feel strongly about an individual RFC, despite participating in the discussion. When it goes to vote, they are unable to express their opinion on the RFC itself, leaving some ambiguity whether they “missed the vote” or whether they just don't feel strongly about it, particularly when it's a multi-vote RFC. They might also feel compelled to cast a vote just as a “sign of activity”, or to prevent people from reaching out to them, inquiring about if they missed the RFC.
The topic of an explicit “Abstain” option has therefore come up multiple times during informal discussions and this RFC intends to formalize it. With regard to the results of a vote, the “Abstain” option behaves identically to not casting a vote.
Proposal
Accept the policy in https://github.com/php/policies/pull/20.
Besides adding the requirement of an “Abstain” option to the primary vote of an RFC it also updates the language of the “voting methodology” section to be clearer, particularly with regard to secondary votes.
Open Issues
None.
Future Scope
- Introducing a quorum.
Voting Choices
Despite technically being in violation of the current voting guidelines, this RFC includes the “Abstain” option in the primary vote to “dog-food” the proposal (the “Abstain” option could legally be included as a secondary vote without an effect).
Patches and Tests
Implementation
After the RFC is implemented, this section should contain:
- the version(s) it was merged into
- a link to the git commit(s)
- a link to the PHP manual entry for the feature
References
None.
Rejected Features
None.
Changelog
- 2025-07-22: Initial version.