CNCF Graduation Criteria v1.3

每个 CNCF 项目都有相关的成熟度级别。拟议的 CNCF 项目应说明其首选的成熟度水平。进入孵化(incubating)或毕业(graduated)的项目需要获得至少三分之二的选票。进入毕业的项目,如果没有获得大于三分之二选票时,无法进入 graduated 项目,那么毕业选票会被计算为孵化选票。 进入孵化项目,如果没有获得大于三分之二的选票时,那么任何毕业或孵化的选票都会被重新计算为赞助进入沙盒项目。如果没有足够的赞助进入沙盒阶段项目,该项目将被拒绝。这种投票过程称为后备投票。

每个成熟阶段的标准如下所述,并有一个单独的标准 https://github.com/cncf/toc/blob/main/process/project_proposals.adoc

孵化项目和毕业项目可以访问所有资源 https://cncf.io/projects ,但如果有争议,通常会优先考虑更成熟的项目。

Sandbox Stage

要在沙箱中被接受,一个项目必须满足以下条件:

See the [https://github.com/cncf/toc/blob/main/process/sandbox.md[CNCF](https://github.com/cncf/toc/blob/main/process/sandbox.md[CNCF) Sandbox Guidelines v1.0] for the detailed process.

Incubating Stage

Note: The incubation level is the point at which we expect to perform full [https://github.com/cncf/toc/blob/main/process/due-diligence-guidelines.md[due](https://github.com/cncf/toc/blob/main/process/due-diligence-guidelines.md[due) diligence] on projects.

To be accepted to incubating stage, a project must meet the sandbox stage requirements plus:

  • Document that it is being used successfully in production by at least three independent end users which, in the TOC’s judgement, are of adequate quality and scope. For the definition of an end user, see https://github.com/cncf/toc/blob/main/FAQ.md#what-is-the-definition-of-an-end-user

  • Have a healthy number of committers. A committer is defined as someone with the commit bit; i.e., someone who can accept contributions to some or all of the project.

  • Demonstrate a substantial ongoing flow of commits and merged contributions.

  • Since these metrics can vary significantly depending on the type, scope and size of a project, the TOC has final judgement over the level of activity that is adequate to meet these criteria
  • A clear versioning scheme.
  • Clearly documented security processes explaining how to report security issues to the project, and describing how the project provides updated releases or patches to resolve security vulnerabilities
  • Specifications must have at least one public reference implementation.

Graduation Stage

To graduate from sandbox or incubating status, or for a new project to join as a graduated project, a project must meet the incubating stage criteria plus:

  • Have committers from at least two organizations.
  • Have achieved and maintained a Core Infrastructure Initiative [https://bestpractices.coreinfrastructure.org/[Best](https://bestpractices.coreinfrastructure.org/[Best) Practices Badge].
  • Have completed an independent and third party security audit with results published of similar scope and quality as the following example (including critical vulnerabilities addressed): https://github.com/envoyproxy/envoy#security-audit and all critical vulnerabilities need to be addressed before graduation.
  • Explicitly define a project governance and committer process. This preferably is laid out in a GOVERNANCE.md file and references an 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). For a specification, have a list of adopters for the implementation(s) of the spec.
  • Receive a supermajority vote from the TOC to move to graduation stage. Projects can attempt to move directly from sandbox to graduation, if they can demonstrate sufficient maturity. Projects can remain in an incubating state indefinitely, but they are normally expected to graduate within two years.

参考

Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2021-07-02 14:03:13

results matching ""

    No results matching ""