Re: Request for karma to vote on RFCs
| From: | Mike Schinkel | Date: | Wed, 21 Jul 2021 10:49:18 +0000 |
| Subject: | Re: Request for karma to vote on RFCs | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-115541@lists.php.net to get a copy of this message | ||
> On Jul 20, 2021, at 9:39 AM, Rowan Tommins <rowan.collins@gmail.com> wrote:
>
> When decisions are just a matter of bikeshedding, or deciding what "style" the
> language should have, there is a strong argument for general democracy, and a strong voice for those
> who use the language.
>
> But some decisions have more fundamental impact on the implementation itself - highly technical
> features like JIT or Fibers, or conceptually simple features with complex implementations like
> Intersection Types. The concern is that the small number of people who understand those consequences
> will be out-voted by people "voting with their heart" because they like the idea of a
> feature.
>
> Those core contributors are then expected to maintain the resulting code, with little help from
> those who wanted the feature. Hence the suggestion, not of an "elite", but of some sort of
> "meritocracy", where that knowledge carries some weight.
>
>
> Perhaps we need a more revolutionary re-organisation into two separate voting groups:
>
> * a very open community vote, to indicate a breadth of support for the direction a change takes
> the language
> * a group of Core Contributors, much smaller than the current voting pool, who are equipped to
> judge the impact of the implementation
This is an excellent observation, and encapsulates why some of the RFC outcomes might feel a bit
mismatched with what many people want and/or what seems to make the most sense for PHP from a core
maintenance perspective.
> An RFC could require separate approval from both groups, regardless of number of voters, like a
> parliament with two chambers.
But I'm not sure having two houses that can both veto a a solution would improve things. I
think it would just make it worse.
If there was the Userland House and the Core Contributor Senate then that would mean that things in
your category of bike-shedding could still be blocked by the Core Contributors even if 99% of
userland developers loved an idea.
Instead maybe we should consider those known and respected because of their continuous core
contributions ("Core Contributors") have the ability to veto an RFC if it treads into core
territory?
BTW, "membership" in Core Contributors would be managed informally within the group of
people. Once the initial group was recognized they would handle adding new people to the group
and/or ejecting existing people completely among themselves and then one of them would announce any
updates to the list.
Consider if Core Contributors are allowed to classify an RFC as a "Core-related" concern,
such as 1.) a core maintenance concern and/or 2.) a future-compatibility concern? And if it is one
of those two, then Core Contributors could request a veto vote. I think we could assume they would
only do this in good faith because of the potential for damage to their reputations if they were to
operate in bad faith.
When an RFC is being discussed a Core Contributor could simply stating their belief it is
Core-related and if two other Core Contributors seconded that concern then the RFC would be
susceptible to a potential veto vote and the RFC author would be required to mark it as such.
Classifying as Core-related should happen during discussion period and before the vote starts, and
especially not after a main vote has passed.
(However if it gets contentious then three (3) Core Contributors could band together and simply
update the RFC to be Core-related; their view on this would be final. But I doubt that would ever
be needed because an author arguing against Core Contributors in this way would mean the RFC would
probably be voted down anyway.)
Then for voting:
1. If an RFC is *not* Core-related then everyone gets to vote just as before, but maybe voting
access becomes more open and more democratic?
2. If an RFC *is* Core-related then the same vote occurs but if is passes then three (3) Core
Contributors can request to have a Core Contributor-only vote which will require a 2/3rd majority to
pass. If this vote fails to gain 2/3rd majority approval of the Core Contributors then the RFC is
considered "Vetoed."
The benefits could potentially be:
1. Ensure even if a feature is desired by userland we could still guard against approving features
that would be a maintenance problem or that could paint PHP into an evolutionary corner.
2. Lowering the bar for voting rights because voters couldn't do damage to core-related
concerns.
3. Possibly gain more participation from userland
4. An increase in userland satisfaction from either being allowed to participate or for the broader
community getting more features userland developers want.
5. Very little change procedurally, except to formally recognize the Core Contributors separately
from others, and giving them the ability to call for a veto vote after an RFCs that were previously
tagged as core-related passed.
BTW, rather than calling it "bikeshedding" we might characterize it more charitably as
"style-based," where "style" refer to the realm of userland
developer-experience.
What do you think?
Most specifically I would like to hear from those who know they would be in the category of Core
Contributors who would get a veto they currently do not have on core-related concerns, but who would
also potentially see their vote on opinion-based RFCs diluted.
-Mike