CNCF Project Proposal Process 中指出开源项目要想加入 CNCF 必须满足以下条件:
- 项目名称必须在 CNCF 中唯一
- 项目描述(用途、价值、起源、历史)
- 与 CNCF 章程一致的声明
- 来自 TOC 的 sponsor(项目辅导)
- 成熟度模型评估(参考 CNCF Graduation Criteria)
- license(默认为 Apache 2)
- 源码控制(Github)
- 外部依赖(包括 license)
- 创始 committer(贡献项目的时长)
- 基础设施需求(CI/CNCF集群)
- 沟通渠道(slack、irc、邮件列表)
- issue 追踪(GitHub)
- 网站
- 发布方法和机制
- 社交媒体账号
- 社区规模和已有的赞助商
- 用户、使用规模、是否用在生产环境,要有证据说明
- svg 格式的项目 logo
整个流程比较复杂,持续时间也不比较久,如 CNCF 提供的这张图所示。
大体流程如下:
- 通过 GitHub Issue 提交 proposal
- TOC 确认项目分类,归类到一个 CNCF SIG 中(两周)
- SIG 评估(1到 2 个月)
- TOC review
- TOC 拉票,至少 3 票(2 个月)
- 治理和法律问题(CNCF 来处理)