在 OSCON 的第三天,我听到了 Facebook 的 James Pearce 发表了本次大会的众多主题演讲之一。
Pearce 解释了 Facebook 如何大规模地进行开源。据他说,Facebook 每月启动多个开源项目,并有数百名工程师持续支持这些项目——同时他们还与世界各地的社区互动,以 улучшить 软件体验。
但是,比 Facebook 如何 做这件事更有趣的是,他们为什么 要使用、支持和发布开源项目。
Pearce 本可以带我们回到过去,讲述马克·扎克伯格坐在他的宿舍里,选择 LAMP 堆栈作为 Facebook 基础的那一天。他本可以告诉我们 Facebook 的黑客社区。他本可以表达 Facebook 认为自己承担的某些社会义务。所有这些都是事实,但这些都不是该公司以开源方式行事的真正原因。
真正的原因?Pearce 说,这只是对公司有利。
他的理由可能难以让人理解——当我在教学时,我也一直在为此挣扎——但 Pearce 为采用开源提供了以下绝佳理由
- 分享 Facebook 的代码(其“堆栈”,偶尔也分享其硬件设计)加速了世界的创新。这有助于其他人更快地前进。因为 Facebook 不是一家软件公司,所以这样做不会面临任何竞争威胁。相反,价值会回馈给他们。用户可以更快地构建应用程序,Facebook 可以从其他人对其代码所做的改进中获益。
- 拥抱开源意味着 Facebook 从一开始就编写更好的软件。如果公司知道某件事从一开始就会开源,它就会将其构建得更好,以便它能够更易于访问和可靠,因为它将在外部世界中使用。这也使其在内部更有价值。
- 开源提供了分享挑战的机会。它吸引了那些想要应对这些挑战的人的兴趣,因此有助于提高公司员工的素质。Facebook 每天连接超过十亿人,他们之所以能够做到这一点,是因为开源。
Facebook 的 GitHub 仓库 托管了 274 个仓库、39,000 个 fork、79,000 次提交,并拥有 242,000 名关注者。他们开源的项目不仅仅是黑客马拉松的想法或实习生贡献的工作,这些都是 Facebook 在生产中使用的工具。Facebook 只 开源其在生产中使用的东西——这样,人们就知道他们的产品是受支持且有价值的。通过检查这些产品,你实际上可以了解 Facebook 的运作方式。
Facebook 的开源办公室只有两个人,因此团队必须高效工作,并且需要收集数据来决定什么在起作用。他们非常积极地使用 GitHub API,每分钟提取他们可以提取的所有数据。然后他们实时以及在月度报告中收集和分享这些数据。这样做使这个过程游戏化,使开发人员相互竞争以拥有性能更好的仓库。即使取得了所有成功,Facebook 始终在努力做得更好。这就是该公司参与 ToDo 的原因,也是它今年参加 OSCON 的原因。
系列
本文是 OSCON 系列 中关于 OSCON 2015 的一部分。 OSCON 涵盖了所有开源内容——全栈,包括您在日常工作中使用的所有语言、工具、框架和最佳实践。OSCON 2015 将于 7 月 20 日至 24 日在俄勒冈州波特兰市举行.
2 条评论