Monday, February 6, 2023

Local Election Drama Shows Need For Open Source Elections

tl; dr: Election; certification; software oops!; swearing in; lawsuit.

The Oakland, California School Board election of 2022 is still contested. At first it seemed straightforward; the election and certification went by apparently well. Then, December 28, the Alameda County Registrar of Voters posted an oops, "its RCV tally system was not configured properly". In January the initially certified winner, Nick Resnick, was sworn in. Mike Hutchinson should have won by the corrected count, and he's pursuing a court challenge to fix the outcome in his favor.[1]

The specifics of the problem to me sound like a bug in the implementation of the "Instant Runoff Vote" algorithm used in this RCV election. From the AC ROV press release:

It should have been configured to advance ballots to the next ranking immediately when no candidate was selected for a particular round.  This means that if no candidate was selected in the first round on the ballot, then the second-round ranking would count as the first-round ranking, the third-round ranking would count as the second round ranking, and so on.

To me that doesn't sound like a "configuration" issue, but a straight up bug in the implementation of IRV. I can't imagine the behavior described as being the desired 'correct' behavior in any context. The bigger problem is that we don't know what happened because we don't have the source code. I can post my count of the election, but so what? We don't know what's happening in the official count.

I previously posted about how San Francisco elections don't quite reproduce, not with a big enough margin to change any outcomes, but it's still at least a little worrying that the official cast vote record can't seem to reproduce the officially certified counts. Where did those counts come from? What data were they using? What software and settings did they use to count the votes? We don't know. San Francisco is doing good for the world by publishing their full cast vote data, and we should thank them for that, (and Minneapolis, Minnesota, and the State of Alaska, and a few other places intermittently posting RCV data).

We need our elections running Open Source software that can be publicly verified, otherwise we kinda can't have elections be publicly verified. In this case, a hand count of the 26,714 votes is still a manageable inconvenience, but a future state-wide election with millions of votes might not be feasible.