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

Conversation

carolynvs
Copy link
Contributor

This is a proposed charter for the Code of Conduct Committee for review by the Steering Committee.

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels May 1, 2019
@k8s-ci-robot k8s-ci-robot added the committee/code-of-conduct Denotes an issue or PR intended to be handled by the code of conduct committee. label May 1, 2019
@carolynvs
Copy link
Contributor Author

/hold
/sig steering

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 1, 2019
@carolynvs
Copy link
Contributor Author

Oops, I am awful at assigning things to teams/sigs, never get that the first time. 😊

@michelleN Can you let the @kubernetes/steering-committee know that this is ready to review again?

@jdumars jdumars added the committee/steering Denotes an issue or PR intended to be handled by the steering committee. label May 1, 2019

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

Copy link
Member

@timothysc timothysc left a comment

Choose a reason for hiding this comment

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

Only a minor nit, this looks good.

/lgtm
/approve
/hold

committee-code-of-conduct/charter.md Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added lgtm "Looks good to me", indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels May 2, 2019
Copy link
Member

@spiffxp spiffxp left a comment

Choose a reason for hiding this comment

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

Some nits

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.
Copy link
Member

Choose a reason for hiding this comment

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

I'm confused by this. I read this as:

  • year 1: A,B,C,D,E
  • year 2: A,B,C,D,F
  • year 3: G,H,I,J,K
  • year 4: G,H,I,J,L

I was expecting something more like 2-seat/3-seat elections, similar to steering's 3-seat/4-seat elections:

  • year 1: A,B,C,D,E
  • year 2: A,B,C,F,G
  • year 3: H,I,J,F,G
  • year 5: H,I,J,K,L

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't believe that what you listed at the top is correct. Here's how I understand our term rotations and elections, you can see it already spelled out in our readme based on our own term limits: https://github.com/kubernetes/community/tree/master/committee-code-of-conduct#terms. Jaice and Paris both have 2 year terms, and myself, Jennifer and Eric have 1 year terms that end this summer.

The top two winners of the election get 2 year terms, the remaining people get 1 year terms. I believe that works out to this?

  • year 1: A,B,C,D,E (A,B are 2 year terms)
  • year 2: A,B,F,G,H (F,G are 2 year terms)
  • year 3: F,G,I,J,K (I,J are 2 year terms)
  • year 4: I,J,L,M,N (L,M are 2 year terms)

The first year of the committee is the exception where multiple people received a 1 year term, but going forward, we always elect enough people to replace the departing people, so it's 3 people elected, two of them getting 2year terms, and one getting a 1year term. Giving us overlap between old and new members to preserve knowledge and continuity.

Does that help?

Copy link
Member

Choose a reason for hiding this comment

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

Yes, your summary paragraph at the end is a clearer description of the intended process than what's written in the charter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've updated the charter to attempt to clarify this with some of my wording above.

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.
Copy link
Member

Choose a reason for hiding this comment

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

Which decisions require >2 members?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@eparis I think that sentence used to make sense in an older draft. But after we trimmed down parts of the document, it isn't necessary anymore. Do you agree?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've removed the old wording since it's not needed anymore.

situations where only 2 members are present.

### Policy change ratification
Any changes to the charter require explicit LGTM or Approve from all active
Copy link
Member

Choose a reason for hiding this comment

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

what does "active" mean here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In my opinion, we don't need that word there. I believe it's a leftover from an older draft.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've removed the word active.

committee-code-of-conduct/charter.md Outdated Show resolved Hide resolved
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
Copy link
Member

Choose a reason for hiding this comment

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

More than 75% means it must be unanimous if the committee drops below five members. Is that intentional? Or are you trying to say dissolution is possible with 1 dissenting vote, but not more?

Copy link
Contributor

Choose a reason for hiding this comment

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

Unanimous was my intention if there were only 4 members.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is this resolved or does the charter need the wording clarified?

Copy link
Member

Choose a reason for hiding this comment

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

Personally I would be explicit that it requires unanimity if the committee drops below 5 members

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've added wording to cover the case for < 5 members.

@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. labels May 8, 2019
@nikhita
Copy link
Member

nikhita commented May 17, 2019

This needs another rebase :(

carolynvs-msft and others added 6 commits May 22, 2019 22:15
Co-Authored-By: carolynvs <carolyn.vanslyck@microsoft.com>
These were present in older drafts that had additional clarifications about
active members, etc that aren't in the current document.
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 22, 2019
@carolynvs
Copy link
Contributor Author

Thanks for the nudge @nikhita! I've rebased and addressed all the feedback that I could.

@philips
Copy link
Contributor

philips commented May 23, 2019

This LGTM. Although I haven't been following along as closely as @spiffxp

@spiffxp
Copy link
Member

spiffxp commented May 30, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 30, 2019
@philips
Copy link
Contributor

philips commented May 31, 2019

I am going to unhold this after the Wednesday steering committee if no one has any other comments.

@dims
Copy link
Member

dims commented May 31, 2019

Sounds good @philips !

@spiffxp
Copy link
Member

spiffxp commented Jun 4, 2019

#3353 is about spelling out an appointment/election process. This charter spells out terms, but very little details of an actual election process, such as:

  • when are candidates chosen?
  • how are candidates chosen?
  • when does voting occur?
  • how does voting occur? (I believe we used CIVS last time)

The linked issue mentions the idea of nominating candidates this month (June), a vote on candidates before the end of July, and a transition by August 7th. If you're comfortable with process described there, can we flesh out the charter to include these details? @carolynvs @jdumars

@timothysc
Copy link
Member

This charter spells out terms, but very little details of an actual election process, such as:

IMO, follow on with a separate issue+doc.
Elections should typically not be part of the charter and are subject to change.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 3, 2019
@carolynvs
Copy link
Contributor Author

I have updated the charter to remove the election process and moved it into a separate document (which will be filled in later, hopefully very soon!)

Copy link
Member

@timothysc timothysc left a comment

Choose a reason for hiding this comment

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

/lgtm

I'd aim for lazy consensus for 1-week merge time.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 8, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: carolynvs, timothysc

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@spiffxp
Copy link
Member

spiffxp commented Jul 10, 2019

/lgtm
August 7th is less than a month away, I question whether we're going to make that deadline.

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.

@timothysc
Copy link
Member

Canceling hold per timeout above.
PRs can, and should, be made to this initial draft. Other comments look like they can be addressed in that fashion.

/hold cancel
/cc @michelleN

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 15, 2019
@k8s-ci-robot k8s-ci-robot merged commit d7ce431 into kubernetes:master Jul 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. committee/code-of-conduct Denotes an issue or PR intended to be handled by the code of conduct committee. committee/steering Denotes an issue or PR intended to be handled by the steering committee. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.