[aur-general] Amendment

Xyne xyne at archlinux.ca
Tue Dec 7 08:16:44 EST 2010


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."



More information about the aur-general mailing list