PyroPeter wrote:
On 12/05/2010 07:55 PM, Xyne wrote:
The voting period should remain 7 days regardless of the current votes. It is rude to others to exclude them from participation even if the outcome is assured.
Once the voting period is over, the motion shall pass if either an absolute majority were reached, or if a simple majority were reached with quorum.
This will allow all TUs to have their say if they so choose and it sidesteps the issue of determining inactivity due to shortened voting periods while preventing motions with absolute (i.e. insurmountable) majorities from failing, which is what the real issue is here. Overall I think this is the simplest solution.
Maybe one could go one step further and only declare a motion as passed if there is an absolute majority after 7 days. (Meaning that more than one half of the active TUs voted YES)
This would simplify the voting procedure a lot, but would higher the barrier for a motion to pass. e.g. results that express mainly indifference with a slight tendency to YES (like 5 yes, 4 no and 15 abstain votes) would no longer pass.
I think that barrier might be a bit too high. At the same time, I think we should have some minimum barrier. As it currently stands, with Loui's and Pierre's interpretation of "abstain"*, it is fully possible for someone to become a TU with a single "yes" vote, e.g. <66% - 1> TUs abstain and only one votes "yes". It basically means "meh, I can't think of any reason *not* to give you access to [community] and the AUR, so have fun". A minimum threshold would mean "ok, enough TUs are confident that you can be trusted with access". This makes more sense to me as a TU is a *Trusted* User, not a "Not Distrusted" User. Basically, access should be given for positive reasons, not for the absence of negative reasons. Perhaps a better system would be to simply require the following two conditions to pass the votes: $yes > ($percent * $TUs) && $yes > $no In words, a set percentage of all active TUs must vote "yes" and there must be more "yes" votes than "no" notes. We could still require quorum. If quorum is not met, rather than reject the vote, it would be postponed until quorum can be met. There is no reason to reject an applicant simply because some TUs are unavailable or lazy (in which case we probably need some new TUs :P). Summarizing: * vote passes in EITHER of the following cases: - more than 50% of all active TUs vote "yes" (quorum doesn't matter in this case) - more than x% of all active TUs vote "yes" AND more vote "yes" than "no" AND quorum is established ("yes" + "no" + "abstain" > y% of all TUs) (x% and y% to be determined by discussion, e.g. 33% and 66%, resp.) * voting period never gets shortened even if the outcome is assured (others would be prevented from voting) #!/usr/bin/env python2 from sys import argv from fractions import Fraction # Threshold percentage of "yes" votes to pass motion. # 33% used only as an example. threshold = Fraction(33, 100) # Quorum (66%) quorum = Fraction(66, 100) # Majority majority = Fraction(50, 100) # Total active TUs, yes votes, no votes, abstain votes. TUs, yes, no, abstain = [Fraction(x) for x in argv[1:]] # Total number of votes. votes = yes + no + abstain # If an absolute majority has voted yes, # or quorum has been established with a simple majority if (yes / TUs) > majority \ or ( votes / TUs >= quorum and \ yes / TUs > threshold and \ yes > no \ ): print "The motion has passed." else: print "The motion has failed."