-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Kubernetes Elders Council - proposal #28
Comments
sounds like apache-"PMC" + with rotation. |
Or the OpenStack Technical Committee: |
Is there a forum or issue yet to discuss voter eligibility? |
Goals are listed as:
To me, those goals are kinda vague. What are some example duties? What influence does the governing body have? Moreover, what checks and balances are in place? How can the council be dissolved in case of serious leadership issues? How do we keep politics to a minimum? How can we make being elected to the council, not a popularity contest? Would we be able to have 1-year term? |
@sarahnovotny thanks for putting this together. Seems like a great start and we do need to sort something out as our alternative to BFDL. One anti-pattern I want to avoid is the "detached leader" who shows up just during critical moments but doesn't have the confidence of the community as they aren't regularly engaged. A few ideas on how we might do that:
|
Sarah, much appreciated effort and really critical to the health of the project, thank you! Moving the project to a state where the power structures are transparent is vital. The two-year terms with offsetting terms for part of the group is a good term with enough time for context and continuity. I entirely support Brandon's comments about ensuring that we don't have detached leaders, and it seems pretty likely that the workload for this position will not be minimal. We should keep the council of elders separate from the CNCF TOC (you can serve on either CNCF TOC or Elder council) as some level of interaction between those two bodies is likely, and workload is an issue. I also propose that although SIG leadership is a good eligibility indication that Elders should recuse themselves from running a SIG. The Openstack TC is far too large... I think the board sizing you propose is right. |
Sarah, thanks for putting this together. While I'm not a long timer I like this idea very much. The small size and odd number are ideal as well. In the first setup of terms can we try for at least one non-Googler to be an elder? I think that would be important for the community. I second all of Bobs comments. |
@sarahnovotny Thanks for this. I concur with most of what you wrote in the problem statement. I think @philips makes some solid points about how we can avoid "disengaged/detached" leaders. I'd like to add related thoughts around the elder nomination/eligibility criteria along with other ideas/concerns generally:
|
@sarahnovotny and others, it would be good to have a working group on defining mission and goal of this Elder Council.
Agreed |
@jfrazelle fyi |
This is really neat!!! I have a bunch of people I think would be perfect! |
Thanks for all the comments. As fodder for the first charter iteration, please comment with examples of things that you'd imagine being escalated to the elders council. They can be concerns from the past, current issues or hypothetical cases. Please also include the type of resolution that you might expect ... not the outcome, but types like a technical decision, a policy, a process etc. |
Examples of conversations I think we might have, that we might escalate to the elders:
|
Common themes for these examples:
Therefore, Elders should be people with deep technical expertise, and experience in large, long-lived software projects, and a long-term commitment to this project. Those attributes should, in my view, trump the other requirements. |
I'm curious about the difference between the responsibilities of the Elders versus the existing SIG leads. Are SIG leads already tasked with providing leadership, making decisions on what features get included, and resolving contentious issues? If so it seems like the Elders would act as the next-higher level of leadership and judgement, providing leadership across the SIGs and resolving (hopefully rare) issues that cannot be resolved by the SIG leads. Is that right? |
I really liked @erictune escalations to the elders examples as they focus on technical issues and also they define the relationship between elders and SIG leads. In the original proposal we are trying to address 2 issues, and perhaps the elders is a solution just to one of them:
@aronchick we should also add the community pm team as one of the sigs and apply the same practices we have (or trying to establish) for sigs. |
I have to put a +1 vote in for @erictune idea of an elders group responsible for escalation of technical decisions. |
@shtatfeld +1 to add community pm team as the SIG. Let's work on this /cc @philips @aronchick @sarahnovotny |
Kubernetes Elders Council DRAFT v2 Elders Council : Escalation: Publishing a process to escalate to the Elders will be one of the first tasks of the group in conjunction with Sarah Novotny. A recommended process is an Elders escalation mailing list where discussions can happen between representatives of opposing positions on an issue. Decisions documented in kubernetes/community and a mail to Kubernetes-dev@ mailing list. Status: This process is light on legalese, completely untested, and only works if people act as good neighbors and community members. It will evolve over time and the authors will try keeping the process light, fast, and objective. Requirements: Members of group will be active and have leadership positions in the community as well as have a long standing history with and future commitment to this project in addition to experience in large, long-lived software projects. Key to success will be people management skills, strong technical vision for the project and empathy for the user and FOSS developer perspective. Instantiation: The first seed incarnation of the Elders will be voted in as a slate of 3 Elders with a 2 year term (ending August 2018) through the Community Meeting and on the mailing list kubernetes-dev@. During the first year, the Elders may add 2 members (with a term ending August 2017) to their group for a total of 5 members. Refreshes: In August each year subsequent the community will vote on the seats which term out. All positions voted on will have a 2 year term. The voting will be handled using Condorcet voting and a service such as CIVS. The vote will not be public, but will require standing as an Active Contributor as defined in the Community Expectations (currently being discussed in - kubernetes/kubernetes#32096 ). Nominations for candidates will be accepted for one week prior to the voting period incumbents will be automatically nominated unless they opt-out of reelection. Resignations: In the event that an elder resigns, the remaining elders will appoint a successor to serve until the next scheduled vote for that seat. |
LGTM |
LGTM |
What do people think of adding a term limit to the proposal? My experience in OpenStack suggests that influence is extremely sticky. In any given election, incumbents almost always prevailed against challengers. This reduced the incentive for incumbents to be accountable, and made it very difficult to broaden the base of leadership in the community. |
What limit would you suggest? |
Given a 2 year term, I think it would make sense to prohibit consecutive terms. I don't think there should be a limit on serving non-consecutive terms. |
I'm not sure I can think of 10 people right now I would want to be elders. I guess either I am too picky, or it would be a gamble that we can grow more elders in the next 2 years. |
That begs the question: How would someone qualify to stand for election? I think a certain amount of unease with relative inexperience is to be expected. Always preferring the known quantity, though, is not without cost in an open source community. In the absence of a benevolent dictator, responsibility for the long-term sustainability of the project would ideally be distributed to as many capable individuals as possible. |
@sarahnovotny LGTM. I'd like to suggest to place this proposal into a separate document - it will be easier to review, discuss and update it there (leaving the general discussion in this thread). |
@erictune it's only 8 not 10 if they take 1 year off. But I don't think that's actually relevant. I'm not aware of all of the issues around OpenStack, but it seems that continuity of thought leadership would be a good thing. Does that fact that fingers crossed the elders will have little work to do as the SIG leaders will be the deciders of most thing reduce the concerns at all? |
An elders council may function as an arbiter of last resort, but as per @eparis it will not be the only source of wisdom and experience the community has to draw upon. One person's election as a thought leader doesn't preclude others from attaining or retaining thought leadership. |
Any movement on this? |
-1 for term limits |
Do we want to have any sort of limit about how many people from a specific company can be involved? We are going to want to build diverse community and it would be unfortunate that the project leadership be dominated by any one company. I'd propose that any one company can only have one position voted in (at the time of the vote) and at most 2 members on the council at any one time. (The position follows the individual, of course. And people move around so we wouldn't kick someone off for changing jobs. But we could validate this invariant at vote time.) |
@jbeda the two at a time limit seems reasonable; although I don't know if the number voted in at a time is as useful. |
I would suggest that we don't cut anyone's term short based on where they work. That doesn't seem right. Instead we say something like "Any newly elected member should not increase representation on the board above 2 people per company. In the case where this invariant would be violated, the candidate(s) with the highest number of votes will be elected." So say we have persons A, B, and C form company X and person D from company Y and 3 open spots. They could all appear on the ballot. But if the results are (in order) [A, B, C, D] we would disqualify C (because it would violate our invariant) and take [A, B, D] to fill the slots. If someone gets hired and increases representation above the "2 people" rule nothing changes and we will have a company (temporarily) overrepresented on the board. At the next election we'd look to fix that and restore balance. |
@jbeda I like that! |
I have a related (and supporting) proposal to offer: #295 |
Superseded by Steering Committee: |
ISSUE_TEMPLATE: add a requirement for WIP docs
Problem: As the Kubernetes project has pivoted from a Company run open source project to a Foundation owned and community inclusive project, there have been growing pains. The perceptions of Googler who have more structure and visibility into most of the operational aspects of the projects differ greatly from the perspectives of most of the community members - particularly new project contributors and interested project contributors. Google intentionally chose not to have a BDFL for all the down sides that has, but a confused “power vacuum” has evolved. The organic structure appears to a newcomer to be opaque, relationship based and full of cronyism. There is no clear starting point progression in the project or escalation for conflict resolution etc. Long standing (primarily Google employed) contributors feel that newcomers are all focused on specific features and aren’t stepping up to contribute to the more material and growing backlog of housekeeping, management, and organizational health tasks.
Goals : Establish clear cultural, technical, and team leadership as well as act as an escalation point with a “last say” on any contentious issues.
Requirements: This group should have a long standing history with the project, good people management skills, strong technical vision for the project and empathy for the user and FOSS developer perspective.
Instantiation: The first seed incarnation of the Elders will be voted in as a slate of 3 Elders with a 2 year term (ending August 2018) through the Community Meeting and on the mailing list kubernetes-dev@. During the first year, the Elders will add 2 members (with a term ending August 2017) to their group for a total of 5 members.
Refreshes: In August each year subsequent the community will vote on the seats which term out. All positions voted on will have a 2 year term. The voting will be handled using Condorcet voting and a service such as CIVS. Voter eligibility must be defined, and will require registration during a public registration period. Nominations for candidates will be accepted for one week prior to the voting period.
Resignations: In the event that an elder resigns, the remaining elders will appoint a successor to serve until the next scheduled vote.
Known Issues: Elder nomination process. Voter eligibility.
The text was updated successfully, but these errors were encountered: