CNCF(Cloud Native Computing Foundation)是一个致力于推动云原生技术发展的组织。项目入驻 CNCF 通常会经历以下几个阶段,每个阶段都有特定的要求和目标:
1. 沙箱阶段(Sandbox Stage)
目标:
- 提供一个实验性的环境,让新兴项目能够在社区中获得早期反馈和支持。
要求:
- 项目应该是一个有潜力的云原生技术,能够解决特定的问题。
- 项目需要有一个明确的开源许可证(通常是 Apache License 2.0)。
- 项目需要有一个公开的代码库和文档。
- 项目需要有一个明确的治理模型和贡献者指南。
过程:
- 提交申请:项目发起人需要向 CNCF 提交项目入驻申请。
- 社区审核:CNCF 技术监督委员会(TOC)会对项目进行评估,决定是否接纳项目进入沙箱阶段。
- 入驻:如果通过审核,项目将被正式纳入 CNCF 沙箱。
2. 孵化阶段(Incubating Stage)
目标:
- 帮助项目在技术和社区方面进一步成熟,准备好进入毕业阶段。
要求:
- 项目需要展示出一定的用户基础和社区活跃度。
- 项目需要有一个稳定的发布周期和版本管理策略。
- 项目需要有一个明确的技术路线图和发展计划。
- 项目需要通过第三方安全审计。
- 项目需要有多家独立的组织在生产环境中使用。
过程:
- 提交申请:项目需要向 CNCF 提交孵化阶段申请,展示项目在沙箱阶段的进展和成熟度。
- 社区审核:CNCF TOC 会对项目进行更深入的评估,可能包括代码审查、安全审计等。
- 入驻:如果通过审核,项目将被正式纳入 CNCF 孵化阶段。
3. 毕业阶段(Graduated Stage)
目标:
- 确保项目已经足够成熟,能够在大规模生产环境中稳定运行,并且有一个健康的社区和生态系统。
要求:
- 项目需要展示出广泛的用户基础和社区活跃度。
- 项目需要有一个稳定的发布周期和长期支持计划。
- 项目需要通过更加严格的第三方安全审计。
- 项目需要有一个明确的治理模型和贡献者指南。
- 项目需要有多家大型组织在生产环境中使用,并且能够提供成功案例。
过程:
- 提交申请:项目需要向 CNCF 提交毕业阶段申请,展示项目在孵化阶段的进展和成熟度。
- 社区审核:CNCF TOC 会对项目进行全面评估,可能包括代码审查、安全审计、用户反馈等。
- 入驻:如果通过审核,项目将被正式纳入 CNCF 毕业阶段。
小结
项目入驻 CNCF 一般会经历三个主要阶段:沙箱阶段、孵化阶段和毕业阶段。每个阶段都有特定的要求和目标,旨在确保项目能够在技术和社区方面逐步成熟,最终成为一个能够在大规模生产环境中稳定运行的云原生技术。通过这些阶段,CNCF 努力推动云原生技术的发展,并为用户提供高质量、可靠的开源项目。