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

charter: Add sections on membership, resignations, and removals #248

Merged
merged 1 commit into from
Jul 28, 2022

Conversation

parispittman
Copy link
Contributor

@parispittman parispittman commented Jun 30, 2022

Charter updates including:

Membership

  • Define current composition of committee
  • Elections
    • Set upper bound of vacancies that may be filled via special election
    • Clarify the only next most preferred candidate from previous election will
      consider when filling vacancies
  • Define resignation process
  • Define process for removal via motion of no confidence

Voting

  • Clarify committee voting process
  • Clarify numbers required to pass committee votes
  • Add section for abstention

Meetings

  • Clarify quora for holding meetings and votes

(Content inspired by the language in the TOC charter. )


From @justaugustus in #248 (comment):

Per our change process, notice has been delivered on the Steering mailing list: https://groups.google.com/a/kubernetes.io/g/steering/c/JxZthc8HcXM/m/NLaDpmbbAQAJ

dev@ has been additionally cc-ed: https://groups.google.com/a/kubernetes.io/g/dev/c/AU2zqLAsx1k/m/SR_eQlx6AAAJ


Votes

No

Yes

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jun 30, 2022
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 30, 2022
@parispittman
Copy link
Contributor Author

/hold for reviews

@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 Jun 30, 2022
@justaugustus
Copy link
Member

justaugustus commented Jun 30, 2022

Per our change process, notice has been delivered on the Steering mailing list: https://groups.google.com/a/kubernetes.io/g/steering/c/JxZthc8HcXM/m/NLaDpmbbAQAJ

dev@ has been additionally cc-ed: https://groups.google.com/a/kubernetes.io/g/dev/c/AU2zqLAsx1k/m/SR_eQlx6AAAJ

@justaugustus
Copy link
Member

(no-op push to fixup commit message.)

Copy link

@anvega anvega left a comment

Choose a reason for hiding this comment

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

Couple observations:

  1. Kubernetes follows a two-thirds supermajority vote for most decisions, but worth considering for removals to require a unanimous vote for the exception of the unseated.

  2. With the intent to preserve a degree of stability and foresight in the project direction in the event of a removal, it may also be worth considering introducing a period of time over which no more than one member can be involuntarily unseated. For example. no more than one member may be unseated over a 3 month period.

@markjacksonfishing
Copy link

/lgtm
Or at the very minimum, a consensus

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 30, 2022
charter.md Outdated Show resolved Hide resolved
@jdumars
Copy link
Member

jdumars commented Jun 30, 2022

/lgtm once Election Policy link is in place

Future to do: mention the elections subproject as specific owner vs. SIG-contribex once it's established.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 30, 2022
@jdumars
Copy link
Member

jdumars commented Jun 30, 2022

thanks for the update!
/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 30, 2022
Copy link
Member

@saschagrunert saschagrunert left a comment

Choose a reason for hiding this comment

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

/lgtm

charter.md Outdated Show resolved Hide resolved
charter.md Outdated Show resolved Hide resolved
Copy link
Member

@cpanato cpanato left a comment

Choose a reason for hiding this comment

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

/lgtm

@dims
Copy link
Member

dims commented Jun 30, 2022

NOTE for readers, the two-thirds as paris said is from TOC charter https://github.com/cncf/foundation/blob/main/charter.md where it says:

TOC members may be removed by a two-thirds vote of the other TOC members, with the impacted individual ineligible to participate in the vote.

https://opensource.org/bylaws also has similar language:

A director may be removed from the Board at any time prior to the expiry of such director’s term for any reason by a vote of two thirds of the authorized members of the Board

Please see links for full context of the snippets i pasted

@dims
Copy link
Member

dims commented Jun 30, 2022

@parispittman and other steering folks,

After talking to a friend and sleeping on it, i think it would be good to run a special election for the specific removal scenario as it removes the temptation for steering folks to vote off someone just because they like the person who is runner up. Please consider adapting the language in the PR to do this.

@dims
Copy link
Member

dims commented Jun 30, 2022

Couple observations:

  1. Kubernetes follows a two-thirds supermajority vote for most decisions, but worth considering for removals to require a unanimous vote for the exception of the unseated.

Andres, i hear you. What's here in the PR is a combination of what we already do (next-person-up!) and picking things from established precedents in terms of language (two-thirds).

  1. With the intent to preserve a degree of stability and foresight in the project direction in the event of a removal, it may also be worth considering introducing a period of time over which no more than one member can be involuntarily unseated. For example. no more than one member may be unseated over a 3 month period.

i like the way you think about more than one ... but this seems artificial somewhat. BUT i would love to see other existing charters where this is enshrined so we can learn from it. (don't want to over engineer this more than what's already out there)

thanks Andres!

@sbueringer
Copy link
Member

/lgtm

@dims
Copy link
Member

dims commented Jul 10, 2022

This looks ready to ship now!

/approve
/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ahmed82, cpanato, dims, jdumars, parispittman, saschagrunert, sbueringer, vincepri

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

Copy link
Member

@thockin thockin left a comment

Choose a reason for hiding this comment

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

nits!

Please add a unit test.

charter.md Outdated Show resolved Hide resolved
charter.md Show resolved Hide resolved
charter.md Outdated Show resolved Hide resolved
charter.md Show resolved Hide resolved
of no confidence

The call for a vote of no confidence will happen in a public Steering Committee
meeting and must be documented as a GitHub issue in the committee's
Copy link

Choose a reason for hiding this comment

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

To be symmetrical, we should explicitly allow the person targeted for removal to provide an explanation (rebuttal?) in the form an issue or a PR. That will stand out significantly more than a comment on an issue, persist better, and is symmetrical to the removal proposal.

Copy link
Member

Choose a reason for hiding this comment

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

My personal opinion: no.

This isn't a trial or a debate. It's an up/down vote if the rest of the committee has confidence in the impacted individual to continue serving out their term.

I can assure you that the steering committee talks about everything going on with our community constantly, and the other members will be clear on the position of the person impacted.

This also doesn't restrict the impacted individual from speaking publicly, only that their statement isn't an official artifact of the process. We don't need to provide a platform.

Copy link
Member

Choose a reason for hiding this comment

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

Something about that position bothers me, I'm not sure what. I'd propose stating that the party in question will be permitted to post (in a comment) a link to a defense/rebuttal on their own platform, and that moderation won't delete it. Since we can't really prevent people from writing such a document anyway.

We don't have to give people a platform, but it's very suspicious to attempt to deny them a platform, too.

Copy link
Member

Choose a reason for hiding this comment

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

I'd propose stating that the party in question will be permitted to post (in a comment) a link to a defense/rebuttal on their own platform, and that moderation won't delete it.

I can't get behind this either, as it puts restrictions on our moderation and CoC teams.

What I'm worried about is someone using this process/platform to post a manifesto/screed in their defence. I sincerely hope that this wouldn't be the case, but I also hope that this is a policy we don't need to use in the first place.

If the impacted person posts a public comment that doesn't violate any moderation or CoC policies, then it can exist just like any other public comment on the issue. I'm not saying they shouldn't be able to do that. My concern is with elevating or somehow enshrining their "right" to do that as some sort of artifact of the process that cannot be touched.

Copy link
Member

Choose a reason for hiding this comment

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

An unhinged screed is actually good evidence that removal is correct? I'm not saying we should host it, only that we do people a favor by helping them find it.

Copy link
Member

Choose a reason for hiding this comment

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

My point is we can't make them take it down / fix it unless we own the forum.

I continue to think you all are overtraining on the possibility of a CoC violating response. I don't see how that would help the person in question at all.

Copy link
Member

Choose a reason for hiding this comment

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

@lavalamp those responses rarely help anyone, but they're all too common (just look around at various Big Personalities that have existed in and around linux development communities for decades and the things they've said about queer people/women/disabled people/...).

Copy link
Member

Choose a reason for hiding this comment

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

In general, sure, but as a response to an attempt to kick someone off a board? That would make very little sense as self defense. I'll change my mind given a few examples of such a thing, if you have them.

Copy link

@krisnova krisnova Jul 27, 2022

Choose a reason for hiding this comment

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

@lavalamp no one here is going to take the bait and attempt to change your mind. That isn't positive nor productive. If this community is important enough to you, you are more than capable of researching the topic independently.

Copy link
Member

Choose a reason for hiding this comment

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

That wasn't disingenuous, but you don't know me and I don't know how to prove that in a short amount of text. Nor do I know how to express the sentiment in a way that sufficiently distinguishes it from people who are attempting to drag out arguments rather than trying to find some objective reason to conclude them, which is how I meant it.

Anyway, it's too late now as people are voting.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 12, 2022
charter.md Show resolved Hide resolved
@justaugustus
Copy link
Member

From https://groups.google.com/a/kubernetes.io/g/steering/c/JxZthc8HcXM/m/a8z01gd_BAAJ:

Kubernetes Community,

Thanks for the useful feedback regarding these proposed changes!
As this charter update is close to a ready state (one outstanding review conversation), we'd like to allow a final opportunity for the community to provide feedback ahead of Steering review.

Timeline (all times are EOD US Eastern):

  • Wednesday, July 20th: closed for community feedback
  • Friday, July 22nd: Steering members review/provide feedback

As mentioned on the pull request, the four-week timeout period for changes concludes on Wednesday, July 27th.
Steering members will plan to vote on inclusion of the proposed changes to the charter soon thereafter.

charter.md Outdated Show resolved Hide resolved
charter.md Show resolved Hide resolved
charter.md Outdated Show resolved Hide resolved
charter.md Show resolved Hide resolved
charter.md Show resolved Hide resolved
charter.md Show resolved Hide resolved
@tpepper
Copy link
Member

tpepper commented Jul 22, 2022

I've been quiet the past weeks on this PR due to a family issue outside of the project pulling my attention away. Still I have been following the discussion, appreciate all of the ideation and concern folks have demonstrated toward getting this change right, and it's looking like a good update to my eyes.

Charter updates including:

- Membership
  - Define current composition of committee
  - Elections
    - Set upper bound of vacancies that may be filled via special election
    - Clarify the only next most preferred candidate from previous election will
      consider when filling vacancies
  - Define resignation process
  - Define process for removal via motion of no confidence
- Voting
  - Clarify committee voting process
  - Clarify numbers required to pass committee votes
  - Add section for abstention
- Meetings
  - Clarify quora for holding meetings and votes

Signed-off-by: Stephen Augustus <[email protected]>
Co-authored-by: Paris Pittman <[email protected]>
@liggitt
Copy link
Member

liggitt commented Jul 27, 2022

It's been 4 weeks since the initial introduction of this PR, so votes are due today.

I do think there should be a process to remove a steering member for cause, and I hoped the proposed process would be a good one, so I could support it.

I don't think the No confidence addition in this PR is a good process, for the following reasons:

  1. It gives no guidance and places no limits on when it may be used, which means it can be initiated for a bad reason, or no reason at all, as long as two steering members agree. The threshold to successfully remove a member is high, but even a failed attempt initiated for a bad reason can damage the reputation of the steering committee or the accused. Such an extreme step should have guardrails or guidance around it.

  2. It prioritizes the accusations in several ways, while giving the accused member no official way to participate, outside of generic community member feedback. It makes no attempt to place the accusations and response side-by-side for the community to see. As I expressed previously, this is important so the community can give well-informed feedback in the time provided, and not be biased by one perspective being given more prominence.

I think that adopting a biased process is worse than the process gap we have today, and will not serve the community well.

Because of that, I do not support this change, and vote no.

@dims
Copy link
Member

dims commented Jul 27, 2022

After what seemed like an endless set of discussions (with recurring themes!!) excruciating process of drafting this PR in the public ... Many thanks to @parispittman and @justaugustus for leading us all to what we have today.

I vote yes.

@cblecker
Copy link
Member

I think this is a needed update to our charter. In particular, I believe the section on "no confidence" is able to strike a fair balance as far as process, opportunity for consideration/feedback, and limiting potential harms to the community at large. As I've mentioned before, the invocation of this process would be an extreme circumstance for the community, but ultimately having these processes in place in order to maintain the continuity and functioning of the top level governing body is crucial.

I vote yes on this change.

@lavalamp
Copy link
Member

(I obviously don't have a vote. Given the high bar for passing a no confidence vote, I think it would be OK to have one of the problems Jordan mentions, but still not both at the same time. Just because a process is intended to be used only in extreme situations, does not mean it'll actually be used like that. I ask the remaining committee members to seriously consider future boards unlike yourselves with different problems.)

@tpepper
Copy link
Member

tpepper commented Jul 27, 2022

I have reviewed this PR content as it evolved to its current state and also the extensive discussion both on this PR and elsewhere. For a month now I’ve imagined and gamed out mentally past, present, and future scenarios impacting myself as well as past, present, and hypothetical future members. I’ve considered the state of art in similar processes in society, government, industry, religion, academia, open source generally, some specific open source projects, and in the Kubernetes project specifically. I see this as a pragmatic, sufficient change proposal relative to a gap in current governance documentation and also one that operationally is not overly prescriptive, in keeping with similar process philosophy in this project and in its current governance docs.

For me the primary objections I see are quite parallel to the philosophical objections past and present toward having the instantiations we currently have for a Code of Conduct and for a Code of Conduct Committee. While not perfect to the eyes of all, those have proved functional and from my perspective have even proved generally successful, despite the potential risks present in their current forms. I have faith this change can also prove functional and successful. The risk factors are real but are pragmatically balanced in real life. And as with most things open source, all of this is subject to future patching to better refine if and when future context proves the need.

I vote yes.

Copy link
Member

@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.

I want to thank everyone who thoughtfully contributed to this proposed charter change!

It gave us collectively quite a bit to reason about and we've tried to faithfully reflect most of the review feedback in the current text.

There's a beauty in the fact that so much of what we commit in open source is living, which means we/future versions of ourselves have the opportunity to continue to improve process over the lifetime of the project.

As a co-author, this may be implied, but to be explicit:

I vote yes to this change as it is currently proposed.
/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 27, 2022
@mrbobbytables
Copy link
Member

This has been an incredibly long thread, and for what it's worth, I’m happy to see folks have such an interest in project governance. My own personal thoughts mirror that of @tpepper’s; he is just much more eloquent than I ever could be in writing a response. ;)

The steering charter is a set of guiding principles, and while it has rarely been updated in the five years since it was first created, it is still a living document and is designed to evolve and improve with the community over time.

I look forward to seeing where things go in the future; there is still more work to be done.

I approve of the changes.

@parispittman
Copy link
Contributor Author

+1 but reservations about including examples.

why I'm in favor of this change was in the original body of the pull request - we need onboarding and off-boarding inside of the charter. it's that simple.

I don't like where we went with the examples and hope to work on that post this merge. I was hoping the examples were used for discussion only and the text would get stronger as we went along. Examples should not be in a governance charter document. thanks to Stephen for helping this along while im on leave.

@parispittman
Copy link
Contributor Author

6/7 votes yes on this change.
/hold cancel

@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 28, 2022
@k8s-ci-robot k8s-ci-robot merged commit 3264dc1 into kubernetes:main Jul 28, 2022
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. 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.