There is what I consider an unnecessary problem with later-no-harm [1] in Debian's use of the Condorcet voting method in the Debian Constitution §A.6.3 [2].
The problem was visible in the recent CTTE init system vote, as noted by fx Steve Langasek [3]. Given options * systemd (D) * upstart (U) * Further Discussion (FD) FD as the default option gets special treatment in step §A.6.3, in that any other option must be preferred by a majority over FD. So if all the systemd supporters had votes D>U>FD, and all the upstart supporters had voted U>FD>D, then D would not have a majority over FD, would be discarded in step §A.6.3, and U would have won. This is spite of D and U being tied, where Bdale's casting vote for D in step §A.6.8 would mean that D would win over U in a fair voting system. The later-no-harm (strategical voting) problem here is that the upstart supporters can vote strategically FD>D, even though they really prefer D>FD. I believe this problem is easily fixable. I propose moving the §A.6.3 check down as the very last point of §A.6, which the final winner is checked against. The casting vote would not count as a real vote for this comparison purpose. So in the init system vote example with my rule modification, D, U and FD would end up in the Schwartz set, Bdale would choose D, and the final result would then be FD, because D doesn't beat FD. So this rule change means that U cannot win unfairly due to strategic voting for FD. That FD wins is fair, given that it reflects the actual votes which were cast. [1] https://en.wikipedia.org/wiki/Later-no-harm_criterion [2] https://www.debian.org/devel/constitution#item-A [3] https://lists.debian.org/debian-ctte/2014/02/msg00288.html Hope this helps :) Regards, Thue

