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

Add the concept of a Subproject Lead #3413

Closed

Conversation

dims
Copy link
Member

@dims dims commented Mar 12, 2019

Change-Id: Icbefa39349c2f3c214ec174f50d39c3baf543ed7

Change-Id: Icbefa39349c2f3c214ec174f50d39c3baf543ed7
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 12, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dims

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. committee/steering Denotes an issue or PR intended to be handled by the steering committee. labels Mar 12, 2019
@dims
Copy link
Member Author

dims commented Mar 12, 2019

/hold

@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 Mar 12, 2019
@bgrant0607
Copy link
Member

@dims For a long time in the project, we've called subproject leads "owners". There were comments in some OWNERS files indicating which approvers were owners. The contributor ladder included the concept even before subprojects were formalized.
https://github.com/kubernetes/community/blob/master/community-membership.md#subproject-owner

It would be confusing to create a separate "lead" concept. I could imagine renaming "owner" to "lead" in order to reduce confusion between subproject owners and OWNERS files.

@bgrant0607
Copy link
Member

Unless this is about separating technical responsibilities with project management responsibilities, as with SIG TLs vs. Chairs?

@dims
Copy link
Member Author

dims commented Mar 13, 2019

right, this was to make things similar to SIG TLs vs. Chairs at the sub project level

@nikhita
Copy link
Member

nikhita commented Mar 13, 2019

xref kubernetes/steering#36

@bgrant0607 bgrant0607 self-assigned this Mar 14, 2019
@@ -69,6 +69,12 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
- Number: 2-3
- Membership tracked in [sigs.yaml]

- Subproject Leads
Copy link
Member

Choose a reason for hiding this comment

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

I think "lead" would be extremely confusing. Project manager?

I also think it has to be a suggested role, for larger, more active subprojects. kube-proxy, for instance, probably wouldn't need one.

It was also suggested that points of contact would be useful.

Copy link
Member

Choose a reason for hiding this comment

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

What I was looking for in the conversation last week was simple lines of communication for a sub-project to bootstrap new folks. A slack channel is sufficient for that purpose and is can add a slack channel for each subproject then I think the current problems are solved.

@@ -69,6 +69,12 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
- Number: 2-3
- Membership tracked in [sigs.yaml]

- Subproject Leads
- Track and coordinate work
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 prefer to first discuss subproject management best practices, and then figure out what roles are needed.

We can use this as a starting point:
https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/grooming.md

@nikhita
Copy link
Member

nikhita commented Mar 17, 2019

Personally, I think it would be useful to have a Project Manager role in addition to Owner since subprojects are somewhat like "mini SIGs" (since they can have meetings and slack channels). The PM role would be optional. If a subproject decides not to opt-in for the role, the Owner would take care of the project management responsibilities (like some SIGs say in their charters that Chairs also have TL responsibilities).

On the naming - I think we shouldn't use the term Technical Lead. In case a subproject decides not to opt-in for the PM role, the TL would be responsible for project management too. The name Owner seems more reflective of such "defaulting" than Technical Lead IMO.


I'd prefer to first discuss subproject management best practices, and then figure out what roles are needed.

SIG Cluster Lifecycle to the rescue again: https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/charter.md#deviations-from-sig-governance :)

Wdyt about the following definitions for the subproject roles?

Project Manager:

  • This is an optional role.
  • Run operations and processes governing the suproject (like organizing meetings, ensuring recordings are uploaded in a timely fashion and reporting updates to the parent SIG)
  • Determine the subproject release cadence, produce releases, and communicate releases with SIG Release and the parent SIG.
  • Ensure that issues are correctly associated with milestones and are triaged in a timely manner.
  • Ensure that active pull requests are addressed in a timely manner.
  • Number: 1-2
  • Membership tracked in sigs.yaml

Owner:

  • Seed members established at subproject founding.
  • SHOULD be an escalation point for technical discussions and decisions in the subproject.
  • SHOULD set milestone priorities or delegate this responsibility.
  • Additionally, if the Project Manager role is not defined for the subproject, the Owner has the responsibilities of the Project Manager role.
  • Number: 2-3
  • Membership tracked in sigs.yaml

@nikhita
Copy link
Member

nikhita commented Mar 17, 2019

/cc @timothysc

@bgrant0607
Copy link
Member

@nikhita I like much of your suggested definition. One part I'm not sure about is the responsibility for deciding the release cadence and producing releases. I could see that responsibility belonging to the owner in many cases.

@nikhita
Copy link
Member

nikhita commented Mar 19, 2019

One part I'm not sure about is the responsibility for deciding the release cadence and producing releases. I could see that responsibility belonging to the owner in many cases.

Yeah, I was a little doubtful of that too. Agree that we should move that responsibility to the Owner role. 👍

@nikhita
Copy link
Member

nikhita commented Mar 19, 2019

/cc @kubernetes/steering-committee

@k8s-ci-robot k8s-ci-robot requested a review from a team March 19, 2019 04:01
@philips
Copy link
Contributor

philips commented Mar 19, 2019

I read the thread and agree with @bgrant0607's feedback. I just can't remember how we ended up on this problem to begin with. Is there any context somewhere?

@nikhita
Copy link
Member

nikhita commented Mar 19, 2019

I just can't remember how we ended up on this problem to begin with. Is there any context somewhere?

The main blocker to setting up the automation for subprojects was having well-defined "leads". The discussion then led to creating a PM-like role for subproject leadership too, since subprojects can have meetings and slack channels.

More details here - #2619 (comment)
Complete context about the subprojects issue here - kubernetes/steering#36 (comment)

@timothysc
Copy link
Member

I added a comment to the PR which was a follow on from steering. Today we just need a communication point to bootstrap newcomers. If we can simply point them at a slack channel that will solve the current issues we have today.

@spiffxp
Copy link
Member

spiffxp commented Mar 20, 2019

If we can simply point them at a slack channel that will solve the current issues we have today.

I will PoC this for sig-testing subprojects shortly and see if that helps

@spiffxp
Copy link
Member

spiffxp commented Mar 20, 2019

#3483 adds the Contacts field to subprojects, so they can have slack, mailing list, github teams etc. specified

@timothysc
Copy link
Member

I'd move to close this PR and if needed we can follow up on steering.

@dims dims closed this Apr 1, 2019
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. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants