How Voting Works

From MusicBrainz Wiki
Revision as of 19:34, 28 August 2007 by BrianSchweitzer (talk | contribs) ((Imported from MoinMoin))
Jump to navigationJump to search

How Votes on Edits are processed

  • Attention.png Status: This page is work in progress and NeedsEditing and NeedsIntertwingling quite badly. I just gathered some information that went over the MailingList, so that it would not be lost. It partially duplicates Information which is on the FAQ. That stuff should probably get moved here --DonRedman
    • I rewrite and updated all of the top two sections. The pseudo code section needs doing still, plus any moving in of data from VotingFAQ that is needed. -- BrianSchweitzer 19:34, 28 August 2007 (UTC)

Preface

  • Edits are kept open for either 4 or 14 days, depending on the DataQuality setting for the artist or release.
  • Edits with as many Yes as No votes are generally considered failed and not applied by the ModBot.

Algorithm for closing edits

Every hour, the server runs the following algorithm, applying it to each open edit in turn. In the text below, EXIT means that the fate of the edit in question has been determined, the ModBot turns its attention to the next open edit. by DaveEvans

  1. If the editor has cancelled the edit, it will be deleted. EXIT.
  2. There is then some logic to do with dependencies between edits, there are 3 possible outcomes of the dependency checks
    • ModBot determines that the edit fails due to Failed Prerequisite EXIT
    • ModBot determines that the edit stays "Open" EXIT
    • The outcome of the check does not require any action, and the ModBot continues to process the edit...
  1. If there are at least 3 Yes votes and 0 No votes, the vote is deemed to be unanimous, and the edit is applied, and is Applied. EXIT.
  2. If there are at least 3 No votes and 0 Yes votes, the vote is deemed to be unanimous, and the edit is failed due to Failed Vote. EXIT.
  3. If the edit has expired (older than 14 days (4 days if at Low Quality)), then:
    1. If there are MORE Yes votes than No votes, then the edit is Applied. EXIT.
    2. If there are MORE No votes than Yes votes, then the edit is failed due to Failed Vote. EXIT.
    3. If the edit has at least two Yes or No votes, and the same number of Yes and No votes (Abstain are ignored), then the edit is failed due to Failed Vote. EXIT.
    4. If there are no Yes or No votes, the edit is Applied.
  1. Otherwise, the edit stays open for now. Note that the number of required votes for the above conditions is different if the artist or release is set to either High or Low DataQuality. These numbers assume that the artist or release is set to the Normal DataQuality setting.

Algorithm for Expired Edits

The algorithm for expired edits is the following (translated from ModBot.pm to pseudo code) by MatthiasFriedrich on the mailing list

IF someone voted yes or no; THEN
   IF yes_votes > no_votes; THEN
      apply() # and '''EXIT'''
   ELSE
      fail() # and '''EXIT'''
   FI
FI

# At this point, we only have expired mods that nobody voted on
# yet. Abstains are not counted
IF grace period has expired; THEN # grace period is another week
   apply() # and '''EXIT'''
ELSE
   # grace period has not expired yet
   IF the mod submitter is the only subscriber; THEN
      apply() # and '''EXIT'''
   FI
FI


Original version: -