[openstack-dev] What should openstack-specs review approval rules be ?
Thierry Carrez
thierry at openstack.org
Fri Feb 13 13:40:14 UTC 2015
James E. Blair wrote:
> [...]
> I think in general though, it boils down to the fact that we need to
> answer these questions for each of the repos:
>
> A) Should the broader community register ±1 or simply comments? (Now
> that we may distinguish them from TC member votes.)
> B) Should individual TC members get a veto?
>
> I personally think the answer to A is "votes" and B is "no" in both
> cases. I'm also okay with sticking with "comments" for the governance
> repo. I fell pretty strongly about not having veto.
I'd answer the same. Votes and no veto.
> [...]
> ======================================================================
>
> Since upgrading to Gerrit 2.8, we have some additional tools at our
> disposal for configuring voting categories. For some unique
> repositories such as governance and cross-project specs, we may want
> to reconfigure voting there.
>
> Governance Repo Requirements
> ----------------------------
>
> I believe that the following are requirements for the Governance
> repository:
>
> * TC members can express approval or disapproval in a way that
> identifies their vote as a vote of a member of the TC.
> * TC members may not veto.
> * Anyone should be able to express their opinion.
> * Only the TC chair may approve the change. This is so that the chair
> is responsible for the procedural aspects of the vote (ie, when it
> is finalized).
>
> Current Governance Repo Rules
> -----------------------------
>
> These are currently satisfied by the following rules in Gerrit:
>
> * Anyone may comment on a change without leaving a vote.
> * Only TC members may vote +1/-1 in Code-Review.
> * Only the TC chair may vote Code-Review +2 and Workflow +1.
>
> Unsatisfied Governance Repo Requirements
> ----------------------------------------
>
> This does not satisfy the following potential requirements:
>
> * The TC chair may vote -1 and still approve a disputed change with 7
> yes votes (the chair currently would need to leave a comment
> indicating the actual vote tally).
> * Non-TC members may register their approval or disapproval with a
> vote (they currently may only leave comments to that effect).
Agreed.
> Cross-Project Repo Requirements
> -------------------------------
>
> * TC members can express approval or disapproval in a way that
> identifies their vote as a vote of a member of the TC.
> * TC members may not veto. (This requirement has not achieved
> consensus.)
> * Non-TC members may register their approval or disapproval with a
> vote (we must be able to easily see that PTLs of affected projects
> have weighed in).
> * Only the TC chair may approve the change. This is so that the chair
> is responsible for the procedural aspects of the vote (ie, when it
> is finalized).
>
> Current Cross-Project Repo Rules
> --------------------------------
>
> These are currently satisfied by the following rules in Gerrit:
>
> * Anyone may comment on a change and leave a vote.
> * Only TC members may vote +2 in Code-Review.
> * Only the TC chair may vote Workflow +1.
My understanding is that currently, any TC member can Workflow+1 (which
lead to the accidental approval of the previous spec).
> Unsatisfied Governance Repo Requirements
> ----------------------------------------
> The following potential requirements are not satisfied:
>
> * TC members may veto with a -2 Code-Review vote. (This requirement
> has not achieved consensus.)
>
> Potential Changes
> =================
>
> To address the unsatisfied requirements, we could make the following
> changes, which would only apply to the repos in question:
>
> To address this requirement:
> * The TC chair may vote -1 and still approve a disputed change with 7
> yes votes (the chair currently would need to leave a comment
> indicating the actual vote tally).
>
> We could change the Code-Review label function from "MaxWithBlock" to
> "NoBlock", so that the votes in Code-Review are ignored by Gerrit, and
> only enforced by the chair.
>
> Additionally, we could write a custom submit rule that requires at
> least 7 +1 votes in order for the change to be submittable.
Our voting rules are slightly more complex than that, as you can see here:
http://git.openstack.org/cgit/openstack/governance/tree/reference/charter.rst#n77
The rule actually is "more positive votes than negative votes, and a
minimum of 5 positive votes". The "7 YES" rule is just a shortcut: once
we reach it, we can safely approve (otherwise we basically have to wait
for "all votes to be cast", which with asynchronous voting, and the
difficulty to distinguish +0 from "not voted yet", is not so easy to
achieve).
So unless you can encode that in a rule, I'd keep it under the
responsibility of the chair to properly (and publicly) tally the votes
(which I do in the +2 final comment) according to our charter rules.
--
Thierry Carrez (ttx)
More information about the OpenStack-dev
mailing list