谷歌宣布将其 Go 应用镜像构建器 ko 作为沙箱项目提交给 CNCF。ko 是谷歌在 2019 年开源的 Go 应用程序的简单、快速和安全的容器镜像构建器,最近还添加了一些新功能,包括多平台支持和自动 SBOM 生成。
就像谷歌的 original team 一样,现如今许多开源和企业开发团队都依赖 ko 来提高他们的开发人员生产力。ko 项目也越来越多地用作许多构建用例的解决方案,并被集成到各种第三方 CI/CD 工具中。
在 Google,我们相信使用开源有责任贡献、维持和改进使我们的生态系统变得更好的项目。为了支持下一阶段的社区驱动创新,启用全新的采用模式,并进一步提高容器工具行业的标准;我们今天很高兴地宣布,我们已将 ko 作为沙箱项目提交给云原生计算基金会(CNCF)。
此步骤开启了将 ko 商标、IP 和代码转移到 CNCF 的过程。我们很高兴看到更广泛的开源社区将如何继续使用 ko 进行创新。
值得一提的是,Google Open Source 官方一开始发布的的公告内容是:"谷歌向 CNCF 捐赠了用于简单快速安全的容器镜像构建的 KO 工具"。不过这篇原始贴很快就被删除,并以一个新的、稍有分寸的标题重新发布:"KO 申请成为 CNCF 的一个沙箱项目"。对此,GitHub 上的讨论则认为,谷歌此举这可能只是源于对 CNCF 沙箱提交过程的误解。但早前谷歌就有过向 CNCF 捐赠 Knative 的经验,该项目现已被接受成为孵化项目。
对于谷歌此次的决策,外媒 The Register 则提出猜测称,“想要交出工具是否意味着谷歌内部对 Go 的热情在减退”。目前,Go 语言仍在持续发展当中:1.19 版本于几个月前问世,1.20 版本正在开发中。不过即便如此,Go 2 版本的面世似乎仍遥遥而无期,甚至“并不比 2018 年时更接近”。Go 高级工程师 Ian Lance Taylor 曾分享了一些关于 Go 2 的想法。
此外,谷歌新一代开源操作系统 Fuchsia 的开发者网站在 2020 年公布了一份 Fuchsia 编辑语言策略,详细描述了 C、C++、Dart、Rust 与 Go 的优劣势,并明确指定了其中哪些语言将会在 Fuchsia 开发生态中得到怎样程度的支持。最终得出的结果也是,不推荐使用 Go。
而在过去一年左右的时间里,Rust 却得到了更多的关注和社区的支持。谷歌新开源的操作系统 KataOS,也几乎完全是用 Rust 编写。