From 76d80f589988ada95e0a9b1bac58323265ae6b0f Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 1 May 2019 16:30:44 -0500 Subject: [PATCH 1/7] Add Code of Conduct Committee Charter --- committee-code-of-conduct/README.md | 1 + committee-code-of-conduct/charter.md | 150 +++++++++++++++++++++++++++ sigs.yaml | 1 + 3 files changed, 152 insertions(+) create mode 100644 committee-code-of-conduct/charter.md diff --git a/committee-code-of-conduct/README.md b/committee-code-of-conduct/README.md index aa5046d8743..0ebfb13f932 100644 --- a/committee-code-of-conduct/README.md +++ b/committee-code-of-conduct/README.md @@ -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 diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md new file mode 100644 index 00000000000..f54fad546aa --- /dev/null +++ b/committee-code-of-conduct/charter.md @@ -0,0 +1,150 @@ +# Kubernetes Code of Conduct Committee Charter + +## Mission/Purpose +Our primary concern 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 +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 +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) elected by the +Steering Committee based on private nomination. During an election, the two +candidates that received the most committee votes are granted 2 year terms, with +the remaining person given a one year term. + +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.* + +## 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. Note that many decisions are not able to be implemented in +situations where only 2 members are present. + +### Policy change ratification +Any changes to the charter require explicit LGTM or Approve from all active +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 occupied, 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. 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 \ No newline at end of file diff --git a/sigs.yaml b/sigs.yaml index a0839f6ad08..b22ce619940 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -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: From e4bcfbba5665cc4bbf072635c222544c7dca1549 Mon Sep 17 00:00:00 2001 From: Aaron Crickenberger Date: Wed, 8 May 2019 11:30:29 -0500 Subject: [PATCH 2/7] s/occupied/unoccupied Co-Authored-By: carolynvs --- committee-code-of-conduct/charter.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index f54fad546aa..0efe11988cc 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -111,7 +111,7 @@ 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 occupied, for any +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. @@ -147,4 +147,4 @@ 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 \ No newline at end of file +[email]: conduct@kubernetes.io From 7b6dcb8483f6afced924f4a52aceb23fa4a23e01 Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 8 May 2019 11:40:09 -0500 Subject: [PATCH 3/7] s/concern/mission --- committee-code-of-conduct/charter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index 0efe11988cc..d499120de99 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -1,7 +1,7 @@ # Kubernetes Code of Conduct Committee Charter ## Mission/Purpose -Our primary concern is creating and maintaining a safe and respectful community. +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 From 829d988b2ad943bdb8d827fb7ebf0a84f739b9a3 Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 22 May 2019 22:29:53 +0200 Subject: [PATCH 4/7] Clarify overlapping member term lengths --- committee-code-of-conduct/charter.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index d499120de99..d711e417135 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -46,7 +46,9 @@ The [committee is composed of 5 members](https://git.k8s.io/community/committee-code-of-conduct) elected by the Steering Committee based on private nomination. During an election, the two candidates that received the most committee votes are granted 2 year terms, with -the remaining person given a one year term. +the remaining person(s) given a one year term. This gives us overlap between +members terms, so that there are two members staying on between each to provide +continuity. 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, From 8e2abcc9cb94303ccf8a2f01a34719779061bf7a Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 22 May 2019 22:31:28 +0200 Subject: [PATCH 5/7] Remove unnessary wording These were present in older drafts that had additional clarifications about active members, etc that aren't in the current document. --- committee-code-of-conduct/charter.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index d711e417135..30ffcd97ba9 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -90,11 +90,10 @@ 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. Note that many decisions are not able to be implemented in -situations where only 2 members are present. +recusal, quorum is 2. ### Policy change ratification -Any changes to the charter require explicit LGTM or Approve from all active +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. From beecffd9918d5fb480e42b7564281852ac077e8e Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 22 May 2019 22:32:12 +0200 Subject: [PATCH 6/7] Clarify when unanimous vote is required for dissolution --- committee-code-of-conduct/charter.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index 30ffcd97ba9..d177d41fa31 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -121,8 +121,9 @@ person they are replacing. 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. If the committee is -dissolved all seats are vacated on the date specified. +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 From 01e7677a0a8f3f3715de17d9c02c2578c791e783 Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Wed, 3 Jul 2019 13:13:37 -0500 Subject: [PATCH 7/7] Move election process into a separate document --- committee-code-of-conduct/charter.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/committee-code-of-conduct/charter.md b/committee-code-of-conduct/charter.md index d177d41fa31..8e0fd3f4b8f 100644 --- a/committee-code-of-conduct/charter.md +++ b/committee-code-of-conduct/charter.md @@ -43,13 +43,7 @@ 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) elected by the -Steering Committee based on private nomination. During an election, the two -candidates that received the most committee votes are granted 2 year terms, with -the remaining person(s) given a one year term. This gives us overlap between -members terms, so that there are two members staying on between each to provide -continuity. - +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 @@ -70,6 +64,9 @@ committee sees fit. 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.