Hi folks,

My main reason for writing this mailing list is to ask for help on a couple
of things:
1.  I've written and published the results of many elections as tabulated
by my relatively new software for displaying election results, and I want
some feedback on it.
2.  There's a text format (called "Aggregated Ballot Information Format" or
"ABIF") that I've helped create, and I'm hoping folks familiar with the
devotee codebase would be willing to look at the format, and maybe even add
ABIF support to devotee.

Way too many details follow....
---------------
My name is Rob Lanphier and I'm partly to blame for the Debian
Project's switch to the Schulze method from "Concorde", the latter of which
was the voting system Debian developers used until I pointed out that
"Concorde" was probably "Condorcet", and that someone may have read an
article I wrote for the Perl Journal, and misremembered the name.  The
aforementioned Perl Journal article:
https://robla.net/1996/TPJ

"Schulze" is a specific type of Condorcet-winner-compliant system, created
by Markus Schulze, who helped Debian move to his system.  "Copeland" is
another Condorcet system that is a little easier to understand, and almost
always picks the same winner as Schulze.  I think Schulze is perfectly
cromulent, so I'm not about to try getting you to switch.

What I do want some feedback on is some software I wrote recently, and I'd
like to discuss the possibility of the Debian community publishing its
results in ABIF.  I've cloned the Devotee repository, but I'm not sure I'm
in a good position to wrap my head around the codebase.  These days, I'm
much more fluent in Python.  I've been working on a Python library to
tabulate elections, and I've been putting together a website to visualize
elections.  I've put in the data for all of the DPL elections here:
https://abif.electorama.com/tag/debian

The user interface for the "ABIF web tool" (awt) is a little janky, but
it's pretty powerful.  It's possible to get the Condorcet/pairwise winner
for any election if one knows how to express the election in ABIF.  What is
ABIF (you may be asking)?  ABIF is "Aggregated Ballot Image Format".  It's
a plain-text format that can be used to express pretty much any election
that uses cardinal or ordinal ballots.  Since Debian uses ordinal ballots,
it seemed like I should make sure that abiftool.py can convert Debian
election logs into ABIF.

A particularly interesting Debian Project Leader result from a few years
ago is this one:
https://abif.electorama.com/id/DPL2003

Note that awt tabulates the DPL2003 results not only using Condorcet, but
it also tabulates using "instant-runoff voting" (also known as "IRV" or
"RCV" as it's called in the United States).  What's interesting about the
DPL2003 election is that Condorcet methods and IRV result in different
results.  Pretty much all of the other elections that the Debian community
has had have resulted in the same Condorcet vs IRV winner.  Election nerds
(like me) find DPL2003 fascinating.

Circling back to my main requests:
1.  Is awt actually giving the correct result?  Do y'all see any bugs?  The
source code for awt is all out there, and it's licensed under GPLv3.  "awt"
uses the "abiflib" library bundled with "abiftool.py", which is a powerful
command line interface in front of abiflib, so if you'd like to run/debug
abiflib locally, learning abiftool.py is probably the most helpful place to
start.
2.  Would anyone familiar with the devotee codebase be willing to add ABIF
support to devotee?  The format for ABIF is pretty simple to learn.

I also want to mention that I've recently started a mailing list called the
"election-software" mailing list, which can be found here:
https://electowiki.org/wiki/Election-software_mailing_list

I would be delighted if the devotee developers subscribed and posted to the
election-software mailing list.

Cheers!
Rob

Reply via email to