ReadWrite

脸书如何推动下一波开源业务

不再有疑问: 脸书是世界上最大的开源公司。通过发布数据中心设计,数据库等,Facebook可能已经被认为是开源领域的佼佼者。这个 week’s open-sourcing 网络交换机(Wedge)及其操作系统(FBOSS)的出现巩固了Facebook在开源贡献者领奖台上的地位。

但是他们是否也敲响了开源公司的丧钟?

毕竟,从Facebook,Google( 本周发布了PDFium),LinkedIn和其他公司,公司仍有销售开源软件的空间吗?

在新软件工厂内部

事实是,大多数软件都是作为作者和开源倡导者开发的,而不是出售而使用 埃里克·雷蒙德(Eric Raymond)著名地指出 在他2001年的书中 大教堂和集市。然而,当我们押注Oracle或IBM,SAP或Microsoft等时,我们的大部分注意力都放在了软件供应商上。

这些是价值数十亿美元的软件公司,但是由开源社区开发并在企业防火墙之后开发的软件的总价值为数万亿美元。 Michael Tiemann在2009年的重点报道

尽管几乎所有软件都受到近视专有许可的限制,但这种情况开始有所改变。 脸书和其他网络巨头认识到发布代码的巨大价值。最好的开发人员希望使用最好的代码,并且越来越多的最好的代码是开源的。因此,表面上是流媒体视频公司的Netflix定期在其总部举办开源工程日,并着重发布其软件 为了吸引开发商。话虽这么说,Netflix本周确实宣布它将在上周淘汰其公共应用程序编程接口。

所有这些都很棒:更开源,更强大。但是对于这样的公司开发和发布的所有开源软件,很少有支持的主流主流软件可以支持。

吐,波兰语和承诺

一个很好的例子是Apache 卡桑德拉项目,该项目由Facebook在2008年建立并开源以支持其消息系统。两年后,Facebook继续前进。随着公司迭代其消息传递系统, 脸书从Cassandra切换到Hbase:

2008年,我们开源了Cassandra,这是一个最终一致性键值存储,已经在生产中,为Inbox Search提供流量。我们的运营和数据库团队在管理和运行MySQL方面拥有丰富的知识,因此关闭这两种技术是一个严重的问题。我们要么不得不放弃对Cassandra的投资,要么训练我们的运营团队以支持新的大型系统。

我们花了几周的时间建立了一个测试框架,以评估MySQL,Apache 卡桑德拉,Apache HBase和其他几个系统的集群。我们最终选择了HBase。 MySQL被证明不能很好地处理数据的冗长尾巴。随着索引和数据集的增大,性能会受到影响。我们发现,Cassandra的最终一致性模型对于我们新的Messages基础架构而言很难协调。

换句话说,Facebook不一定只是因为Facebook创造了一项技术就坚持使用这项技术。作为前Facebook工程师 史蒂文·格林(Steven Grimm)的笔记,“ 脸书对于我们使用哪些工具非常务实;当我们决定如何存储某些新站点功能的数据时,Cassandra最初是内部开发的事实并没有给它很大的帮助,除了我们已经拥有内部专业知识的事实会制定有关可维护性的决策等。”

这对Facebook很有帮助,但不一定对 许多公司 从那以后,像Netflix和Cisco这样的卡桑德拉就受到了欢迎。特别是对于主流企业,他们想要Facebook根本无法提供的稳定性元素,因为Facebook不从事支持其开源软件的业务。

对开源公司的持续需求

这就是为什么我们只是在“开源公司”时代的开始而不是结束的原因。对于Facebook或其同行发布的每个重要的开源项目,都会设立公司来提供持续的代码维护和支持。 

尽管宣称“每个公司都必须是软件公司”已经变得陈词滥调,但现实是,大多数公司距离这一目标还有很长的路要走。即使对于在软件开发方面具有核心竞争力的公司,它们也不一定有带宽来承担他们使用的每个开源项目的维护。因此,始终需要专注于支持软件而不只是编写软件的开源公司。

卡桑德拉提供了一个很好的例子,DataStax提供了商业支持并不断开发代码,现在由Apache Software Foundation负责。但是还有许多其他示例,例如在Yahoo!上发布的Hadoop。现在得到了Hortonworks和Cloudera(以及其他)或Lucene(最初由Yahoo!的Doug Cutting开发)的支持。但现在由Elasticsearch,Lucidworks和其他公司支持。

我们正在进入开源的黄金时代。开源驱动着所有最有趣,最大的计算趋势,无论它是运行着世界上大多数智能手机的移动操作系统,支持企业应用程序的云基础架构,还是支撑我们对更多数据,更好的狂热渴望的大数据基础架构了解。尽管许多开源软件将由非软件行业的公司发布,但其本身最好的将得到支持。

Selena Larson的Facebook CEO马克·扎克伯格照片