디스커스 투표에 콩도르세 투표법 추가

당사는 Discourse Polls를 꽤 오랫동안 성공적으로 사용해 왔으며, 현재까지 만족도가 높습니다. 다만 일부 투표에서는 단순한 투표 기능을 넘어 더 복잡한 기능이 필요합니다. 특히 Condorcet 투표 방식을 구현하고 싶습니다.

이러한 투표에는 현재 CIVS completion algorithms 와 같은 외부 서비스를 활용하고 있습니다.

하지만 인증 및 권한 관리 기능을 갖춘 Discourse 인스턴스 내에서 이러한 투표를 내부적으로 진행할 수 있다면 매우 좋을 것입니다.

현재 단일 선택, 다중 선택, 숫자 평가 방식이 이미 존재하므로, Condorcet 방식을 옵션으로 추가해 주시면 좋겠습니다.

입력과 출력의 구조는 기존 구현 방식과 UI가 매우 유사합니다.

또한 Condorcet 투표의 기반 알고리즘은 다음과 같은 오픈 소스 젠(gem)으로 제공됩니다.

이 유형의 투표 기능을 추가해 주시면 큰 도움이 될 것입니다.

이 투표 방식에 대해 더 자세히 알고 싶으시다면 다음 링크를 참고하세요:

3개의 좋아요

여기서 까다로운 점은 방법이 너무 많다는 것입니다:

이것을 모두 투표 플러그인에 추가한다면, 사이트 소유자가 STV, 슈를제, 즉시 결선투표 중 하나를 선택하도록 해야 할 것입니다… 등등.

여기에는 많은 복잡성이 따릅니다. 하지만 적어도 1가지 옵션으로 시작하는 것에는 반대하지 않습니다.

3개의 좋아요

Debian은 수십 년 동안 Condorcet 방법의 특정 변형을 사용해 왔으므로, 적어도 이 버전만큼은 채택하는 것이 매우 안전할 것으로 생각됩니다.
커뮤니티에서 충분히 검증된 하나의 방법이 있는 것이 아무것도 없는 것보다 낫습니다.

Discourse 커뮤니티는 승자독식 방식의 투표만 있는 것보다 더 나은 기능이 정말로 필요합니다.

자세한 내용은 Debian Voting Information 에서 확인하세요.

1개의 좋아요

OP가 작성된 이후, Instant Run-off 기반의 Ranked Choice(순위 선택제)를 기여하여 그 격차를 다소 줄였습니다.

Discourse 팀이 투표 플러그인을 더 복잡하게 만드는 것을 원하지 않을 것 같습니다.

이후 Ranked Choice를 위한 Sankey 다이어그램을 추가한 투표 플러그인의 포크를 만들었습니다. CDCK는 플러그인이 이미 충분히 크다고 생각하여(그리고 모든 이 코드를 유지보수하는 데 상당한 자원이 필요하므로 이는 당연한 의견입니다) PR을 보내지 않을 것입니다.

누군가 Condorcet 방식 추가를 후원하고 싶다면, 포크에 추가할 수 있도록 개인적으로 연락해 주세요.

2개의 좋아요

저는 커뮤니티에 최소한 1개의 랭킹 솔루션이 필요하다고 여전히 생각합니다.
단 하나만 사용하면 편향적일까요?
아마도 그렇겠지만, 아무것도 없는 것보다는 나을 겁니다.

1개의 좋아요

결코 그렇지 않습니다. 각 투표 알고리즘/시스템에는 각각의 장단점과 함정이 있으며, 모든 사람에게 적합하지 않을 수 있기 때문입니다.

그러나 현실적으로는 소프트웨어의 개발과 유지보수를 위해 누군가는 비용을 지불해야 합니다 …

사실이 맞지만, 제가 여기서 강조하려는 것은 디스코러스의 다른 상판(Off-the-shelf) 유지보수 기능들과 마찬가지로, 이는 커뮤니티에 있어 꽤 기본적인 기능이라는 인상을 받았다는 것입니다.

그 스레드에서 팀의 주요 논점 중 하나는, 랭킹 투표 포트폴리오 솔루션은 어떤 해결책이든 의견이 개입된(opinionated) 것이기 때문에 이를 채택하고 싶지 않다는 것입니다. 하지만 저는 Debian 커뮤니티의 경우처럼, 다수결로 전부를 결정하는 것보다 단일한 의견이 개입된 해결책 하나를 갖는 것이 더 낫다고 생각합니다.

따라서 우리가 여러 랭킹 투표 솔루션을 가지고 있다는 문제는 가짜 이슈(false issue)입니다. 왜냐하면 단순히 다수결 방식만 사용하더라도 이미 의견이 개입된 것이기 때문입니다.

1개의 좋아요

전적으로 동의합니다 :+1:

1개의 좋아요