<br><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 20, 2018, 17:03 Victor Stinner, <<a href="mailto:vstinner@redhat.com">vstinner@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2018-07-20 18:32 GMT+02:00 Steven D'Aprano <<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>>:<br>
> What happens when two trusted experts disagree and the voters don't have<br>
> the expertise to tell which one is correct?<br>
<br>
In my proposal, if no consensus can be found, the vote fails to reach<br>
the majority, the PEP is rejected.<br>
<br>
Usually, people disagree on on specific aspect of a PEP, not on the<br>
overall idea. This is where I propose to separate the decision in two<br>
votes: one vote for the "overall PEP" and one vote to decide between<br>
two variants (paint it blue or green?).<br>
<br>
<br>
> The sort of participatory democracy Victor and you seem to be talking<br>
> about doesn't scale beyond small communities where everyone knows<br>
> everyone else. That's why such participatory democracy worked in ancient<br>
> Greece, and continues to be used in (eg) Swiss canons, but beyond that<br>
> communities have moved to a representative democratic model.<br>
<br>
Hum, I'm not sure if it's revelant here, but in France, 44 855 000<br>
people vote for the president every 5 years.<br></blockquote></div><div><br></div><div>But that's for representation, not policy. California is actually a direct democracy through its proposition system.</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If you want numbers, it seems like PHP has around 32 voters on RFC. I<br>
also expect a number around 30 for Python. I'm not talking about the<br>
total number of core developers (who can vote), but the number of core<br>
developers that I expect to vote on a single PEP. I expect that many<br>
cores will abstain from voting because they consider that it's not<br>
their interest area, they didn't have time to follow the discussion or<br>
they are "away from keyboard".<br>
<br>
<br>
> One factor that I don't think Victor has covered is that of what<br>
> percentage of core devs would have to vote for the result to be<br>
> accepted -- a quorum, or equivalent.<br>
<br>
My worst example for a vote would be the PEP 446 example that I used<br>
previously. In short, they were 3 people who cared: Charles-François<br>
Natali, Guido van Rossum and me (the author).<br>
<br>
First, I would suggest that the authors are not allowed to vote on<br>
their own PEP. For the PEP 446, it means that there were only 2<br>
voters.<br>
<br>
I propose to require at least 3 voters on a PEP. For the 50%+1<br>
majority case, it means 2 "+1" votes are enough to approve a PEP on a<br>
total of 3 voters. On sensitive PEPs (the ones with 66%+1 majority), I<br>
propose to require at least 5 voters. If there are not enough voters,<br>
the vote is canceled and a new vote can be attempted later.<br></blockquote></div><div><br></div><div>Who decides what's a sensitive PEP?</div><div><br></div><div>-Brett</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I don't think that we will reach this minimum often. If it occurs,<br>
maybe we can extend the vote window and ask people to vote.<br>
<br>
<br>
> When it comes to *representative democracy* I believe that the<br>
> Australian model of mandatory voting (resulting in 90% turnouts or<br>
> higher) has many advantages over other systems. But for a technical<br>
> community like this, I don't know that mandatory voting is desirable.<br>
<br>
Wait. I'm against mandatory voting.<br>
<br>
First, it's common that people are away from their computer for good<br>
reasons like holidays.<br>
<br>
Second, I would strongly suggest core developers to abstain to vote if<br>
they didn't read the PEP (at least) or if they consider that they<br>
don't know enough to be able to have an opinion on a PEP.<br>
<br>
<br>
> (Perhaps if we have an Abstain option as well as Yes or No.)<br>
<br>
I propose to not account "vote: 0" and missing voters to account the majority.<br>
<br>
Ballot example:<br>
<br>
* Like (+1): 6<br>
* Dislike (-1): 5<br>
* Abstain: 1<br>
<br>
If you account Abstain, 50%+1 majority means: (6+5+1)//2+1, at least 7<br>
"like" votes are needed for the majority.<br>
<br>
If you ignore Abstain, 50%+1 majority means: (6+5)//2+1, at least 6<br>
"like" votes are needed for the majority.<br>
<br>
IMHO 6 to win the vote makes more sense than 7. It becomes even more<br>
obvious if you account all core developers who didn't vote, it would<br>
look more like:<br>
<br>
* Like (+1): 6<br>
* Dislike (-1): 5<br>
* Abstain: 60<br>
<br>
:-)<br>
<br>
<br>
> Personally, I'm not sure I'd even want to vote on every PEP that comes<br>
> up. (...)<br>
<br>
Me neither :-) As I wrote, I'm already ignoring some topics like<br>
typing and packaging.<br>
<br>
<br>
> Another issue we should consider: organised vote swapping. If votes are<br>
> public, as Victor suggests, that would allow people to do deals: "I'll<br>
> support your PEP for GOTO, if you support my PEP to deprecate tuples..."<br>
> sort of thing. There's a reason why most ballots are secret.<br>
<br>
I propose to make the vote public. I expect that some people who are<br>
not sure about their vote will check who already voted (and what were<br>
their vote) to help them to make a choice.<br>
<br>
After talking with friends, I realized that I forgot to explain<br>
something: my proposal doesn't change anything on the long discussion<br>
which occurs *before* the vote. IMHO most tractions occurs during<br>
these discussions, not during the vote. (I'm not sure of the word<br>
"traction": I mean the pressure to pull most people on your side.)<br>
<br>
By the way, I propose that the vote window will be "short": just 1 week.<br>
<br>
Maybe we should announce the date of the vote 1 week before, to make<br>
sure that people who care about the PEP will be available to vote.<br>
<br>
Let me explain why I prefer a short window with a counter example. If<br>
a vote remains open for 1 month, the discussion will likely continue<br>
during the vote, and people who voted early may want to change their<br>
vote. I'm not sure that it's a good thing that people are tempted to<br>
change their vote.<br>
<br>
Victor<br>
_______________________________________________<br>
python-committers mailing list<br>
<a href="mailto:python-committers@python.org" target="_blank">python-committers@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-committers" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-committers</a><br>
Code of Conduct: <a href="https://www.python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">https://www.python.org/psf/codeofconduct/</a><br>
</blockquote></div>