Facebook开源的真正原因

标签: 业界观察 | 发表时间:2015-09-01 11:40 | 作者:techug
出处:http://www.vaikan.com

在OSCON的第三天,来自Facebook的James Pearce带来了一场主题演讲,我也有幸在场。

Pearce解释了Facebook为何大规模开源其软件。他告诉我们,Facebook每个月都会发布数个开源项目,并且有数百个工程师会持续地支持这些项目——他们参与全世界的各个开源社区,改进软件的体验。

但是,Facebook究竟为何要使用、支持和发布开源项目?这个问题比探究Faceboot如何做开源更有意思。

Pearce大可以带我们回顾一下历史性的那一天,Mark Zuckerberg坐在宿舍房间里,选择了LAMP作为Facebook的基础;他大可以跟我们说说Facebook的黑客社区;他也大可以侃侃Facebook所感受到的社会责任,但他没有这么做。这些都是真的,但都不是这家公司走上开源之路的真正原因。

真正原因到底是什么?对公司有利,仅此而已,Pearce说道。

他的这个论断,一般人可能难以得其要领——我整个教学生涯也一直为这个问题所困扰——但Pearce提出了以下几个很棒的理由来解释从事开源的原因:

  • 共享Facebook的代码(通常是软件“栈”,偶尔也包括硬件设计)促进了这个世界的创新。这些代码帮助他人更快地开发软件。因为Facebook不是一家软件公司,所以它在开源过程中没有面临竞争对手的威胁,相反,开源带来的价值在逐渐显现。用户使用Facebook的开源代码可以更快地构建应用,而他们也乐于回馈代码,使Facebook从中受益。
  • 拥抱开源,意味着Facebook必须一开始就写出更优秀的软件。如果他们知道某个软件从诞生起就要公开,那就必须要好好做,提高可用性和可靠性,因为将来外面的人都会用它。这种压力也会给公司内部带来更多的价值。
  • 开源带来了共享挑战的机会。开源项目面临的难题会吸引一些外部的优秀人员,而结果是,他们也带动了公司内部人员的能力提升。每天Facebook都承载了超过一亿人的沟通互联,何以能做到?唯有开源的力量。

Facebook的GitHub账户有274个代码库,收到了39000次fork、提交了79000个commit,并且拥有242000个关注者。他们开源的这些项目可不是黑客聚会上随便想出来的点子,或者实习生练手的代码。这些工具都是Facebook在产品中使用的。Facebook 只会拿他们真正在用的代码来开源——这样,人们才会相信Facebook提供的代码有价值,并且会得到持续的维护。仔细审视这些产品,Facebook的工作方式就会在你眼前呈现。

Facebook的开源办公室只有两个员工,所以开源项目团队的工作必须高效,他们需要自己去收集数据来判断项目的当前状态。他们大量使用GitHub的API去获取尽可能多的数据,每分钟都在获取。然后他们把这些数据收集起来实时地共享,并且每个月会做个月报。这给工作带来了些许刺激的趣味,开发人员们可以互相竞赛,看谁的项目表现更好。尽管被成功的光环笼罩,Facebook总是力求做得更好。这就是为什么Facebook要加入ToDo,这就是为什么Facebook要参加今年的OSCON。

相关 [facebook 开源 原因] 推荐:

Facebook开源的真正原因

- - 外刊IT评论
在OSCON的第三天,来自Facebook的James Pearce带来了一场主题演讲,我也有幸在场. Pearce解释了Facebook为何大规模开源其软件. 他告诉我们,Facebook每个月都会发布数个开源项目,并且有数百个工程师会持续地支持这些项目——他们参与全世界的各个开源社区,改进软件的体验.

Facebook 开源 Detectron

- - 最新更新 – Solidot
Facebook 在 Apache 2.0 许可证下 开源了它的目标识别平台 Detectron, 源代码托管在 GitHub 上. Detectron 用 Python 开发,基于 Caffe2 深度学习框架. Facebook 同时公开了超过 70 个预先训练的模型. Detectron 项目始于 2016 年,实现了一系列最新的目标识别算法如 Mask R-CNN,该软件平台在社交巨人的视觉感知系统的进步上扮演了重要角色.

不投资Facebook 的10大原因

- - 译言-投资/理财/创业
如果你是罗伯特·思科伯(Robert Scoble)的追随者,你可能相信Facebook在2015年将达到5000亿的资产,但并不是每一个人都和罗伯特·思科伯一样坚信社交网络的价值特别是当它走向公众化的时候. 金融专家、专业从事财资顾问及退职保障者罗布·布莱克(Rob Black)提供以下数据:. 1.以月/天为单位的用户活跃度的减少.

Facebook开源闪存数据库RocksDB

- - IT经理网
本周四Facebook宣布开源其嵌入式数据库 RocksDB(一种嵌入式Key-value存储系统),该数据库能够充分利用闪存的性能,大大提升应用服务器的速度. Facebook用RocksDB来驱动一些面向用户的应用,这些应用由于需要通过网络访问外部存储而性能低下,此外Facebook还用RocksDB来解决固态硬盘IO利用率不高相关的一些问题.

Facebook放弃HTML5转战原生应用的4个原因

- - ITeye资讯频道
前段时间, Facebook推出原生iOS应用,响应速度较之旧版有了大幅提升,一时之间引起了业界的广泛关注. 不过人们关注的并不是因为原生应用本身有多好多快,而是扎克伯格那句“ Facebook 的应用完全依赖 HTML5 是最大的错误,导致浪费了 2 年宝贵的时间,将来要改为原生应用”的言论. 业内普遍认为,基于HTML5的Web版Facebook用户体验比较差,是因为Facebook没有充分利用好HTML5的优势,而并非HTML5本身有多糟糕.

Facebook网站所使用的开源软件一览表

- dylan - ITeye资讯频道
Facebook是全球首屈一指的社交网络平台,该网站采用了很多开源软件,Facebook采用的编程语言包括:Java, Ruby, PHP, Python, Objective-C. 下面是Facebook正在使用或者贡献的开源软件详细列表和介绍:. Apache Cassandra是一套开源分布式Key-Value存储系统.

红帽CEO:没有开源就没有谷歌和Facebook

- 幻幽 or A書 - cnBeta.COM
美国科技博客BusinessInsider近日对红帽CEO吉姆・怀特赫斯特(Jim Whitehurst)进行了采访,怀特赫斯特称,如今开源应用几乎无处不在,科技公司、银行和股票交易所等都是使用. 没有开源,谷歌和Facebook根本不可能继续存在.

2013 年 Facebook 在开源方面的工作回顾

- - 博客 - 伯乐在线
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就已经是我们工程哲学中的一个重要的部分. 现在,我们使用、维护并为大量的主要项目做出了贡献——涉及多种领域如手机工具、大数据系统、客户端的web库、后端的运行库和基础架构,也涉及到开放计算项目,服务器和存储硬件.

Presto 来自Facebook的开源分布式查询引擎

- - 标点符
PrestoDB 来自Facebook的开源分布式查询引擎. Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析. 它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions). 下图中展现了简化的Presto系统架构.

2015年,Facebook排名前5的开源项目

- - CSDN博客推荐文章
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/01/facebook-open-source-projects. Facebook坚信开源的力量. 当社区集合起来编写代码时,其好处是不可估量的. 有人能指出问题所在,同时解决方案也会很快跟进.