Christine Abernathy,Facebook 开源团队的开发者倡导者,将在这个月在 All Things Open 大会上发表演讲。在这次采访中,她向我们详细介绍了 Facebook 如何大规模开源项目,以及开源团队未来面临的挑战。
Christine 还提到了 TODO 组织,该组织在过去一年中见证了其成员发布了 1000 个开源项目。TODO 组织是“一个由公司组成的开放组织,他们希望在实践、工具以及其他运行成功且有效的开源项目和程序的方式上进行协作”。TODO 代表公开讨论,公开开发。
Facebook 在两年前重启了其开源计划。现在看来,有哪些经验教训?
随着我们的开源计划的演进,我们吸取了很多教训,但对我们来说,关键的收获是,越来越多的公司选择变得开放和互联。这本身就证实了专有策略实际上是一种竞争劣势。
作为一个社区共同构建强大的开源计划,符合 Facebook 的使命——让世界更加开放和互联。我们发现软件也是如此,因为需要构建大量软件来解决存在的诸多挑战,而我们无法独自完成这一切。开放性不仅仅关乎沟通和连接,还关乎软件。
开放性和协作有助于我们更快地扩展规模,因为 1) 我们能够让开源项目在我们的环境中以及我们需要的规模下工作。2) 我们正在让工程师社区熟悉我们当前的项目,3. 新员工入职速度更快,这使我们能够更快地扩展规模。
为了帮助规范我们的计划
- 我们实施了内部系统,这些系统可以提供关于我们无意中忽视的任何社区的早期预警。
- 我们正在与 Bountysource 合作,奖励外部参与和发现各种开源项目中的错误。
- 我们建立了 Facebook 开源学院,以帮助将开源引入世界各地大学的计算机科学课程。
- 我们启动了一系列工程活动 (@Scale),与不同的开发人员讨论和协作他们在使用开源项目方面的经验。
James Pearce 在 OSCON 大会上发表主题演讲,并提到了开源项目的手册。您将在 All Things Open 大会上谈论这份指南吗?您能详细介绍一下这份指南吗?
我们的开源负责人 James Pearce 确实讨论了开源项目的手册,我肯定会在 All Things Open 大会上谈论它。我们大规模开源项目的主要优先事项是激励行业——其他公司和供应商——采用这项技术并将其推广出去,部署它、运行它和操作它。我们的目标是通过连接人们来解决世界上最复杂的问题,从而帮助行业更快地前进,而 Facebook 在这方面处于独特的地位。
我们每个月都会发布几个开源项目,并且有数百名工程师持续支持这些项目。对我们来说,拥有一套标准的实践列表以帮助确保我们在开源社区中树立榜样非常重要。我们做到这一点的一种方式是确保我们开源的所有项目目前都在生产中。这让开源社区确信我们的项目得到了良好的维护,因为如果这些项目管理不善,Facebook 就会崩溃。
展望未来,构建社区、影响当前的思维方式以及使技术进步达到期望的规模将需要相当长的时间。
TODO 组织发布了开放的行为准则。这样的行为准则应该成为指南的一部分吗?Facebook 是否在其计划中应用了这一点?
我们的行为准则肯定会成为我们开源项目的更标准化的指南,它实际上是基于 TODO 组织发布的准则。例如,我们的 React 项目链接到 code.facebook.com/codeofconduct。对我们来说,重要的是我们作为一个社区,始终致力于为所有人提供一个热情和鼓舞人心的社区。
技术创新是否对开源计划产生影响?开放组织等组织变革又如何呢?Red Hat CEO Jim Whitehurst 写过关于开放组织的文章。
当然。在 Facebook,我们将创新视为一个机会,可以作为一个团队与开源社区一起应对新的挑战并正面应对。
我们对我们的 TODO 组织随着时间的推移而发展感到特别自豪。这个团队的美妙之处在于,我们拥有各种各样的公司,他们的业务建立在销售软件的基础上,特别是企业开始意识到通过开源项目与社区协作的价值。
开源社区正在吸引更广泛的行业和公司规模,因为开源有助于提高透明度(在引入软件之前有机会测试软件),团队变得更具创新性,因为您可以与竞争市场中的人协作——使公司能够在当今复杂的市场中保持相关性,最后,它影响产品方向,因为您可以通过直接的开发者互动来展示用例并贡献实现所需功能的代码。
展望该计划,您认为在未来三年内,它在发展道路上会遇到哪些挑战?
我们将面临许多挑战,但成为开源社区的一份子的好处是,我们都在一起。将继续带来挑战的一个关键讨论主题是,开源数据库通常被认为是垃圾场,这意味着代码被上传但没有得到适当的维护。
在 Facebook,我们的目标是发展开源社区,为了确保我们的道路向前发展,我们确保我们只贡献最优质的开源项目。这就是为什么我们只开源目前正在生产中的项目——所以你在 Facebook GitHub 上看到的所有软件都是我们现在实际使用的软件。它们不是黑客马拉松或实习生项目的成果。开源社区知道我们的项目得到了良好的维护,因为它们正在维持 Facebook 基础设施的运行。
我们指派小型团队来管理 GitHub 上的项目,这些团队实际上正在 Facebook 上处理这些项目。例如,React 由 React 工程师运行。我们与社区分享关于我们如何做好项目管理的知识,并且由于 React 表现非常好,良好的原则在整个社区中得到分享。我们还为不再有效或不再生产的项目制定了关闭流程。
Facebook 参与 TODO 组织有什么新消息吗?
TODO 组织正在继续进步,并且进展良好。事实上,在成员之间,我们在过去一年中发布了 1000 个开源项目。惠普和微软现在也加入了进来,该组织一直在与其他公司分享一套最佳实践。我们正在做我们着手完成的事情——帮助其他人学习如何大规模开源。我们将继续分享来自该组织的更多信息,以帮助其他公司大规模构建开源计划。
您有什么最后想与我们的读者分享的话吗?关于您的演讲,或者其他任何事情?
这对我们来说是一个非常令人兴奋的讨论话题,我们很高兴成为开源社区的一份子。在即将到来的 All Things Open 大会上,我将介绍 Facebook 如何大规模开源以及我们一路走来面临的挑战。我们希望我们的经验能够帮助其他试图启动其开源计划的公司。
演讲者访谈
本文是 All Things Open 演讲者访谈 系列的一部分。 All Things Open 是一个探索企业中的开源、开放技术和开放网络的会议.
评论已关闭。