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

Initial stab at a project proposal process #3

Merged
merged 4 commits into from
May 20, 2019

Conversation

caniszczyk
Copy link
Contributor

We will have two stages: incubating and graduated.

Signed-off-by: Chris Aniszczyk caniszczyk@gmail.com

We will have two stages: incubating and graduated.
@caniszczyk
Copy link
Contributor Author

RFC @cdfoundation/toc

Copy link

@stmcginnis stmcginnis left a comment

Choose a reason for hiding this comment

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

All in all, looks great to me. Some comments added just as food for thought.

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved

**Definition**

The Incubation Stage is for projects that are interested and have identified a growth plan for doing so. Incubation Stage projects will receive mentorship from the TOC and are expected to actively develop their community of contributors, governance, project documentation, and other variables identified in the growth plan that factor in to broad success and adoption.
Copy link

Choose a reason for hiding this comment

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

This sentence sounds a little awkward. Projects that are interested (in) what?

Copy link
Contributor

Choose a reason for hiding this comment

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

I took a stab at clarifying this. Thanks for pointing it out!

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
* Have a healthy number of committers from at least two organizations. A committer is defined as someone with the commit bit; i.e., someone who can accept contributions to some or all of the project.
* Explicitly define a project governance and committer process. This is preferably laid out in a GOVERNANCE.md file and references a CONTRIBUTING.md and OWNERS.md file showing the current and emeritus committers.
* Have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website).
* Other metrics as defined by the applying Project during the application process in cooperation with the TOC.
Copy link

Choose a reason for hiding this comment

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

What are examples of some of these metrics?

Copy link
Contributor

Choose a reason for hiding this comment

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

Next steps are to share how Jenkins/other existing projects currently track metrics and discuss improving/collaborating/unifying these.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we could easily have devstats run against applying projects and use that a a baseline https://all.devstats.cncf.io/d/53/projects-health?orgId=1

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
@rpaik
Copy link

rpaik commented Apr 5, 2019

Thanks @caniszczyk. I also added some questions/comments for discussion.

Should there also be a note somewhere that says the documented can be amended with approval from the TOC?

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
* Adherence to the foundation's IP Policy
* Upon acceptance, At Large projects must list their status prominently on their website/README
* Development of a growth plan, to be done in conjunction with their project mentor(s) at the TOC.
* Document that it is being used successfully in production by at least two independent end users which, in the TOC’s judgement, are of adequate quality and scope.
Copy link
Member

Choose a reason for hiding this comment

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

regarding this:

it is being used successfully in production by at least two independent end users

what is "end-users" and "production" in this context?

  • are other open source communities seen as end-users?
  • are their systems that run CI/CD and serve their communities seen as production?

or is end-user more like a traditional end user/customer?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

end users are folks who use the software in production (whether it's through a service or own their own, it's not a vendor), other open source communities can be seen as end users

@rpaik
Copy link

rpaik commented Apr 5, 2019

Also, would it be more accurate to call this is Project Lifecycle document? The project proposal is just one part of it.

@caniszczyk
Copy link
Contributor Author

Also, would it be more accurate to call this is Project Lifecycle document? The project proposal is just one part of it.

Yes you're right, we will do that :)

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved

To graduate from Incubating status, a project must meet the Incubation stage criteria plus:

* Have a defined governing body of at least 5 or more members (owners and core maintainers), of which no more than 1/3 is affiliated with the same employer. In the case there are 5 governing members, 2 may be from the same employer.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a bit more prescriptive than the cncf graduation criteria. AFAICT they only require projects to have clear and documented governance.

Do we need these extra stipulations?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'll take a stab at simplifying this.

Copy link
Contributor

Choose a reason for hiding this comment

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

Added a commit to address this.

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
Copy link
Contributor Author

@caniszczyk caniszczyk left a comment

Choose a reason for hiding this comment

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

address comments

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
* Adherence to the foundation's IP Policy
* Upon acceptance, At Large projects must list their status prominently on their website/README
* Development of a growth plan, to be done in conjunction with their project mentor(s) at the TOC.
* Document that it is being used successfully in production by at least two independent end users which, in the TOC’s judgement, are of adequate quality and scope.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

end users are folks who use the software in production (whether it's through a service or own their own, it's not a vendor), other open source communities can be seen as end users

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
* Have a healthy number of committers from at least two organizations. A committer is defined as someone with the commit bit; i.e., someone who can accept contributions to some or all of the project.
* Explicitly define a project governance and committer process. This is preferably laid out in a GOVERNANCE.md file and references a CONTRIBUTING.md and OWNERS.md file showing the current and emeritus committers.
* Have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website).
* Other metrics as defined by the applying Project during the application process in cooperation with the TOC.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

we could easily have devstats run against applying projects and use that a a baseline https://all.devstats.cncf.io/d/53/projects-health?orgId=1

PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
PROJECT_PROPOSAL_PROCESS.md Outdated Show resolved Hide resolved
* 2 TOC sponsors to champion the project and provide mentorship as needed
* A presentation at a meeting of the TOC
* Adherence to the foundation's IP Policy
* Upon acceptance, At Large projects must list their status prominently on their website/README
Copy link
Member

Choose a reason for hiding this comment

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

Unclear on the use of the 'At Large' term in this case? I've only seen this used when talking about people or roles...

@caniszczyk
Copy link
Contributor Author

caniszczyk commented May 14, 2019 via email

@jstrachan
Copy link

lgtm

@caniszczyk
Copy link
Contributor Author

4/6 is enough TOC members voting for this to pass

I recommend picking a pilot project to test the process and iterate over time

@caniszczyk caniszczyk merged commit 6f89deb into master May 20, 2019
@caniszczyk caniszczyk deleted the project-proposal-process branch May 20, 2019 07:15
tequilarista added a commit that referenced this pull request Jan 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants