Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collect information about election tools #1

Closed
mrocklin opened this issue Mar 20, 2024 · 4 comments
Closed

Collect information about election tools #1

mrocklin opened this issue Mar 20, 2024 · 4 comments
Assignees

Comments

@mrocklin
Copy link
Collaborator

We'll likely run the election with some web service. There are a few out there. Someone (I think @lagru ) is investigating.

@lagru can I ask you to share whatever information you learn here, along with whatever initial recommendations you have? My guess is that you'll look at 2-5 different tools, summarize them including what you do and don't like, and maybe share your thoughts on what 1-2 you think would work especially well for us.

@lagru
Copy link
Member

lagru commented Mar 20, 2024

Sounds good and will do so!

@lagru
Copy link
Member

lagru commented Mar 27, 2024

Okay, sorry for taking some time with this.

PSF (as a reference community):

  • So far I've reviewed Helios Voting and OpaVote as voting platforms that we could use. Both have been used by the PSF in past elections and the PSF recently made a switch from Helios to OpaVote. I'll reach out to them because I'm curious why they made the switch.
  • A very helpful README can be found at https://github.com/python/psf-election, previous version for Helios here.
  • The have used simple Approval Voting so far, which means everyone get's 1 vote to approve 1 candidate. Tie-breaks are handled by seeding a random selection with the tied candidate names.

Helios Voting:

  • Open Source, and can be self-hosted. Though, I'd definitely prefer to just use the hosted version at https://vote.heliosvoting.org which is also free if we go this route. Their login would require either a Goolge or GitHub account.
  • Their online documentation seems a bit sparse, very technical or I didn't find it yet, which doesn't help my understanding of the tool. Most info I actually got from the PSF's README.
  • But I'm reasonably sure that they only support Approval Voting. This means we'd have to handle tie-breaks ourselves. E.g. the solution by the PSF is https://github.com/python/psf-election/blob/main/break-ties.py.
  • Voters get a ballot tracker to track their vote to the final results. Though, it seems like only voters and admins can see the results at all. E.g. in this post a link to a login is provided to see results.

OpaVote:

  • Closed source, so we'd have to trust the platform. It's also not free for what I envision our election size will be. E.g. with 2000 Voters and 100 candidates it would cost $160.
    • @lsilen it would be good to get the count of voters and candidates in the last election.
  • Supports a wide array of voting systems. If we decide to aim for a more proportionally representation with our election system I'd recommend the we use Single Transferable Vote (STV) (specifically Scottish STV) with enhanced ranked ballots (voters can rank as many candidates as they prefer).
  • It seems well documented compared to Helios.
  • Results can be exported so we could verify the results of the method we chose, or use our own tie-breaking method.

Closing thoughts:

  • Right now, I'm leaning towards OpaVote mainly because of the fact that it seems to be better documented and that the PSF went with it. The FOSS part in me doesn't like the closed nature of course but I think being practical about this while we figure out the rest is the right approach.
  • We should definitely plan for a test election to gain some experience with the tool beforehand!

Let me know about any questions you might have and I'll try to look into it. Would also be good to know if you want me to investigate more tools.

@lagru
Copy link
Member

lagru commented Mar 28, 2024

I got feedback from the PSF. Apparently, a primary reason for the switch was poor email deliverability from Helios' side related to DKIM/SPF/DMARC. And it caused problems with ballots ending up in spam folders.

@tkoyama010
Copy link
Sponsor Collaborator

We decided to use OpaVote. Thanks for your discussions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants