The only negative about the Shulze method is that it is hard to understand. The Wikipedia page just includes a complex algorithm described in mathematical notation (relatively simple math, but certainly above a “high-school level”), and a hard-to-follow example. We should consider, though, that Brett specifically wrote:

The core idea of all Condorcet-based methods is very simple: voters rank their choices like A > B > C. The algorithm then runs all the pairwise elections (“What if we had a vote between A and B? What if we had a vote between A and C? What if we had a vote between B and C?”). It assumes that if you rank A higher than B, then it means that in an election between A and B, you’d vote for A. So that part’s very simple. And the winner is whichever option would win every possible pairwise election. (E.g. A wins if a majority of people prefer A to B, and a majority also prefer A to C.)

However, in theory, a pathological thing can happen: a majority prefers A to B, and a majority prefers B to C, and a majority prefers C to A. So the majority’s preferences are: A > B > C > A.

This is kind of mind-bending, but it can actually happen with reasonable-looking individual votes. For example:

One third of people prefer A > B > C

One third of people prefer B > C > A

One third of people prefer C > A > B

A few observations:

I can’t find any evidence that one of these pathological cycles has ever occurred in any real election.

In the pathological cycle case, there is a very real sense in which the electorate simply does not have a single overall preference. It’s not exactly a tied vote, but it’s conceptually similar.

All the complexity on that Wikipedia page comes from the method that Schulze uses to try to produce a single winner even when there is a cycle like this.

AFAIK, everyone agrees that so long as you don’t hit a pathological cycle, Condorcet methods are great. If you don’t hit a cycle, then they pass every voting criterion, and there’s no incentive to do tactical voting.

So… in a sense the only time Condorcet methods are complicated or have any theoretical problems is when they violate “In the face of ambiguity, refuse the temptation to guess”.

So personally:

I’d be fine with using pure Condorcet, and simply declaring that in the unlikely event we hit the pathological case, we treat that as a tie and do another round of discussion or flip a coin or whatever our preferred tiebreaker is. I don’t think it will happen. And if it does, then at least the vote will have accurately revealed that we don’t have a well-defined collective preference, rather than picking one arbitrarily.

I’d be fine with using Schulze, because I don’t think we’ll hit the pathological case, and then it’s equivalent to pure Condorcet.

I’m not a fan of Borda. It ends up acting very like first-past-the-post: if there are two front-runners, then the rational thing to do is to hold your nose and rank the one you like better as first, and the one you like least as last, regardless of your actual preferences.

I’m also fine with approval voting. Conceptually, it’s doing something slightly different than ranked methods: it’s trying to find an option that the most people can live with, rather than trying to find an option that’s most-liked by a majority.

At the sprint, I brought up approval voting, and Raymond was against it on the grounds that it will tend to compromise and he thinks that’s bad. OTOH the reason Donald suggested SCORE in the other thread was because it tends to compromise like approval voting, and he thinks that’s good ¯\(ツ)/¯. Personally I don’t really have a preference; I think either general approach is fine, and it’s unlikely to make much difference. My main preference is just that we use a system where we don’t feel obliged to do weird tactical calculations in order to get a good result, and both approval and Condorcet methods seem OK to me on those grounds. I guess some people dislike approval because for options where they’re wishy-washy they find it hard to set their threshold, though, which I can sympathize with; it’s similar to my desire not to have to do weird tactical calculations.

An advantage of approval voting (and the reason I brought it up in the first place at the sprint), is that in addition to producing a winner, it also lets you say “and look, 70% of devs approved on this winner”, i.e. you can measure absolute support as well as relative support. I think this is a nice property, since it increases the overall legitimacy of the vote and it means that when reporters come asking we can cite this number to prove how unified we all are now that we’re past the election.

Debian has a clever trick that lets them get a similar advantage in their elections, even though they don’t use approval voting: they put a “Further discussion” item on the ballot, and it always loses by some huge landslide margin. This is probably even better at producing a nice number you can quote at journalists (“look, not everyone voted for this option as their first choice, but 95% of devs like it better than continuing to discuss”). It’s also nice because if there’s an option you think is really bad, like it would actively harm the project to pick, then you can express that by ranking it below “Further discussion” (and in Debian, sometimes individual options do end up below “Further discussion”). So if we don’t use approval voting, then I suggest we add a “Further discussion” option to the ballot.