[python-committers] Timeline to vote for a governance PEP

Tim Peters tim.peters at gmail.com
Sat Nov 3 01:44:18 EDT 2018


[Victor Stinner <vstinner at redhat.com>]
>> The PEP 8001 is not trivial, it expects a specific format:
>>
>> **DO NOT LEAVE ANY BRACKETS BLANK!**
>> **DO NOT REPEAT A RANKING/NUMBER!**

[Nathaniel Smith <njs at pobox.com>]
> I'm not sure what the motivation for those restrictions is. I guess
> with IRV there isn't an obvious way to handle a repeated number,

FWIW, I've never seen any IRV variant that allowed duplicate rankings.
And I don't see how it could:  at each round it's counting only the
number of _first_ ranked candidates among those who remain, and if a
voter had ties for their first place candidates that voter would be
helping multiple candidates survive the round.  "Not fair."


> but with Condorcet it's no problem. And both methods are fine
> with leaving some options blank (it's equivalent to ranking the
> blank options as tied for dead last).

But leaving some candidates unrated is common in IRV schemes.  When
the last of a given ballot's rated candidates is eliminated, that
ballot is thrown out and the election continues as if it had never
existed (in particular, it no longer counts for the "majority" needed
to win the next round).

PEP 8001 says:

"""
A vote which omits candidates in the ranking is invalid. This is
because such votes are incompatible with the desired properties listed
above, namely:

Making voters consider alternatives, as well as
Doing everything possible to reach a conclusion in a single election.
"""

The first point is dubious.  While it may be hard to prove, what will
happen in reality is that some voters will simply make up rankings for
PEPs they never even read.  This is so common in forced-ranking
systems that it has a name:

    https://en.wikipedia.org/wiki/Donkey_vote

There may be some merit to the second point, and especially if
donkey-voting is common:  the more people mindlessly give a rank equal
to a candidate's distance from the top, the less likely cycles are to
form (assuming all ballots list the PEPs in the same order - which
they really shouldn't, but probably will ;-) ).

In any case, without IRV there's scant reason to require that all
ranks be distinct, and I think dropping that requirement would be a
serious improvement, both for making it easier to construct a valid
ballot, and especially to allow voters more possibility to express
their true preferences (including "these two, three, ... are equally
fine by me").

What may be hard to get across then is that, e.g., the ballot rankings

    1 1 1 6 6 6
and
    5 5 5 6 6 6

have exactly the same effect:  "I like the first three better than the
last three - maybe a little, maybe a lot, you just can't tell from
what I'm allowed to express."


More information about the python-committers mailing list