Amendment to PEP 13 to allow approval voting

I didn’t follow discussions about the voting method while we designed the new governance (which became the PEP 13) and then elected the first council, but I recall comments in this article:

Copy of the section about voting:

One of the concerns that came up in the thread was that a restricted number of votes could lead to a landslide victory for the best-known candidates. In the Discourse thread, Tim Peters linked to a description of “bloc voting”—what is being used for the council election—which described the problem this way:

The bloc voting system has a number of features which can make it unrepresentative of the voters’ intentions. It regularly produces complete landslide majorities for the group of candidates with the highest level of support, though this does tend to lead to greater agreement among those elected.

Coghlan thought that pure approval voting might lead to the “old guard” getting elected, though Peters’s intuition led him to the opposite conclusion. So far, the full number of votes for each candidate have not been released (though it is being worked on), but voters can see those totals. In a post to the python-committers mailing list, Peters used that information to show that the landslide did seem to happen:

[…] As predicted by a brief article I linked to on Discourse, limiting the number of approvals to 5 favored a landslide victory of the best-known candidates. Except for Nick, the weakest “winner” got 50% more approvals than the strongest “loser”. So “landslide” for 4.

In pure Approval voting (which we’ve used for PSF Board elections), there is no limit, and then you get a clear picture of approval levels. The “losers” here should realize their relatively low approval levels may be an artifact of the voting process. Like in “first past the post” plurality elections, with a limit there’s pressure for voters to betray their actual favorite(s) if they think they can’t win, to avoid “wasting their vote”. Without a limit, there’s never a reason (regardless of whether a voter is 100% honest or 100% tactical) not to approve of your true favorites.

While it is possible that the outcome did not exactly reflect the “will of the voters”, it seems likely that it will serve the project just fine for the first incarnation of the council. Tweaks to the voting method and possibly other issues with the governance model may come about over the next year or so. The current council will serve until the release of Python 3.8, which is currently scheduled for October. After that, the electorate will get another chance to choose council members.

2 Likes