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

Add Code of Conduct Committee Charter #3663

Merged
merged 7 commits into from
Jul 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions committee-code-of-conduct/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ To understand how this file is generated, see https://git.k8s.io/community/gener

The Kubernetes Code of Conduct Committee (CoCC) is the body that is responsible for enforcing and maintaining the Kubernetes Code of Conduct.

The [charter](charter.md) defines the scope and governance of the Code of Conduct Committee.

## Members

Expand Down
149 changes: 149 additions & 0 deletions committee-code-of-conduct/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Kubernetes Code of Conduct Committee Charter

## Mission/Purpose
Our primary mission is creating and maintaining a safe and respectful community.
Our role is to provide and enforce a well-considered viewpoint on what
constitutes acceptable behavior within our community. The [Code of
Conduct](https://git.k8s.io/community/code-of-conduct.md) serves as the primary
policy document and is supported with additional references and tools as needed.
Since maintaining a safe environment is a very large part of what the committee
does, we must carefully balance transparency of process with preserving the
privacy of those who come to the committee or other community leaders with an
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the code of conduct committee should also consider the privacy of those accused of causing the incident.

Copy link
Contributor

Choose a reason for hiding this comment

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

We've discussed and agree this language should be more broad. We do say, further down, that we intended the privacy to be for everyone, including the accused.

We will send a followup PR (after this merges) to discuss and address this specific area.

incident report.

The committee understands how challenging these matters are for everyone
involved, and that the process is never perfect by nature of its need to serve
everyone in the community equally. That said, the committee is oriented toward
the protection of our community and takes that duty seriously.

## Communication with the committee
The committee maintains a private mailing list for reporting incidents, asking
confidential questions, and internal committee communication:

[conduct@kubernetes.io][email]

This email alias may not be the fastest path to a response in urgent situations.
**If a response is time critical, reaching individual committee members via
Slack is advisable. But an email must also be sent to
[conduct@kubernetes.io][email] for tracking purposes**. This feedback helps
guide the implementation of new policies and procedures.

### Others acting on behalf of the committee
Community moderation administrators in Slack, the mailing list, community
events, and elsewhere are extensions of the committee and are able to be first
responders to incidents. They are explicitly empowered to take those actions
necessary to protect the community, especially when no committee members are
available. All such events must be retroactively reviewed by the committee for
appropriateness and consistency.

Steering committee members may also act in limited cases to enforce the code of
conduct. Examples of this may be the deletion of GitHub comments, offensive
Slack messages, or the eviction of bad actors from public meetings. These
Copy link
Member

Choose a reason for hiding this comment

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

One small point here - the steering committee might not have powers to delete GitHub comments in some repos (github admin team can do that) or delete slack messages (slack admin team can do that).

Copy link
Member

Choose a reason for hiding this comment

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

Most do, but we should double check that it exists across all k8s-orgs. You may want to file an issue https://github.com/kubernetes/org

Copy link
Member

Choose a reason for hiding this comment

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

I do not agree that steering committee members should implicitly have Owner or even Admin rights across all of our orgs and all of our repos. Should steering have the ability to ask the appropriate teams to take action? Sure. But at least for all k8s orgs, we delegated the responsibilities to the GitHub Admin team, we should not subvert that. We addressed this in kubernetes/org#637

actions must be communicated to the committee for review.

## Composition and Scope
The [committee is composed of 5
members](https://git.k8s.io/community/committee-code-of-conduct).
The committee is the primary recipient of all conduct complaints regardless of
where in the community they originate. The only exception is at CNCF events,
where the event Code of Conduct process supersedes this. That is primarily due
to the high-impact nature of in-person violations and the need for more
extensive staffing. This committee should be informed and consulted for all
violations involving Kubernetes community members, regardless of circumstances.

Additionally, the committee is responsible for drafting and executing on
reporting, enforcement, and other policy matters. In most cases, policies are
made public, however some materials will be confidential by nature of their
content and application. As a general rule, the committee will provide as much
transparency as possible, except in specific incident reports where no
personally-identifying information about the reporter/reported will be shared.
Anonymized aggregated incident data may be provided to the community as the
committee sees fit.

*The Kubernetes Steering Committee has explicitly delegated all Code of Conduct
authority and enforcement to this committee. The committee can, at its
discretion, delegate some authority to those tasked with enforcement.*

## Election
TODO: Our election processes will be outlined in a separate document, coming soon.

## Committee Operation
The committee strives to respond quickly to reports, as well as initiate
whatever actions are appropriate based on severity, risk, urgency, and impact.
In some cases, this requires individual committee members to [take
immediate](https://git.k8s.io/community/communication/moderation.md) action such
as (but not limited to) removing a GitHub comment, deleting a Slack message, or
ejecting someone from a community meeting. The committee, however, will
retroactively review any action taken in such instances to ensure it was
appropriate.

The committee meets biweekly unless additional interstitial meetings are
required to address incidents or other critical work. Meetings are not recorded,
however confidential notes may be kept when necessary to provide continuity to
future committee members. Wherever possible, documentation necessary for the
internal operation of the committee will be stored in a private GitHub
repository.

### Meeting quorum
Meetings are considered at quorum when a simple majority of the members are
present. Where there are 4 or fewer members available due vacant seats or
recusal, quorum is 2.

### Policy change ratification
Any changes to the charter require explicit LGTM or Approve from all
committee members. For pull requests, a /hold will be applied until all
approvals are present. Any changes merged without consensus will be reverted.

### Incident report confidentiality
The Code of Conduct committee will keep your report confidential. The CoCC may
share report information with the Steering Committee if they believe doing so is
appropriate. Past incidents are communicated generally to new committee members
so they can have historical context for future issues. While this may allow the
establishment of bias in new members it is believed that the educational value
of this information outweighs the potential negatives.

### Incident Response Recusal
A member of the Code of Conduct committee shall recuse themselves from
evaluating and responding to any incident for which they are unable to be
impartial. If a committee member does not recuse themselves they may be removed
from participation by a unanimous vote of all other members of the committee.

### Committee seats unoccupied
In the event that one or more of the seats on the committee is unoccupied, for any
reason, a replacement member will be appointed by the steering committee as soon
as reasonable. That person will serve out the remainder of the term of the
person they are replacing.

### Committee dissolution
If committee members believe that the committee is no longer able to act in
accordance with the above Mission/Purpose the committee may vote to dissolve.
The committee should specify a date of dissolution. Dissolution requires an
affirmative vote of more than 75% of committee members, and must be unamimous
when the committee has only 4 or fewer members. If the committee is dissolved,
all seats are vacated on the date specified.

### Removal
A committee member may be removed from the committee by a unanimous decision of
the other committee members. The member should be given the opportunity to
resign before they are removed. Removal should only be considered for the
following reasons:

* The member has been found to have committed a code of conduct violation.
* The member is convicted of a felony.
* The member has been completely out of contact for more than 30 consecutive
calendar days without having made prior arrangements.
* The member has explicitly, publicly violated the privacy of individuals
involved by disclosure of personally-identifiable information (accidental
disclosure via inference is not a valid reason for removal, though may be
cause for a code of conduct violation report.)
* The member is no longer able to perform the duties of the position due to
extreme circumstances such as refugee displacement or diminution of mental
capacity.

### Resignation
If a committee member chooses not to continue in their role, for whatever
self-elected reason, they must notify the committee as well as the steering
committee in writing. As a courtesy, such notifications should be given at least
30 calendar days in advance of their departure.

[email]: conduct@kubernetes.io
1 change: 1 addition & 0 deletions sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2708,6 +2708,7 @@ committees:
The Kubernetes Code of Conduct Committee (CoCC) is the body that is responsible
for enforcing and maintaining the Kubernetes Code of Conduct.

charter_link: charter.md
label: conduct
leadership:
chairs:
Expand Down