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

Adding initial directions for kubernetes organization owners #1569

Merged
merged 1 commit into from
Jan 19, 2018

Conversation

mattfarina
Copy link
Contributor

cc @kubernetes/steering-committee @idvoretskyi

I think I have this right but I'm not sure. After some conversations in December I wanted to capture what I'd learned in writing.

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jan 5, 2018
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jan 5, 2018
@spiffxp
Copy link
Member

spiffxp commented Jan 5, 2018

/assign
/committee steering
I'll look at this today or next week, I'm now sitting on a number of kubernetes orgs and would like to make sure what I'm doing is correct and documented here

ref: #1407

@k8s-ci-robot k8s-ci-robot added the committee/steering Denotes an issue or PR intended to be handled by the steering committee. label Jan 5, 2018
@idvoretskyi
Copy link
Member

/assign

@spiffxp I'd like to work on this as well from the CNCF side.

to for CNCF compliance and for the guidelines of the community.

## Organization Naming

Copy link
Member

Choose a reason for hiding this comment

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

I agree with this section.


## Contributor License Agreement (CLA)

All code contribute to the Kubernetes project needs to be done by those who are
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@bgrant0607 Since the incubation process is not in use and repos, such as those under kubernetes-client, are not part of the incubator, I would suggest we move the requirements for orgs and repos out of there and reference back here. Going forward it appears we will have multiple types of things.

Copy link
Member

Choose a reason for hiding this comment

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

CLA is activated/configured per-org AFAIK, that should be in this doc about kubernetes orgs.

Code of Conduct, Software License are are repo-level specs. I don't think they belong in this doc.
I think it would be simpler to say all repos in a kubernetes org must adhere to the standards
set by https://github.com/kubernetes/kubernetes-template-project and make sure that's a living example (eg: I'm about go to PR out the wording about incubator)

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 Aaron's proposal.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

@mattfarina mattfarina Jan 16, 2018

Choose a reason for hiding this comment

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

There are two things that catch my attention here.

  1. We already have numerous existing projects not based on this template. Those managing those repos and the orgs they are on need clear guidance on what they MUST do apart from what's RECOMMENDED. Many of those org and repo owners don't have those details. This document was an attempt to serve existing as well as new. How do we concisely communicate to these folks?
  2. The template repo has a lot of implementation opinions. For example, all maintainers must LGTM a release and for dependencies you use godep. Where is the line between what one MUST do and what's RECOMMENDED? The template project doesn't seem to share that.

Shouldn't a template implement a set of guidance to be helpful rather than be the source of truth? At least for all those cases of communication that a template isn't well suited for (e.g., after day-0 project creation).

Copy link
Member

Choose a reason for hiding this comment

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

I guess if we're going to go to full blown RFC compliant wording, I'd still prefer to see that wording over in kubernetes/kubernetes-template-project. I am open to PR's that clearly demarcate opinions from requirements.

As far as reconciling the state of kubernetes repos today with the desired state is concerned, I see no difference between updating a living example after the fact and updating docs after the fact.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@spiffxp so I can update the wording here as a pointer. Repo maintainers need to:

  1. Watch for changes on the template repo
  2. Figure out the ones that apply to them
  3. Apply them to their own repos

What I don't know is what parts of the example apply to all repo and which don't. Some things are required, such as the code of conduct, which other things are optional, such as the use of godep (glide, dep, and godep are in use right now). How do repo maintainers distinguish the types of things? How do we communicate that as guidance?

Copy link
Member

Choose a reason for hiding this comment

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

@mattfarina I think clear wording in https://github.com/kubernetes/kubernetes-template-project/blob/master/README.md would help distinguish what is required vs. recommended. For example, we don't say "use this CONTRIBUTING.md file that references godep", we say "use a CONTRIBUTING.md file" and provide an example.

Communicating this guidance would probably best take place on the kubernetes-dev mailing list as we come to a consensus on when and how best to enforce project-wide standards

Choose a reason for hiding this comment

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

+1 on pointing to kubernetes-template-project and communicating guidance on what repo maintainers need to do via the kubernetes-dev mailing list for now.

What do we think about having a Guide to Upgrading Your Kubernetes Repo doc that you can link here with the directions Matt Farina mentioned and use that as the guidance we send to the kubernetes-dev mailing list?


## Transferring Outside Code Into A Kubernetes Organization

Due to licensing and CLA issues, prior to transferring software into a Kubernetes
Copy link
Member

Choose a reason for hiding this comment

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

This is fine for now.

* kubernetes-graveyard
* kubernetes-csi

This list is likely incomplete. If you are aware of additions please contribute
Copy link
Member

Choose a reason for hiding this comment

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

I believe the list is still being hashed out elsewhere.

Copy link
Member

Choose a reason for hiding this comment

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

We've since hashed this list out #1407 (comment)

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

@@ -0,0 +1,66 @@
# GitHub Organization Owners Guide
Copy link
Member

Choose a reason for hiding this comment

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

Could we retitle this Kubernetes Github Organizations?


Note: The CNCF, as part of the Linux Foundation, holds the trademark on the
Kubernetes name. All GitHub organizations with Kubernetes in the name should be
managed by the Kubernetes project or use a different name.

Choose a reason for hiding this comment

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

^ is that something we can actually enforce? I'm not pushing back here, just curious.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@michelleN if the CNCF doesn't enforce the trademark on the name than it can loose the ability to do this. It's a general thing that you need to enforce usage on a name or you loose the right to. It's legal and as I'm not a lawyer I don't really know the details. I'm sure the Linux Foundation and CNCF folks know what to do, though.

Because the CNCF owns the name there are channels through GitHub to deal with this if it were to come to that (which it usually doesn't).

@mattfarina
Copy link
Contributor Author

@spiffxp and others... the document has had a bunch of updates including:

  • New title
  • Pointer for repo to the template project
  • Updated list of orgs with links
  • Removed repo guidance

@spiffxp
Copy link
Member

spiffxp commented Jan 17, 2018

/lgtm
/hold
holding for comment from other steering committee members

@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. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jan 17, 2018
@thockin
Copy link
Member

thockin commented Jan 18, 2018

/lgtm

## Current Organizations In Use

The following organizations are currently known to be part of the Kubernetes
project:
Copy link
Member

Choose a reason for hiding this comment

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

The steering committee will be pushing out a doc soon regarding organizational structure which will likely cause the structure below to be reformed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Does that need to block this PR? Can we update the doc after those changes come out?

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 put a clause and change the content saying "this is all subject to change", but here is the current state, then lgtm from me.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added that clause

@k8s-github-robot k8s-github-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 19, 2018
Copy link
Member

@timothysc timothysc left a comment

Choose a reason for hiding this comment

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

/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mattfarina, spiffxp, thockin, timothysc

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@spiffxp
Copy link
Member

spiffxp commented Jan 19, 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 Jan 19, 2018
@k8s-ci-robot k8s-ci-robot merged commit 9b5f429 into kubernetes:master Jan 19, 2018
@mattfarina mattfarina deleted the repo-owners-guide branch January 19, 2018 20:14
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/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants