Hi everyone,
The vote on the OpenSSL AEAD RFC[1] has made me question our current RFC
process again. Under the Voting RFC[2], "Language changes" (in practice,
changes to syntax and semantics) require at least a 2/3 majority to pass
when they come to a vote, whereas changes that don't fall under that
category require a mere plurality of more Yes votes than No votes, aka
"50%+1".
The stated justification for the 2/3 requirement is that such changes
are more permanent and shouldn't be arbitrary. However, there's no
justification given for why other RFCs *shouldn't* receive the same
level of scrutiny.
Consider that the language, in practice, is not simply the syntax and
semantics specified by the language specification and implemented by the
Zend Engine or HHVM. PHP's bundled extensions are also an important part
of PHP which define the language: an implementation of PHP which lacked
them would not be very useful for running real PHP applications, and it
is only with considerable difficulty that you could write PHP code
without them. In fact, certain key primitive operations on PHP's
built-in datatypes are only exposed through functions in ext/standard!
And yet, RFC votes on changes to the extensions are held to a lesser
standard than changes to the syntax.
Another thing to consider is the types of changes that RFCs propose.
These are usually used for changes that should not simply get in through
consensus around a pull request. This can range from simply adding new
functions, to making backwards-incompatible changes. These are not
decisions to be taken lightly.
Finally, I think that a proposal that is good enough will have no
trouble achieving a 2/3 majority anyway. In practice, many RFCs pass by
unanimous vote!
So, would there be support for raising the passing threshold for
non-"language changes" to 2/3? At the very least, I think we should have
this for backwards-incompatible changes. If there's enough support, I'll
write an RFC, though I'll have to figure out how exactly to change the
rules. (Can the voting RFC be amended by another RFC? The RFC process
isn't a good fit for procedural things like this.)
Thanks!
[1] https://wiki.php.net/rfc/openssl_aead
[2] https://wiki.php.net/rfc/voting
--
Andrea Faulds
https://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php