[python-committers] Proposal on how to vote (was: An alternative governance model)

Donald Stufft donald at stufft.io
Wed Jul 18 18:46:30 EDT 2018

> On Jul 18, 2018, at 6:18 PM, Łukasz Langa <lukasz at langa.pl> wrote:
>> On Jul 18, 2018, at 4:56 PM, Brett Cannon <brett at python.org> wrote:
>> While I am totally fine with a super-majority of votes for something to be accepted, I don't think the minimum participation requirement will work. If people simply choose not to vote then they choose not to (we have no way to really compel people to vote).
> It could be easily added to the list of things expected from a core contributor. It's not like this is a laborious chore, neither is it happening often. There are countries where voting is mandatory.

Given that we don’t have a lot of levers in our tool chest to compel voting, what would you propose we do if we get only a 35% participation rate? We can’t drag people to the polls, the most we can really do is either keep running elections and hope you hit whatever threshold you decide on, or you start removing people who can vote until you’ve removed enough people that the people who are participating now make up whatever your target participation rate is.

The first choice there strikes me as unrealistic. Hope is not a strategy, and I fail to see why repeatedly offering the same vote multiple times is likely to increase the participation rate. In fact, I think it’s likely to decease it as people get tired of having to do it over again and just start giving up and viewing it as noise.

The second choice seems… dishonest to me? You’re not really increasing the participation of the vote, you’re just juicing the numbers to make the participation rate higher. It’s selectively defining who is eligible to vote to make the numbers look better.

Is there another option I’m missing to compel people to vote?

> Taking a step back, there are two reasons I stress the importance of (almost) everybody voicing their support:
> - this makes the decision authoritative ("the committers have spoken”);

I think this is largely a non-issue. In the US we do not have mandatory elections, and I don’t see very many people challenging the authority of said elections due to the large percentage of non-voters. The most I generally see if people scolding those who don’t vote.

> - this ensures that we haven't omitted somebody due to poor timing ("I was on a sabbatical and couldn't vote”).

Unless you require 100% voting participation, it doesn’t ensure this, it just makes it less likely. If you target 90%, then a full 10% of the people could have been excluded due to poor timing. 

I don’t think it’s possible to fully eliminate this risk, but I think the best possible way of handling it is to advertise the vote well in advance, and allow the vote itself to take place over a reasonable amount of time. The more advance notice, and the larger the window of time is to actually vote in, the less likely timing becomes an issue. Just to pluck some random times out of the air, if you advertise the voting for 3 months and allow voting to happen any time in a months time, that gives people a full 4 months they will have to be completely unavailable to have no idea the voting is happening, and be unable to access a computer for a handful of minutes to actually do the vote at all in a month.

> If you feel like this is unrealistic because most of our committers aren't currently active, I hear you. But what I like even less is claiming that "we, the core team" made a decision when, say, just 35% of us voted. In such case it would be easier for those of us who disagree to claim the decision doesn't really represent the views of the greater core team.

More information about the python-committers mailing list