免费的开源软件一直是 Google 技术和组织基础的一部分。从运行 Linux 内核的服务器到修复任意团队代码的内部文化,开源也是 Google 工作的一部分。作为回报,Google 发布了数百万行开源代码,推出了 Google Summer of Code、Google Code-in 等计划,并通过与 Software Freedom Conservancy、Apache Software Foundation以及其他众多组织机构的合作,赞助了开源项目和社区。
如今,Google 推出了 opensource.google.com,这是 Google Open Source 的新网站,整合了 Google 开源项目的信息,介绍了 Google 如何使用、发布并支持开源。
帮助你找到有趣的开源代码
Google 发布开源代码的原则之一就是“多即是好”,会尽可能地帮助团队发布代码。因此,Google推出了数千个项目,既包括 TensorFlow、Go、Kubernetes 等大产品,也包括 Light My Piano、Neuroglancer、Periph.io 等小项目。一些项目得到了全面支持,一些项目则是试验性或娱乐性的。由于这些开源项目涉及超过 100 个 GitHub 上的组织和 Google 的 Git 服务,有时候则会很难掌握这些自身开源项目的范围和规模。
为了提供一个更加全面的视野,Google 推出了其开源项目的汇总,这个汇总将随着时间的推移而不断丰富。在此基础上,还为很多项目增添了相关信息,介绍这些项目是如何在 Google 内部使用的。未来,Google 希望增添项目生命周期、成熟度等更多信息。
如何做开源
开源关乎的不仅仅是代码,还关乎社区和流程。2014 年,Google 推动成立了 TODO Group,提供一个论坛,让承诺开源的公司相互合作,分享最佳实践。根据这些年来进行的众多讨论。Google 发布了如何做开源的内部文件。
这些文件介绍了 Google 推出新开源的项目、向其他的项目提交补丁所遵循的流程,以及 Google 如何管理引入公司内部的开源代码。除了“如何做”之外,这些文件还介绍了 Google “为何做”,例如为何仅使用特定许可下的代码或为何针对 Google 接收的所有补丁要求提供贡献者许可协议。
Google 的政策和程序得益于这些年来积累的经验。这些应对开源的方法可能并不适合所有人,做开源的方法也不止一种。Google 希望对开源项目的思考能够启发人们。