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

Committee Conflict of Interest resolution #7468

Closed
wants to merge 13 commits into from

Conversation

justaugustus
Copy link
Member

@justaugustus justaugustus commented Aug 15, 2023

This is a carry of @tpepper's #6243 / kubernetes/steering#224.

I still need to sweep the comment/review history from the previous PRs and resolve open concerns, but getting this up ASAP as a point for discussion (as election cycles are already underway).

Part of kubernetes/steering#221

cc: @kubernetes/steering-committee @jberkus

@justaugustus justaugustus changed the title [WIP] Committee Conflict of Interest [WIP] Committee Conflict of Interest resolution Aug 15, 2023
@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 15, 2023
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Aug 15, 2023
@k8s-ci-robot k8s-ci-robot added the committee/steering Denotes an issue or PR intended to be handled by the steering committee. label Aug 15, 2023
Copy link
Member Author

@justaugustus justaugustus left a comment

Choose a reason for hiding this comment

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

Ready for review.

Committee members:
/cc @kubernetes/steering-committee @kubernetes/code-of-conduct-committee

Election subproject:
/cc @jberkus @parispittman @mrbobbytables @nikhita @fsmunoz
/retitle Committee Conflict of Interest resolution
/hold

elections/committee-conflict-of-interest.md Show resolved Hide resolved
elections/committee-conflict-of-interest.md Outdated Show resolved Hide resolved
@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 Aug 15, 2023
@k8s-ci-robot k8s-ci-robot changed the title [WIP] Committee Conflict of Interest resolution Committee Conflict of Interest resolution Aug 15, 2023
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 15, 2023
@k8s-ci-robot
Copy link
Contributor

@justaugustus: GitHub didn't allow me to request PR reviews from the following users: kubernetes/code-of-conduct-committee, kubernetes/steering-committee.

Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Ready for review.

Committee members:
/cc @kubernetes/steering-committee @kubernetes/code-of-conduct-committee

Election subproject:
/cc @jberkus @parispittman @mrbobbytables @nikhita @fsmunoz
/retitle Committee Conflict of Interest resolution
/hold

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

elections/committee-conflict-of-interest.md Outdated Show resolved Hide resolved
elections/committee-conflict-of-interest.md Outdated Show resolved Hide resolved
elections/committee-conflict-of-interest.md Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 16, 2023
Copy link
Member Author

@justaugustus justaugustus left a comment

Choose a reason for hiding this comment

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

@tpepper @jberkus @nikhita -- I've updated the language in e8b10d7.

Can you see if that gets us closer?

@justaugustus
Copy link
Member Author

Added a section about withdrawing the candidate from the second election to complete in b7fd89e.

Copy link
Contributor

@katcosgrove katcosgrove left a comment

Choose a reason for hiding this comment

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

This now seems pretty explicitly clear, and protects the stability of both committees without unduly restricting a community member's ability to participate in both. Ty ty

@justaugustus
Copy link
Member Author

/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Aug 18, 2023
@mrbobbytables
Copy link
Member

Overall +1, the one caveat that these should go in effect after our current round of elections conclude as they were not in place before either election was started.

@justaugustus
Copy link
Member Author

Overall +1, the one caveat that these should go in effect after our current round of elections conclude as they were not in place before either election was started.

@mrbobbytables -- Could we instead set an effective date on the top of the doc for Monday, October 2 (Public announcement of Results at Public Steering Committee Meeting)?
ref: https://github.com/kubernetes/community/tree/master/elections/steering/2023#schedule

This issue has been around for two years and it would be great to not leave this languishing for much longer. 📿

@mrbobbytables
Copy link
Member

Oh yeah, I'm fine with that - I was good with merging beforehand without a date in the doc as long as there was a general understanding they'd go in effect after this round of elections.

Signed-off-by: Stephen Augustus <foo@auggie.dev>
@justaugustus
Copy link
Member Author

@mrbobbytables -- okay, perfect. Added an effective date of 2023-10-03 (a day after the election results are announced).

Copy link
Member

@palnabarun palnabarun left a comment

Choose a reason for hiding this comment

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

The current version looks good!

Thanks, @justaugustus for working on this.

/lgtm
(with the steering hat)

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 18, 2023
Comment on lines +51 to +53
- Standing Steering or CoCC members must have served on their committee for a
period of twelve (12) months to be considered eligible for candidacy in the
other committee's election
Copy link
Member

Choose a reason for hiding this comment

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

I like this sentiment, but I see a problem with the number 12 months, specifically in how the current elections are lined up. If the elections were staggered by 6 months, this would be completely reasonable, but if the elections are close together, as they are right now, and they happen at about the same time every year, this places an unbalanced restriction on the committee that has its elections first. Whatever the candidates reasons might be for wanting to change committees in the first place (for example: wanting more/less emotional labor), I would suggest this number change to slightly less (10 or 11 months), to not be such a unidirectional disadvantage. This would also avoid even the perception of any possible artificial forcing function pushing back the annual cycle of elections.

Copy link
Member

Choose a reason for hiding this comment

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

As I'm thinking about this, we could also say slightly longer (14 months), and still avoid the imbalance when elections are close on the calendar.

Comment on lines +47 to +56
- Candidates who are nominated for a seat on both Steering and CoCC within the
same 12-month period must:
- (if elected) accept a seat on the committee whose election concludes first
- be withdrawn from candidacy in second election to conclude
- Standing Steering or CoCC members must have served on their committee for a
period of twelve (12) months to be considered eligible for candidacy in the
other committee's election
- Kubernetes Community members who have recently voluntarily vacated a seat on either
Steering or CoCC without serving the complete term will be ineligible for candidacy for a period of three (3)
months
Copy link
Member

Choose a reason for hiding this comment

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

So I'm going to challenge this a little bit, so I'm going to tag the folks who were suggesting something like this as I'd like their opinion (cc @katcosgrove @celestehorgan)

While I completely understand that we don't want folks jumping from committee to committee on a regular basis for reasons of continuity and burden on their fellow committee members, I fear that putting these kinds of hard restrictions on the election processes will have the possible unwanted side effects:

  • Folks may choose not to run for a committee that they wish to serve on, because they might also hypothetically want to run in a different election within the 12 months if they are elected. This would have the effect of shrinking the possible candidate pools.
  • These are unpaid, voluntary positions. Forcing someone to serve in a capacity that they no longer wish to is not only unfair to the individual, but it's unfair to the community as a whole who benefits from their service.
  • Employer support for upstream work can change. While an employer may provide time to serve on one committee, they may not provide that time to serve on the other.. this again would hold someone in a position where they don't want to be.

I think in practicality, some of this could be reduced by having a greater staggering in the elections.. right now we have CoCC in August and Steering in September. If they were staggered more, then we wouldn't have any risk of concurrent election periods and less possibility of thrashing if folks move between committees. But having these long, forced ineligibility periods I feel puts strain on individuals who are serving the community in really important ways.

Very open to other suggestions that might better solve these issues.

Copy link
Member

Choose a reason for hiding this comment

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

just curious, what is the spirit of this norm and why 3 months? it seems that it tries to avoid some specific thing to happen but I can´t understand what

Copy link
Contributor

Choose a reason for hiding this comment

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

@cblecker:

Our intent with this phrasing was that no potential for conflict exists until a committee position is actually held, so a candidate would be able to run for two positions within a 12-month period assuming they were not successful in their first attempt. If that's unclear, I'm happy to be more explicit!

The 3-month timeout period after voluntarily leaving your seat is there to discourage people from doing that simply to attempt to campaign for a seat on a more professionally lucrative committee. Allowing for committee hopping is especially problematic for the CoCC, where losing one member early is significantly more impactful than it is for Steering due to the much smaller committee size, but it's unfair to Steering as well and to the community at large due to the instability it causes. However, if we think the risk involved in voluntarily stepping down to run in another election the candidate may lose is deterrent enough without the 3-month timeout, I won't fight too hard to keep it. The individual should still be required to have served 12 months of their existing term before being eligible to run for a seat on another committee without first stepping down, though.

Staggering the elections more would certainly help solve this issue, but how doable is that in actual practice?

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cpanato, justaugustus, katcosgrove, palnabarun

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

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 30, 2023
@k8s-ci-robot
Copy link
Contributor

PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-triage-robot
Copy link

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

This bot triages 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 PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this 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 Jan 21, 2024
@k8s-triage-robot
Copy link

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

This bot triages 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 PR is closed

You can:

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

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

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Feb 20, 2024
@k8s-triage-robot
Copy link

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

This bot triages 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 PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close

@k8s-ci-robot
Copy link
Contributor

@k8s-triage-robot: Closed this PR.

In response to this:

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

This bot triages 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 PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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/steering Denotes an issue or PR intended to be handled by the steering committee. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm "Looks good to me", indicates that a PR is ready to be merged. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.