ITValue社区

Google、Facebook、Apple 对开源做了哪些贡献?

作者:ITVALUE / 日期:2014-02-24

开源的核心是自由而非免费,定制化可以满足更多企业的个性化需求,并使开发周期大大缩短。与国外相比,国内的开源社区存在参与度不高的问题,但不可否认开源已经由 Linux 等厂商主导转为互联网公司唱主角。这是因为互联网公司已经有足够的能力,不靠开源赚钱,而是以开源为生态,培育增值服务、运营服务等推动这项事业前进。

【Google】

Android 是 Google 第一个免费、开源而且可完全自定义的移动平台,但 Android 仅仅是 Google 开源的其中之一。Google 是支持开源运动的最大公司之一,它们现在总共发布有超过 500 个的开源项目(大部分都是利用它们的 API 来完成)。谷歌已经发布了超过 20 万行代码,并在 900 个项目。许多工程师是全职工作进行开源项目研究,还会自己 20%的时间来创建新的项目和自己细化的项目。

Google 的开源项目里面,包括操作系统(Android,基于 Linux),浏览器(Chromium,之前基于 Webkit 现在 fork 为 Blink),编程语言(Go, Dart),JavaScript VM(V8),代码审查工具(Gerrit),虚拟机/集群管理工具(Ganeti,lmctfy),数据库(LevelDB),OCR 和条形码(Tesseract, ZXing),视频编码(WebM),前端框架和工具(Angular, Polymer, Closure, GWT)...

【Facebook】

Facebook 正在“领导”一场与企业硬件制造方式有关的革命。Facebook 曾启动“开放计算项目”简称“OCP”,开发“开放源代码”数据中心硬件产品。这意味着惠普、戴尔和思科等传统硬件厂商,失去了对硬件产品设计的控制能力。

由于客户就是设计师,与传统厂商的产品相比,OCP 的硬件使用的元器件更少,成本更低,性能更高。OCP 的产品是开放源代码项目,任何人都能帮助设计产 品,OCP 也向第三方免费开放产品设计。企业可以使用、修改 OCP 的产品设计,并交由代工制造商生产。OCP 项目已经催生多款革命性的硬件产品。开放机架是 OCP 的首批硬件产品之一。

从范畴来看,Facebook 主要集中在服务器这方面。Facebook 对 Apache 的很多开源项目有贡献,包括 Cassandra, Hive, Hadoop 和 Hbase。其他贡献的项目包括 memcached,MySQL 和 Varnish。在数据这方面 Google 完全是自己的一套系统,所以在对这一类项目的贡献上 Facebook 更活跃一些。

另一方面,Google 自发布 Chrome 起一直是 Webkit 的主要贡献者,而在 Webkit comitters 名单里没有 facebook 的雇员;Linux 内核贡献 2013 排名 Google 爬升到第 8,Facebook 具体排名不清楚,但未进前 10。

Facebook 的开源项目有代码审核/重构工具(Phabricator, codemod),PHP 语言 VM 和大量的 PHP 相关工具(HipHop, 等等...),Python web 框架(Tornado), 前端框架(React),日志管理(Scribe),Linux 缓存模块(flashcache),rpc 胶水语言 (Thrift)。

【Apple】

苹果的开源项目不多,但是贡献了几个有革命性意义的项目。WebKit 虽然不是苹果创建的,但苹果为此做了相当多的工作,后来 Google 也加入进来,拿它做了 Chrome。

苹果贡献的另一个开源项目 LLVM,整个扭转了编译器市场的格局。从一个 C++程序员的角度来说是真正的神器。不管是兼容 C++标准,还是编译速度,目标代码优化,尤其是和 IDE 的整合能力,LLVM/Clang 都是目前总体最优秀的 C family 实现。以前苹果的编译环境是落后于微软的,但现在已经一举反超。

Google Research 粗略统计有关开源的近千篇论文,Facebook Research 总计不到 100 篇。可以说 Google Research 产出了大数据研究的一些最重要的文献:BigTable, MapReduce, GFS, Spanner... Hadoop 基本上就是在 MapReduce 和 GFS 的论文影响下诞生的。Facebook 的研究文献,但从数量和影响力上来说都远不如 Google。(张宇婷编辑自知乎、cnBeta 等)

以下是关于苹果、微软、Google 和 Facebook 开源的网站:

Apple: Apple-Open Source

Microsoft: Microsoft||Open Source

Google:Open Source Projects Released By Google

Facebook: https://developers.facebook.com/opensource/

推荐阅读