Add Condorcet Voting to Discourse Polls

We have been using Discourse Polls successfully for quite a while now and are quite happy with them. However for some votes we’d like to have more than just a simple poll. I particular we’d like to have an implementation of Condorcet Voting.

For those votes we’ve turned to using external services such as: CIVS completion algorithms

However it would be really great to be able to run these votes internally to our Discourse instance with the authentication and authorization capabilities.

There’s already a Single Choice, Multiple Choice, and Number Rating. It would be great to add Condorcet as an option.

The structure of the inputs and outputs is very similar UI to the existing implementations.

And the underlying voting algorithms are available as open source gems such as

Adding this type of poll would be really helpful.

You can read more about this type of voting at:

3 Likes

The tricky thing here is that there are so many methods:

That would be too much to add to the polling plugin, if we were to add this it would have to be up to the site owner to choose STV vs Schulze vs Instant Runoff … etc… etc…

A lot of complexity here. Not against getting started though with at least 1 of the options.

3 Likes

Debian is using one specific variant of Condorcet by decades so I suppose it is supersafe to adopt at least this version.
It is better to have one tested on a large community then nothing.

I think Discourse communities really need something better that only winner take all polls.

See more at Debian Voting Information

1 Like

Since the OP was written, I contributed Ranked Choice based on Instant Run-off which closes the gap somewhat.

I’m not certain the Discourse team would like to make the Poll plugin any more complex.

I subsequently created a fork of the Poll plugin which adds a Sankey diagram for Ranked Choice. This will not be PR’ed because CDCK feel the plugin is already large enough (and that’s fair enough, it takes significant resources to maintain all this code)

If someone wants to fund the addition of Condorcet you can contact me privately to add it to the fork.

2 Likes

I still think that at least 1 ranking solution is required for the communities.
Will using only one be opinionated?
Probably, but better then nothing.

1 Like

It’s definitely opinionated, because each voting algo/system has it’s pro’s and cons and pitfalls and may not suit everyone.

However, the reality is someone has to pay for the software to be created and maintained …

It is true, but what I am trying to promote here is that I had the impression that it is a quite basic feature for the communities like other off the shelf maintain features in discoruse.

One of the main point of the team in the thread is that they don’t want to adopt it as any solution will be opinionated in the ranking vote portfolio solutions but I think that as in the Debian community it is better to have a single opinionated solution than just majority take all.

So the problem that we have many ranking voting solutions it is a false issue as also only majority it is already opinionated.

1 Like

Absolutely agree :+1:

1 Like