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

Clarify process for Working Group formation #2702

Merged
merged 1 commit into from
Oct 15, 2018

Conversation

pwittrock
Copy link
Member

cc @jdumars
cc @kubernetes/steering-committee

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Sep 24, 2018
@k8s-ci-robot k8s-ci-robot added the committee/steering Denotes an issue or PR intended to be handled by the steering committee. label Sep 24, 2018
@jdumars
Copy link
Member

jdumars commented Sep 24, 2018

/lgtm
/hold

@k8s-ci-robot k8s-ci-robot added 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. labels Sep 24, 2018
@philips
Copy link
Contributor

philips commented Sep 24, 2018

/lgtm

Copy link
Member

@cblecker cblecker left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 24, 2018

- name
- directory
- mission statement
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to consider adding mentions of SIG stakeholders here? ref: #2176

Copy link
Member Author

Choose a reason for hiding this comment

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

added

- It does not own any code
- It has a clear goal measured through a specific deliverable or deliverables
- It is temporary in nature and will be disbanded after reaching its stated goal(s)
- It requires input from more than one SIG/sub-project to come up with an adequately-vetted deliverable with reasonable
Copy link
Contributor

@brendandburns brendandburns Sep 25, 2018

Choose a reason for hiding this comment

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

Why is this item here? This seems unnecessarily limiting on the community. If a group of people in the Kubernetes community want to form a working group, why do they need the blessing of a SIG? This seems to vest SIGs with powers that they were never intended to have.

Taken to the extreme, this gives the SIGs collectively the power to limit the development of new ideas, even if the community wants to work on those ideas.

It doesn't seem to me that there is anything gained by blocking on SIG approval. And "adequately-vetted" feels like somehow working groups need to petition the powers that be for approval. I don't think that is in the spirit of a working group.

Copy link
Member Author

Choose a reason for hiding this comment

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

Deleted

As opposed to “Birds of a Feather” or discussion groups, Working Groups provide a more formal avenue for disparate
groups to intellectually collaborate around a common problem, craft a balanced position, and disband. Because they
represent the interests of multiple special interest groups, they are a vehicle for consensus building, not
construction. By design, the code under discussion resides in either multiple parts of the project, or is in the
Copy link
Contributor

Choose a reason for hiding this comment

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

I have no idea what "not construction" means. Does that mean that working groups don't write code? That doesn't seem correct... The following sentence clarifies this somewhat, I think what you really mean is that the code that a working group may write will land in a variety of SIGs and not in a specific repo owned by the working group.

Copy link
Member Author

Choose a reason for hiding this comment

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

Delete this

- It is temporary in nature and will be disbanded after reaching its stated goal(s)
- It requires input from more than one SIG/sub-project to come up with an adequately-vetted deliverable with reasonable
stakeholder consensus
- It is formulating vendor/implementation-agnostic deliverables
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm worried that this is overly broad and can be used to selectively block things.

As some concrete examples, what if we are working on ARM processor support. That isn't vendor agnostic, and yet it's probably useful and important. Same thing with something like Mellanox high-performance network interconnects, or even NVidia-specific GPU work.

I think we should rephrase this in terms of the behaviors we're hoping to prevent.

Copy link
Member Author

Choose a reason for hiding this comment

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

Deleted

- Do not have any organizational authority, only influence

Therefore, Working Group formation begins with the organizers asking themselves some important questions that
should eventually be reflected in a pull request on sigs.yaml:
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really want WGs in sigs.yaml? (and if so, linkify for easy discovery)

1. Who are all of the stakeholders involved in this problem this group is trying to solve (SIGs, steering committee,
other Working Groups)?
1. What are the meeting mechanics (frequency, duration, roles)?
1. Does the goal of the Working Group represent the needs of the project as a whole, or is it focused on the interests
Copy link
Contributor

@brendandburns brendandburns Sep 25, 2018

Choose a reason for hiding this comment

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

What is the purpose of this question? I think there are lots of working groups (e.g. multi-tenancy, machine learning, etc) that are interesting and important topics, but do not represent the needs of the project as a whole. (most people don't need multi-tenancy, only large scale kubernetes operators, most people don't run machine learning workloads)

I think this question as formed will limit innovation because new ideas are inherently only interesting to a narrow group of people, and only become generally needed by all once they are proven out. If we prevent working groups from forming for the purpose of innovation we're going to severely limit the ways in which Kubernetes can grow.

@brendandburns
Copy link
Contributor

/hold

I would like to see more opportunities for new ideas and outside innovation in this document. As it is currently written it seems aimed at making cross-SIG decisions, not at incubating new ideas for Kubernetes.

Concretely, I don't think that something like ThirdPartyResources/CustomResourceDefinitions could have been a working group under these definitions, and yet it has turned out to be a critical part of the Kubernetes ecosystem.

Having lived through it, I know that there is no way that SIG-Architecture or SIG-API Machinery (the relevant SIGs) would have approved a third-party resources working group, and thus the effort would have died.

I think rather than focusing on SIGs and SIG approval, working groups should have some min-bar for community participation (e.g. 10 people from 5 companies affirming the value of the working group, [those numbers are 100% made up, but you get the idea)

That will provide a valuable avenue for innovation independent of the SIGs while still ensuring that there is broad interest and cross-company value for Kubernetes.

@jdumars
Copy link
Member

jdumars commented Sep 26, 2018

I think this is something the steering committee should hash out, and not necessarily this doc PR. I definitely understand @brendandburns comments and concerns, and don't want to see any project innovations stifled by restrictive covenants. On the other hand, if working groups are vested with some implicit power, as it appears Brendan is inferring, then that should be called out. There is absolutely nothing standing in the way of "Birds of a Feather" or like informal gatherings. I would venture to say that such groups would be given equal audience in SIG and community meetings. SIGs are not the gatekeepers of what code gets merged, it's ultimately individuals in the OWNERS file.

To be clear, kubernetes/community#2702 specifically calls out that working groups are NOT vested with any binding decision-making authority. Their reason for being is to provide project resources (inclusion in sigs.yaml, a Zoom account, mailing list) to facilitate the reconciliation of some problem that requires consensus of more than one governing (SIG) body. If the working group asserts that whatever they are solving has some official approval that's not consistent with the stated governance model, unless of course the parties involved also have sub-project (OWNERS) authority. Working groups have the power of influence, demonstration, and consensus-building. I'm not sure how being explicit about this limits anyone's ability to contribute through normal project channels.

My recommendation is that we better define what groups (BoF, or the like) are intended to exist outside of SIGs and promote innovation even if vendor-specific. I agree that infusion of new ideas is key to a vibrant project ecosystem. I am just not convinced that working groups are that vehicle.

Copy link

@michelleN michelleN left a comment

Choose a reason for hiding this comment

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

We need to include a link to the definition of a working group at the top of this document. The only definition I know of lives here and it is insufficient. Is there another document that describes what a working group is more clearly?

I'd suggest we move what is and is not a working group into a document that describes what a working group is and be separated from the process of creating and disbanding working group.


Draft 1.0 // Jaice Singer DuMars // June, 2018

## Process Overview and Motivations

Choose a reason for hiding this comment

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

The Process Overview and Motivations is worded in a way that would be confusing to someone who is coming in with no historical context previous attempts at working group formation. The references to "Birds of a Feather" and discussion groups make it seem like those are ways to communicate within the community but we have no process for that so this reference may also confuse folks. I recommend it be re-worded and am happy to help.

Copy link
Member

@jdumars jdumars Sep 26, 2018

Choose a reason for hiding this comment

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

Great suggestions @michelleN! I'm happy to work with you on it. This diagram also defines working groups in accordance with the text you referenced. It doesn't seem that vague to me, but I understand the need for explicit clarity. Let's fix this!

Copy link
Member Author

Choose a reason for hiding this comment

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

Deleted this sentence for now

@parispittman
Copy link
Contributor

is there a TODO to add more information on disbandment? noting the title but don't see much about that in there.

@pwittrock
Copy link
Member Author

@parispittman As written disbandment is voluntary for whatever reason the WG decides, but the SC has implicit authority to disband the WG.

Do you think we need more about the formal set of steps a WG goes through to disband? (e.g. lazy consensus)?

@parispittman
Copy link
Contributor

I think so - current state leaves a lot of room for ambiguity and confusion. What if the folks leading don't want to work on it anymore and other people do? Does the group need to inform SC that they are done?

@parispittman
Copy link
Contributor

Is the chair/organizer/people that started the group the ultimate decision makers for the duration? I see the note that says chairs need to make sure that the group stays on track. Wanted to ask before assuming Chairs.

@brendandburns
Copy link
Contributor

My concerns are addressed, and this lgtm. Paris' comments are worth addressing though.

@pwittrock
Copy link
Member Author

pwittrock commented Oct 10, 2018

I actually don't think I fully understand what problem working groups are solving that isn't already covered today. They are supposed to have a clearly defined objective and exit criteria, but there is neither formal responsibility no accountability for them to do anything. I think that is by design - SIGs are the structure we use for things that require accountability such as code and process ownership.

Since the deliverables for Working Groups are really only accounted to the WG itself, the questions about what is the problem and what is being delivered seem only to serve bootstrapping collaboration and communication - not ensuring that the objectives are delivered.

What are the goals in disbanding a Working Group? Just to clean up zombie artifacts and improve visibility into the project? AFAICT - They don't have any responsibilities, so if they aren't formally disbanded nothing gets dropped.

Should we rename Working Groups to Discussion Groups so it is more clear that they are just a way to foster collaboration within the community?

Are there responsibilities of the Chair besides administering the slack / email / calendar?

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 10, 2018
@pwittrock
Copy link
Member Author

pwittrock commented Oct 11, 2018

WDYT of:

Working Groups will be disbanded if either of the following is true:

- There is no long a Chair
  - (with a 4 week grace period)
- None of the communication channels for the Working Group have been in use for the goals outlined at the founding of the Working Group
  - (with a 3 month grace period)
  - Slack
  - Email Discussion Forum
  - Zoom

The current Chair may step down at any time.  When they do so, a new Chair may be selected through lazy consensus within the Working Group.

@quinton-hoole
Copy link
Contributor

quinton-hoole commented Oct 11, 2018 via email

@parispittman
Copy link
Contributor

sgtm too

@pwittrock
Copy link
Member Author

PTAL

@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. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Oct 12, 2018
1. Does the goal of the Working Group represent the needs of the project as a whole, or is it focused on the interests
of a narrow set of contributors or companies?
1. Who will chair the group, and ensure it continues to meet these requirements?
1. Is diversity well-represented in the Working Group?
Copy link
Member

Choose a reason for hiding this comment

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

👍 💯

- meeting information
- contact methods
- any sig stakeholders
- any subproject stakeholders
Copy link
Member

Choose a reason for hiding this comment

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

subproject here refers to those from other SIGs. right?

Copy link
Member Author

Choose a reason for hiding this comment

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

- Zoom

The current Chair may step down at any time. When they do so, a new Chair may be selected through lazy consensus
within the Working Group.
Copy link
Member

Choose a reason for hiding this comment

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

and relevant section in sigs.yaml should be updated to reflect that. right?

Copy link
Member Author

Choose a reason for hiding this comment

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

@dims
Copy link
Member

dims commented Oct 12, 2018

Reads well @pwittrock !

Copy link
Contributor

@jbeda jbeda left a comment

Choose a reason for hiding this comment

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

This looks great to me! I have no problem merging this as is and I feel like this has been discussed to death. If anyone feels strongly we can take it up in a small targeted PR.

I did have a couple of comments but those are nit-picky.

Phil -- if you are ready to go let me know and I'm happy to give this an "/lgtm" or "/approve" as necessary. (I think I'm in the right OWNERS files...)

@@ -0,0 +1,103 @@
# Kubernetes Working Group Formation and Disbandment

Draft 1.0 // Jaice Singer DuMars // June, 2018
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure we want to get in the habit of having docs like this owned by folks. Perhaps to give a nod to Jaice we have a "doc history" section at the end with significant versions or references. But there is also git history.

Copy link
Member Author

Choose a reason for hiding this comment

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

@@ -130,6 +130,9 @@ open and be recorded for later viewing.

Working groups are documented in [sigs.yaml](sigs.yaml).

See [working group governance] for more details about forming and disbanding Working
Copy link
Contributor

Choose a reason for hiding this comment

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

There is a lot of overlap here. Might be good to just shrink this section and point to wg-governance.md. Wouldn't be crazy to break out our other governance things into other docs over time.

Copy link
Member Author

Choose a reason for hiding this comment

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

@pwittrock
Copy link
Member Author

@jbeda +1. I'd prefer to merge this and I can follow up with a PR to address the remaining comments next week. That way if there is anything else we would like to see, folks can file their own PR to make the changes instead of blocking on me to address them while I am out.

@philips
Copy link
Contributor

philips commented Oct 15, 2018

/lgtm
/approve

I haven't been deeply involved but based on #2702 (comment) and @jbeda and @brendanburns approval I think we should move forward with the merge.

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cblecker, philips

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

@philips
Copy link
Contributor

philips commented Oct 15, 2018

/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 Oct 15, 2018
@k8s-ci-robot k8s-ci-robot merged commit 1cd878a into kubernetes:master Oct 15, 2018
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. 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.