Facebook坚信开源的力量。当社区集合起来编写代码时,其好处是不可估量的。有人能指出问题所在,同时解决方案也会很快跟进。借助于社区的力量,大家可以一同解决所面临的挑战,这也会不断加速创新的过程,同时社区会突破既有技术的限制。当然了,成功的项目依赖于强大且富有合作精神的社区。在新的一年开始之际,我们一起来盘点一下Facebook在2015年排名前5的开源项目,度量指标则是根据社区活跃度与影响力来决定的。
HipHop Virtual Machine(HHVM)
HHVM是虚拟机与Web服务器,它于2013年开源,其基础则是2010年所发布的HPHPc编译器。在过去的一年当中,我们看到了该项目的提交量增加了29%,派生数量增加了30%。HHVM常常用作独立的服务器,用于替代Apache与mod_php,旨在执行使用Hack与PHP所编写的程序。它使用了即时编译方法来实现超高的性能,同时又保持了PHP开发者所习惯的灵活性。在过去的一年中,HHVM项目取得了长足的进步:
React
Facebook在2013年5月开源了React,在过去的一年中,社区的协作关系变得越来越强大了,提交量增加了75%,派生数增加了198%。React是Facebook开发的用于构建用户界面的JavaScript库,现已为很多公司所用,因为它采用了一种不同的方式来构建应用:借助于React,我们可以将应用分解为彼此解耦的独立组件,这样就可以独立维护并迭代各种组件了。2015年,React有两个主要的发布,同时还发布了React Native,并且发布了新的开发者工具。现在已经有越来越多的公司(包括Netflix与WordPress)开始使用React构建自己的产品了。
Presto
Presto是我们开发的一款分布式SQL引擎,主要用于针对各种大小的数据源(从GB到PB)来运行交互式分析查询。我们创建Presto的主要目的在于帮助我们更快地分析数据,因为我们的数据量一直在持续增长,产品周期的节奏也变得越来越快。自从2013年11月开源了Presto后,我们看到它呈现出爆发性增长,使用它的人也越来越多。在过去的一年中,其提交数增加了48%,派生数增加了99%。诸如Airbnb、Dropbox以及Netflix等公司都将Presto作为自己的交互式查询引擎。我们还看到了Presto的使用量在全球范围内的持续增长,这包括来自于日本的社交媒体游戏开发公司Gree,以及来自于中国的电子商务公司京东。
2015年,Teradata宣布了加入Presto社区的计划,将专注于增强其企业级特性并为之提供支持。这也从一个侧面说明了社区相信Presto有能力成为数据基础设施栈的一个重要组成部分。此外,Amazon Web Services(AWS)在其EMR服务中对Presto提供了一流的支持,很多产品用户,包括Nasdaq与领先的商业智能工具厂商MicroStrategy都开始支持Presto,其中MicroStrategy还在其旗舰产品MicroStrategy 10中对其提供了支持。
RocksDB
我们在2013年11月开源了RocksDB,这是一款嵌入式、持久化的键值存储,能够实现快速的存储。过去一年中,除了令人印象深刻的52%的提交数增加与57%的派生数增加外,这个项目在开源社区如此流行的原因在于这款嵌入式数据库能够对由于网络延迟等原因造成的慢查询响应时间起到消除的作用,它非常灵活,完全可以针对各种新兴的硬件发展趋势进行定制。RocksDB在LinkedIn与Yahoo等公司中承担了关键的服务。对于我们来说,这一年的主要关注点在于将RocksDB存储引擎带到通用数据库领域当中,从MongoDB开始。类似于Teradata对Presto的商业支持,这一年RocksDB的另一个里程碑是Percona的数据性能专家宣布对其提供企业级支持。
React Native
React Native是我们最新的一个开源项目,并且于2015年3月开源。借助于React Native,工程师可以使用与React相同的方式和工具来快速构建针对于移动设备的原生应用。除了在内部开发这些工具外,Facebook还联合了开源社区一同改进开发者的体验。2015年,React Native成为了Facebook第2个最为流行的开源项目,其在GitHub上有超过23,000个粉丝。它在Facebook内部用于构建iOS与Android平台的Facebook Ads App,结果就是85%的代码得到了重用,其核心竞争力则是JavaScript。React Native为移动开发所带来的范式转移使得它成为了年度的一个最大亮点。
值得一提的是,约有3,400名开发者为Facebook开源的那些项目贡献出了自己的力量,他们当中的大多数人都不是Facebook员工。一个开源项目的外部贡献者数量是衡量这个开源社区流行度的一个重要指标,Facebook创造了最为流行的开源代码。2015年,约有2,500名外部开发者为Facebook的开源项目贡献了力量,这个数字在2014年则是1,000。开源软件正变得越来越重要,这不仅在互联网巨头和初创企业中是这样,在传统企业中亦如此。诸如Walmart、Target与Booz Allen Hamilton等公司都有官方的GitHub账号,上面有很多仓库以及活跃的贡献者团队。参与开源社区不仅需要更加关注于问题或是免费获取代码(得到免费的开源代码是很容易的事情,但要想将其为特定的场景所用则不是那么轻松的事情),而且还是一种行之有效的人才遴选方式。Facebook现在在GitHub上有330多个开源项目仓库。社区的成长与参与度是非常重要的。2015年,Facebook的公开项目得到了50,000多次提交,2014年这个数字则是28,000。总的星数为318,000,2014年这个数字则是135,000,超过了一倍多。与之类似,2015年总的派生数是53,000,相比于2014年来说增加了127%。
总体来说,我们依然还有很多工作要做,不过我们对以社区方式来完成所有这些工作感到由衷的自豪。这里也感谢在这些项目上花费了巨大心力的每一个人,正是你们的帮助才有了我们璀璨的一年!2016年,我们还会继续同其他开发者协作来全力支持这些项目,我们也期待能与社区有着更为紧密的合作关系。