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

Resolving conflicts of interest with committee membership #221

Open
2 tasks
justaugustus opened this issue Nov 9, 2021 · 15 comments · May be fixed by #272
Open
2 tasks

Resolving conflicts of interest with committee membership #221

justaugustus opened this issue Nov 9, 2021 · 15 comments · May be fixed by #272
Assignees
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@justaugustus
Copy link
Member

justaugustus commented Nov 9, 2021

Problem Statement

Affectionately termed the "@parispittman Provision" in the 2021-11-08 Steering meeting, there has been a precedent established for members of the @kubernetes/code-of-conduct-committee to step down from CoCC should they be elected to serve on @kubernetes/steering-committee.

From https://github.com/kubernetes/community/blob/master/committee-code-of-conduct/incident-process.md#incident-reporting-and-response-process:

The Code of Conduct Committee has unilateral power to address harms as needed and appropriate to restore community safety after any incident(s). We are separate from the Steering Committee and all other bodies in the Kubernetes community to provide a mechanism by which anyone can report, regardless of roles and organizational power dynamics which often lead to systemic underreporting.

In instances where the members of the Steering Committee are involved in Code of Conduct incidents, there is a clear conflict of interest.

Proposed Solution

  • Accept and document the precedent that Steering members must not simultaneously serve on the CoCC
  • Establish a decision tree for resolving membership "conflicts"

e.g.,

  • Steering election happens
  • A member of CoCC is elected to Steering
  • Election committee reaches out to newly-elected member to resolve conflict. If:
    • Newly-elected member plans to step down from CoCC, then a new CoCC member should be selected from the pool of ranked candidates from the previous CoCC election
    • Newly-elected member prefers to remain on CoCC, then the election committee would select a Steering member from the pool of ranked candidates
  • Results are announced, including the resolution of the committee membership conflict

If a seated Steering member elected to run for CoCC, I imagine that we [c|sh|w]ould have the same rules apply.

cc election officials of elections past:
@alisondy @jberkus @coderanger @idvoretskyi @jdumars @mrbobbytables @castrojo


From @jberkus in #271:

It has been de-facto Steering Committee policy for the last 2+ years that nobody can be on both the CoCC and the SC at the same time. However, this isn't documented in either the SC or the CoCC election materials, rules, or bylaws. As a result, this month we have someone who is running for both offices. Because, why shouldn't they?

Proposed Solution

Both the CoCC and the SC candidate materials should clearly spell out that you can't be on both bodies at once.

Open Questions

Can someone run for both, and only accept one? If so, under what circumstances?

Next Steps

  • Steering to write final CoCC/SC conflict policy
  • Steering to direct CoCC and Elections subproj to add that to documentation
@justaugustus
Copy link
Member Author

/assign @parispittman @tpepper

@tpepper
Copy link
Member

tpepper commented Nov 9, 2021

@celestehorgan has noted https://github.com/kubernetes/community/blob/master/committee-code-of-conduct/bootstrapping-process.md

We definitely need to consider the historical context and intents in updating process docs across CoCC and Steering around membership, but also likely should archive this document so the repo state is clear and consistent with the present/chosen operationalization.

@dims
Copy link
Member

dims commented Nov 9, 2021

+1 to the proposed solution.

@parispittman
Copy link
Contributor

When there are a lot of candidates, I really like the idea of next in line from the last election and then that person fills the term of the vacant seat instead of doing a new election. This would follow the same rules as Steering and maintain consistency. The individual filing the vacant seat can run again in the next election.

@liggitt
Copy link
Member

liggitt commented Nov 9, 2021

+1 as well

@jberkus
Copy link
Contributor

jberkus commented Nov 9, 2021

FWIW, I don't think the ECs should have an opinion on this; our authority ends when the election is over.

Otherwise, I'd +1 the suggested process.

@celestehorgan
Copy link
Contributor

cc: @kubernetes/code-of-conduct-committee

@tpepper
Copy link
Member

tpepper commented Nov 20, 2021

Following @justaugustus's suggested text which feels reasonable, I'm proposing some clarifying text to the elections.md docs for both the Steering and Code of Conduct Committees to formalize our existing practice of stepping down and the vacancy being filled.

@justaugustus
Copy link
Member Author

Proposed changes from Tim in #224 and kubernetes/community#6243.

@tpepper
Copy link
Member

tpepper commented Nov 22, 2021

Proposed changes from Tim in #224 and kubernetes/community#6243.

Thanks for linking, I should have explicitly. I'm used to the GitHub web view and was appending my comment in the event stream there, but for folks' inbox event stream my comment left insufficient context.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 20, 2022
@tpepper
Copy link
Member

tpepper commented Feb 20, 2022

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 20, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 21, 2022
@justaugustus
Copy link
Member Author

/remove-lifecycle stale
/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels May 22, 2022
@justaugustus
Copy link
Member Author

Resurrecting this as it's come up as part of the 2023 election cycles.
ref: https://kubernetes.slack.com/archives/C03PY5263LN/p1692058006711979 / #271

/assign
/unassign @tpepper @parispittman

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
9 participants