Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propose guidance around contentious decisions. #8438

Merged
merged 2 commits into from Oct 15, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
39 changes: 37 additions & 2 deletions src/docs/committers.md
Expand Up @@ -8,7 +8,7 @@ A Committer is a member of the community who has access to commit changes to the
Becoming a Committer
--------------------

Nominations for committers are discussed on the pants-committers@googlegroups.com group. The discussion will consider commits contributed to date and the participation of the contributor in reviews and public communication channels. Feedback is gathered on what might be required for the contributor to be approved as a committer.
Nominations for committers are discussed on the <pants-committers@googlegroups.com> group. The discussion will consider commits contributed to date and the participation of the contributor in reviews and public communication channels. Feedback is gathered on what might be required for the contributor to be approved as a committer.

The minimum requirement to become a committer is evidence of at least 10 "significant contributions" to the open source repo. The definition of what constitutes a "significant contribution" is kept intentionally vague, but at a minimum, those contributions should:

Expand All @@ -21,7 +21,7 @@ After approval by a vote of the current committers, a new committer has access t

- Commit access to the github repo.
- Ability to Stop/restart builds on Travis-CI.
- Access to the pants-committers@googlegroups.com group.
- Access to the <pants-committers@googlegroups.com> group.

A committer may also request access to publish changes to the org.pantsbuild groupId on the Maven Central Repository.

Expand All @@ -40,6 +40,41 @@ It is the responsibility of a Committer to ensure that the ongoing good health a

Committers should respond to public requests for code reviews. While it is not necessary for every review to be approved by every committer, the health of the community depends on quality vetting of incoming changes. If only a single committer is tagged on a review and is unable to participate, the committer should respond to the review and recommend another committer.

Contentious Decisions
---------------------

To help address cases where consensus cannot be reached even after extended discussion, committers
may use a vote to reach a conclusion.

Before calling a vote, it's very important to attempt to reach consensus without a vote. Because
discussion and collaboration help us to understand one another's concerns and weigh them, issues
that are potentially contentious generally deserve a thread on <pants-devel@googlegroups.com>: if
you are unsure of whether an issue is contentious, consider sending the mail anyway.

If it becomes clear that all concerns have been voiced, but that consensus cannot be reached via
discussion, a committer may call a vote by creating a new thread on <pants-devel@googlegroups.com>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we make it more clear here that this step is to be taken only in cases which have previously received discussion on pants-devel? The current reading seems like it could be interpreted as "making the initial thread on pants-devel is optional, but you can call a vote either way".

with a subject line of the form `[vote] Should We X for Y?`, and a body that presents a series of
the (pre-discussed) numbered choices. The committer should publicize the vote in relevant Slack
channels such as `#infra` and `#releases`, and on the <pants-committers@googlegroups.com> list.

Because the topic will already have been extensively discussed, the voting thread should _not_ be
used for further discussion: instead, it should be filled with responses containing only a list of
the individual's ranked numerical choices (from first choice to last choice in descending order),
with no rationale included. Individuals may change their votes by replying again.

When a thread has not received any new responses in three business days, the committer who called
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any expectation for the committer to publicize the vote beyond the original email? Should they message committers on Slack? Send followup emails?

If so:

During these three business days, the committer who called the vote should make a good-faith effort to ensure that all relevant stakeholders are aware of the vote, such as messaging other committers on Slack. While there is no expectation that every committer votes, we want everyone to be aware of the process.

Although with this wording, stakeholders is ambiguous. Perhaps change to all committers (or as close to all as feasible).

Copy link
Sponsor Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, probably.

the vote should reply to request any final votes within one business day (and restart the three day
countdown if any new votes arrive before that period has elapsed). On the other hand, if new
information is raised on the discussion (note: not voting) thread during the course of voting, the
committer who called the vote might choose to cancel the vote and start a new voting thread based on
that new information.

When tallying the votes, only committer's votes will be counted: votes are counted using
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can non-committers still vote?

When tallying the votes, only committer's votes will be counted, although non-committers are still encouraged to vote so that committers may better understand what other stakeholders think of the decision. Votes are counted using ...

Copy link
Sponsor Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.

<https://en.wikipedia.org/wiki/Instant-runoff_voting> (the "last choice" alternative is eliminated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me very very happy :)

Copy link
Sponsor Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for ranked-choice voting!

round by round until only the target number of choices remains), using a simple majority of the
participating (ie, those who replied to the voting thread) committer's votes. Once the votes have
been tallied, the committer should reply to the thread with the conclusion of the vote.

Releaser
--------

Expand Down