2016年开源软件排名TOP50,最受IT公司欢迎的50款开

2019-10-11 05:42 来源:未知

彩民之家论坛9066777 1

2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件

过去十年间,许多科技公司已开始畅怀拥抱开源。许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目。

Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍。此外,88% 的企业表示,它们预计在今后几年,会加大为开源项目贡献代码的力度,66% 表示在考虑专有软件之前先考虑开源软件。

 

这回,我们介绍了最受科技公司青睐的一些开源项目。这些主要是面向企业的应用软件,涵盖大数据、云计算、开发工具、系统管理和版本控制等几大类别。

与往常一样,如果你知道另外哪些工具应该添加到这份名单,欢迎留言交流。

Facebook 将这些设计作为 Open Compute Project 的一部分发布出来,Open Compute Project 现在是一个独立的组织。Facebook 在 2011 年宣布 Open Compute Project 时曾经遭到质疑。尽管那个时候开源软件已经成形,但还不清楚 Facebook 的特殊想法是否对其他公司有用。很快,台湾广达公司开始销售基于 Facebook 设计的电脑,其他公司(包括 Rackspace、微软和苹果)也为这项计划贡献了自己的硬件设计。

大数据

1. Hadoop

  • Apache 主持的这个项目是最广为人知的大数据工具。众多公司为 Hadoop 提供相关产品或商业支持,包括亚马逊网络服务、Cloudera、Hortonworks、IBM、Pivotal、Syncsort 和 VMware。知名用户包括:阿里巴巴、美国在线、电子港湾、Facebook、谷歌、Hulu、领英、Spotify、推特和雅虎。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

2. Hypertable

  • Hypertable 在互联网公司当中非常流行,它由谷歌开发,用来提高数据库的可扩展性。用户包括百度、电子港湾、Groupon 和 Yelp。它与 Hadoop 兼容,提供商业支持和培训。
  • 支持的操作系统:Linux 和 OS X
  • 相关网站:

3. Mesos

  • Apache Mesos 是一种资源抽象工具,有了它,企业就可以鼗整个数据中心当成一个资源池,它在又在运行 Hadoop、Spark 及类似应用程序的公司当中很流行。使用它的企业组织包括:Airbnb、欧洲原子核研究组织(CERN)、思科、Coursera、Foursquare、Groupon、网飞(Netflix)、推特和优步。
  • 支持的操作系统:Linux 和 OS X
  • 相关网站:

4. Presto

  • Presto 由 Facebook 开发,自称是“一款开源分布式 SQL 查询引擎,用于对大大小小(从 GB 级到 PB 级)的数据源运行交互式分析查询。”Facebook 表示,它将 Presto 用于对 300PB 大小的数据仓库执行查询,其他用户包括 Airbnb 和 Dropbox。
  • 支持的操作系统:Linux
  • 相关网站:

5. Solr

  • 这种“快若闪电”的企业搜索平台声称高度可靠、扩展和容错。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、网飞、IBM、Adobe 和 SAP Hybris。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

6. Spark

  • Apache Spark 声称,“它在内存中运行程序的速度比 Hadoop MapReduce 最多快 100 倍,在磁盘上快 10 倍。”Spark“支持”的企业组织包括:亚马逊、百度、Groupon、日立解决方案、IBM、MyFitnessPal、诺基亚和雅虎。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

7. Storm

  • 正如 Hadoop 用来处理批量数据,Apache Storm 用来处理实时数据。官方网站上显示用户包括:天气频道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard 和 Klout。
  • 支持的操作系统:Linux
  • 相关网站:

Facebook 不满足于只是构建可以处理数百万用户的软件,它还设计了用于管理这些数据的计算机和建筑物。

数据库

17. Cassandra

  • 这种 NoSQL 数据库由 Facebook 开发,其用户包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、网飞、Reddit 及其他科技公司。它支持极其庞大的数据集,声称拥有非常高的性能和出色的耐用性和弹性。可通过第三方获得支持。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

18. CouchDB

  • CouchDB 为 Web 而开发,这种 NoSQL 数据库将数据存储在 JSON 文档中,这类文档可通过 HTTP 来加以查询,并用 JavaScript 来处理。Cloudant 现在归 IBM 所有,它提供一款专业人员支持的软件版本,用户包括:三星、Akamai、Expedia、微软游戏工作室及其他公司。
  • 支持的操作系统:Windows、Linux、OS X 和安卓
  • 相关网站:

19. MongoDB

  • MongoDB 是一种 NoSQL 数据库,声称“针对关键任务型部署环境进行了优化”,用户包括 Foursquare、《福布斯》、Pebble、Adobe、领英、eHarmony 及其他公司。提供收费的专业版和企业版。
  • 支持的操作系统:Windows、Linux、OS X 和 Solaris
  • 相关网站:

20. MySQL

  • MySQL 自称是“世界上最流行的开源数据库”,备受众多互联网公司的青睐,比如 YouTube、贝宝、谷歌、Facebook、推特、电子港湾、领英、优步和亚马逊。除了免费社区版外,它还有多款收费版。最新更新版声称速度比老版本快三倍。
  • 支持的操作系统:Windows、Linux、Unix 和 OS X
  • 相关网站:

21. Neo4j

  • Neo4J 自诩为“世界上领先的图形数据库”,用于欺诈检测、推荐引擎、社交网站、主数据管理及更多领域。用户包括电子港湾、沃尔玛、思科、惠普、埃森哲、CrunchBase、eHarmony、Care.com 及另外许多企业组织。
  • 支持的操作系统:Windows 和 Linux
  • 相关网站:

Linux 基金会执行董事 Jim Zemlin 说:“多年来,Facebook 一直是开源的驱动力,与广泛的社区共享了很多关键技术”。基金会有一个专门致力于 GraphQL 发展的组织,GraphQL 是由 Facebook 创建的一种编程语言,用于处理应用程序和服务器之间的通信。

容器

12. Docker

  • Docker 在相对新兴的容器领域迅速确立起了主导平台这一地位。科技界的许多大牌公司在构建或提供扩展或使用 Docker 技术的产品,包括亚马逊、微软、IBM、惠普企业、红帽、Rackspace 和 Canonical。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

比如,React 和 ComponentKit 等最初都只是个别工程师自发开始的项目。在使用过程中,有些工程师认为已有的工具不够完美,于是就有了创建更加好用工具的想法。然而,作为个人的一些奇思妙想,很多项目在最初是与当时工程团队所认为的主流发展方向背道而驰的。以 React 为例,该项目目标为构建反应式图形界面的 JavaScript 库,在 2013 年正式开源。React 直接挑战了 Facebook 当时认定的其他 JavaScript 框架。因此,在开源之初,React 项目受到了 JavaScript 社区的嘲笑。很多人认为 React 库把视图和逻辑混了起来,而且与已有框架相比它的代码冗长。甚至内部开始运行的头几个月,Facebook 内部很多工程师也都不看好该项目。

内容管理

13. DNN

  • 这款内容管理解决方案之前名为 DotNetNuke,承诺构建丰富的交互式网站时,只要花较少的精力,就能收到显著的成效。用户包括佳能、时代华纳有线电视、德州仪器和美国银行。
  • 支持的操作系统:Windows
  • 相关网站:

14. Drupal

  • Drupal 声称,98000 多个开发人员在为这个极其流行的内容管理系统积极贡献代码。支持者包括微软、Zend、Fastly 和 New Relic,其内容市场有数百家公司参与其中,它们提供了相关的产品和服务。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

15. Joomla

  • Joomla 为数百万个网站提供平台,其下载量超过了 5000 万人次。许多用户当中就有这些公司:电子港湾、巴诺书店、MTV 和标致。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

16. MediaWiki

  • MediaWiki 以维基百科使用的软件而出名,它还为百度、Vistaprint、Novell、英特尔和美国宇航局支持网站。它是构建可编辑网页的不错选择,许多企业组织用它来构建内部知识库。
  • 支持的操作系统:Windows、Linux/Unix 和 OS X
  • 相关网站:

Facebook 并不是第一家为使用 Web 技术构建移动应用程序提供工具的公司,也不是第一家为开发 Web 应用程序提供开源库的公司。咨询公司 Rightpoint 首席创新官 Greg Raiz 表示,将这两种想法结合起来才是一个完整的故事,才是一个完整的拼图。

中间件

33. JBoss

  • 红帽的 JBoss 中间件包括各种轻量级、对云计算友好的工具,同时结合、集成和自动化各个企业应用程序和系统。用户包括:橡树岭国家实验室、日产、思科、冠群科技、AMD 及其他公司。
  • 支持的操作系统:Linux
  • 相关网站:

Facebook 近年来在人工智能研究方面投入了大量资金,以便更好地利用他们的数据,并且已经发布了一些相关的工作成果。2015 年,Facebook 开放了一些人工智能算法实现,用在一个叫作 Torch 的人工智能平台上,差不多是在谷歌开放其人工智能引擎 TensorFlow 的前一年。数据科学家 Jeff Hale 的一项分析显示,Facebook 继续为 Torch 的变种 PyTorch 提供开发资金,PyTorch 现在是第三大最受欢迎的人工智能框架。

存储

38. FreeNAS

  • 这款开源网络附加存储(NAS)软件声称,它备受联合国、迪士尼互动媒体集团、路透社和 Dr. Phil 等用户的“喜爱”。它可以安装到几乎任何硬件上,而 TrueNAS 提供的预先构建的设备就基于该技术。
  • 支持的操作系统:FressBSD
  • 相关网站:

39. Gluster

  • Gluster 是一种可高度扩展的网络文件系统,适合云计算环境。红帽提供一款基于该技术的收费产品,用户包括卡西欧和 Intuit。
  • 支持的操作系统:Linux
  • 相关网站:

40. Lustre

  • Lustre 是另一种可高度扩展的文件系统,旨在支持高性能计算(HPC)环境。一些最早采用它的用户包括美国的几大国家实验室:劳伦斯·利物莫尔国家实验室、桑迪亚国家实验室、橡树岭国家实验室和洛斯阿拉莫斯国家实验室。
  • 支持的操作系统:Linux
  • 相关网站:

在第一个十年里,Facebook 被使用最为广泛的开源贡献是这些基础设施。Netflix 可能使用 Cassandra 来管理用户信息,但这并不意味着你会在 Facebook 网站上直接与 Facebook 的代码发生交互。这种情况在 2013 年开始发生变化,Facebook 发布了 React,一个开放源代码的“库”,Facebook 和很多其他公司用它来构建看起来像原生应用程序的 Web 界面。

Web 服务器

49. Apache HTTP Server

  • Apache 至今已有 20 年多的历史,专利是自 1996 年以来互联网上最受欢迎的 Web 服务器系统。据 W3Techs 声称,目前所有网站中 55.3% 是由 Apache 支持的。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

50. Nginx

  • Nginx 的人气也极旺,它被互联网上所有网站中的大约四分之一所使用。除了俄罗斯许多访问量很大的网站外,用户还包括网飞和 WordPress.com。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

Jonathan Ellis 说:“他们不只是翻版了谷歌和亚马逊所做的东西,他们还做了一些不一样的事情”。Jonathan 曾经是 Rackspace 的员工,随后在 2010 年共同创立了 DataStax,一家为企业客户提供 Cassandra 支持的公司。DB-Engines 网站的数据表明,Cassandra 现在是世界上排名第 11 位的数据库。Apple、Netflix、Instagram 和 Uber 都是这个项目的用户和贡献者。Facebook 也是开源数据处理平台 Hadoop 的早期贡献者。Hadoop 几乎成了大数据的代名词。Hadoop 的早期开发大都是基于谷歌发布的论文,由雅虎完成。但 Facebook 是雅虎以外首批采用 Hadoop 并为该平台贡献额外工具的公司之一。Hadoop 催生了多家创业公司,如 Cloudera,由前 Facebook 研究科学家 Jeff Hammerbacher 共同创立。

操作系统

34.  红帽企业版 Linux

  • 红帽最知名的产品就是其旗舰 Linux 发行版,这需要付费订购。据该公司声称,《财富》全球 500 强公司中超过 90% 在使用红帽产品。
  • 相关网站:

35. SUSE Linux 企业版

  • 这款面向企业的 Linux 发行版同样备受大企业的追捧,它也需要付费订购。该公司声称,它有 13000 多个企业用户,包括伦敦证券交易所、SAP、天睿(Teradata)和沃尔格林连锁药店(Walgreens)。
  • 相关网站:

36. Ubuntu

  • Ubuntu 提供广受欢迎的 Linux 发行版,有多个版本:桌面版、服务器版、云版、手机版、平板电脑版和物联网版。声称用户包括亚马逊、IBM、维基百科和英伟达。
  • 相关网站:
  • 共享 Facebook 的代码(通常是软件“栈”,偶尔也包括硬件设计)促进了这个世界的创新。这些代码帮助他人更快地开发软件。因为 Facebook 不是一家软件公司,所以它在开源过程中没有面临竞争对手的威胁,相反,开源带来的价值在逐渐显现。用户使用 Facebook 的开源代码可以更快地构建应用,而他们也乐于回馈代码,使 Facebook 从中受益。

  • 拥抱开源,意味着 Facebook 必须一开始就写出更优秀的软件。如果他们知道某个软件从诞生起就要公开,那就必须要好好做,提高可用性和可靠性,因为将来外面的人都会用它。这种压力也会给公司内部带来更多的价值。

  • 开源带来了共享挑战的机会。开源项目面临的难题会吸引一些外部的优秀人员,而结果是,他们也带动了公司内部人员的能力提升。每天 Facebook 都承载了超过一亿人的沟通互联,何以能做到?唯有开源的力量。

版本控制

45. Bazaar

  • Bazaar 由 Canonical 管理,被许多开源项目所使用,包括 Ubuntu、 GNU 基金会、Linux 基金会、MySQL、Bugzilla、 Debian 和 Maria DB。它简单易学,支持任何工作流程和工作区间模式,承诺存储效率很高、速度很快。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

46. Git

  • 这个版本控制系统已变得极受欢迎,这一方面归功于 GitHub 服务的使用日益广泛。使用它的公司和项目包括:谷歌、Facebook、微软、推特、领英、网飞、Perl、PostgreSQL、安卓、Rails、QT、Gnome 和 Eclipse。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

47. Mercurial

  • Mercurial 是一种分布式源代码控制管理工具,专注于帮助团队更轻松、更快速地协同工作。用户包括 OpenJDK 和 NetBeans 等各大项目。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

48. Subversion

  • 这个企业级版本控制系统得到 Apache 的支持,首次发布于 2000 年。使用它的企业组织包括 Apache 软件基金会自己、Hobby Lobby、Mono、Plone 和 GNU Enterprise。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

编程教育网站 FreeCodeCamp 创始人 Quincy Larson 表示:“在 2015 年,我突然发现旧金山的朋友们开始放弃 jQuery 和 Angular,转向了 React,他们对此非常笃定。”

系统管理工具

41. Ansible

  • Ansible 现在归红帽所有,它自称是“一种异常简单的 IT 自动化引擎,可以使云服务配置、配置管理、应用程序部署、服务内部的编排以及其他许多 IT 操作实现自动化。”使用它的科技公司包括:思科、瞻博网络、Evernote、推特、威瑞信、GoPro、EA Sports、Atlassian 和韦里逊。它既有免费版,也有收费版。
  • 支持的操作系统:Linux
  • 相关网站:

42. Chef

  • 作为另一款自动化工具,Chef 支持开发运维方法,同时改善了速度、协作和安全性。拥有免费版和收费版。官方网站上显示用户包括:塔吉特(Target)、诺德斯特龙(Nordstrom)、Facebook、Etsy、IGM、雅虎和彭博社。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

43. Hudson

  • Hudson 在使用敏捷和开发运维方法的企业当中很流行,它是一种可扩展的持续集成服务器系统,可以监控重复作业的执行。这个项目得到了 Eclipse 基金会、甲骨文、Atlassian 和 YourKit 的支持。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

44. Puppet

  • Puppet 号称“使用最广泛的开源 IT 管理系统”,它包括 40 多个基础设施管理方面的开源项目。除了开源版本外,它还有一款收费的企业版本。它声称,用户包括 25000 多家企业,比如迪士尼、沃尔玛、1-800-Flowers.com、Heartland Payment Systems、盖蒂图片社(Getty Images)和 Yelp。
  • 支持的操作系统:Windows、Linux、Unix 和 OS X
  • 相关网站:

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

云计算

8. Cloud Foundry

  • Cloud Foundry 提供用于构建平台即服务的开源工具。它声称“由行业领袖为行业领袖构建”,其支持者包括 IBM、 Pivotal、惠普企业、VMware、英特尔、SAP 和 EMC。
  • 支持的操作系统:Linux
  • 相关网站:

9. CloudStack

  • 这个交钥匙 IaaS 解决方案构成了许多公共云和私有云的基础。它的用户极多,包括阿尔卡特-朗讯、苹果、Autodesk、英国电信、冠群科技、思杰、Cloudera、戴尔、富士通、SAP 和韦里逊。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

10. OpenStack

  • 这种很受欢迎的云计算平台声称,“世界上成百上千个大品牌”每天依赖它。支持者包括:AT&T、Ubuntu、惠普企业、IBM、英特尔、Rackspace、红帽、SUSE、思科、戴尔、EMC、赛门铁克及另外许多知名科技公司。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

11. Scalr

  • 这种云管理平台备受市场研究公司的好评,它简化了管理多个云环境的过程。知名用户包括 Expedia、三星、美国宇航局喷气推进实验室、埃森哲、索尼和 Autodesk。
  • 支持的操作系统:Linux
  • 相关网站:

Mark Zuckerberg 选择开源是因为 Facebook 的黑客社区吗?还是因为 Facebook 所感受到的社会责任吗?这些都是真的,但都不是这家公司走上开源之路的真正原因。

项目管理

37. Project Libre

  • 这个屡获奖项的项目是微软 Project 的替代者,下载量已有近 200 万人次。它有一大批用户,包括 IBM、埃森哲、美国能源部、思科、ATI 和 AMD。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

Facebook 并不是第一家推出这类数据库的公司。亚马逊和谷歌也都发表了他们自己的分布式数据库论文,但他们都没有真正公开过他们的代码。Facebook 工程师 Avinash Lakshman(曾参与亚马逊论文的撰写)和 Prashant Malik 将亚马逊和谷歌论文的想法结合在一起,创建了 Cassandra。然后,在 2008 年,他们公开了代码。很快,它就被其他公司采用,例如云计算公司 Rackspace。

开发工具

22. Bugzilla

  • Bugzilla 是开源社区的宠儿,用户包括 Mozilla、Linux 基金会、GNOME、KDE、Apache、LibreOffice、Open Office、Eclipse、红帽、Novell 及其他公司。这款软件缺陷追踪系统(bugtracker)的重要功能包括:高级搜索功能、电子邮件通知、预定报告、时间追踪、出色的安全及更多特性。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

23. Eclipse

  • Eclipse 项目最为知名的是,它是一种大受欢迎的面向 Java 的集成开发环境(IDE),它还提供面向C/C 和 PHP 的 IDE,此外提供另外一大批开发工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、红帽和 SAP。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

24. Ember.js

  • 这种框架用于“构建野心勃勃的 Web 应用程序”,旨在为 JavaScript 开发人员提高工作效率。官方网站上显示用户包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、网飞、Heroku 和微软。
  • 支持的操作系统:与操作系统无关
  • 相关网站: 

25. Grunt

  • Grunt 是一种 JavaScript 任务运行工具,有助于自动处理重复性的开发任务。使用它的知名科技公司包括:Adobe、推特、Mozilla、Cloudant 和 WordPress。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

26. LoopBack

  • 这个 Node.js 框架旨在让用户很容易构建 REST API,并连接到后端数据存储区。知名用户包括 GoDaddy、美国能源部和赛门铁克。
  • 支持的操作系统:Windows、Linux、OS X、安卓和 iOS
  • 相关网站:

27. Node.js

  • Node.js 的成名之处在于,它让开发人员可以使用 JavaScript,编写服务器端应用程序。开发工作之前由 Joyent 管控,现在交由 Node.js 基金会监管。用户包括 IBM、微软、雅虎、SAP、领英、贝宝和网飞。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

28. PhoneGap

  • Apache Cordova 是一种开源框架,让开发人员可以使用 HTML、CSS 和 JavaScript 等 Web 技术,构建移动应用程序。PhoneGap 是最受欢迎的 Cordova 发行版。使用某一种 Cordova 发行版的科技公司包括:维基百科、Facebook、 Salesforce、IBM、微软、Adobe 和黑莓。
  • 支持的操作系统:Window、Linux 和 OS X
  • 相关网站:

29. React Native

  • React Native 由 Facebook 开发,这种框架可用于使用 JavaScript 和 React JavaScript 库(同样由 Facebook 开发),构建原生移动应用程序。其他用户包括:《探索》频道和 CBS 体育新闻网。
  • 支持的操作系统:OS X
  • 相关网站:

30. Ruby on Rails

  • 这个 Web 开发框架在开发人员当中极其流行,它声称“为确保编程员满意和持续高效地工作进行了优化”。用户包括 Basecamp、推特、Shopify 和 GitHub 等公司。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:

31. Sencha Touch

  • Sencha Touch 自称是“一种用于构建通用移动应用程序的领先的跨平台移动 Web 应用程序框架,基于 HTML5 和 JavaScript”。它既有开源许可证版本,也有商业许可证版本。据官方网站声称,《财富》100 强中 60% 使用它。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

32. ZK

  • 索尼、Sun、IBM、Adobe、电子港湾、富士通、梦工厂和优利系统等公司使用这种 Java Web 框架来构建 Web 和移动应用程序。提供收费支付及相关工具。
  • 支持的操作系统:与操作系统无关
  • 相关网站:

Facebook 对计算社区的第一个重大贡献是 Cassandra,这是一个可以扩展到数百甚至数千台服务器的数据库系统。

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

Facebook 是 Github 上排名靠前的开源公司。Facebook 每个月都会发布数个开源项目,并且有数百个工程师会持续地支持这些项目——他们参与全世界的各个开源社区,改进软件的体验。但是,Facebook 究竟为何要使用、支持和发布开源项目?这个问题比探究 Faceboot 如何做开源更有意思。

然而,Facebook 公司却不这么认为。与平常项目相比,React 等项目风险更高,失败的概率也比较高。但是,Facebook 不仅仅是允许,甚至鼓励员工进行这样的实验。其实,Facebook 更看重的是 React、ComponentKit、HHVM、GraphQL、Immutable.js、Flow、Pop 或者 AsyncDisplayKit 等这样成功案例所带来的好处。作为全球最大的社交网站,Facebook 能够负担、也情愿负担这些实验的风险,从而获得更大的收益。

在过去的 15 年中,Facebook 改变了我们与朋友保持联系的方式,改变了我们与家人发生争执的方式,改变了我们对隐私的看法,改变了我们消遣俄罗斯政治宣传的方式。同时,Facebook 也改变了计算方式。从 Netflix 到 Uber 再到沃尔玛的网站,我们每天使用的很多应用程序和服务都是使用由 Facebook 开发和共享的技术构建的。

今天,Facebook 正在与爱立信和德国电信等公司合作 Telecom Infra Project 项目,帮助他们建立新的电信开源基础设施,包括一个叫作 ARIES 的远程天线系统和一个叫作 Terragraph 的用于连接无线电塔的系统。

在这个过程中,Facebook 提出了一些不同寻常的想法,从使用室外空气而不是工业冷却系统的“露天”数据中心,到能够让你快速交换处理器和其他组件的“模块化”服务器。

这可能与 2015 年 React Native 的发布有关。React Native 使开发人员能够使用 React 为 Android 和 iOS 构建原生应用程序,这意味着他们可以为 Web 和移动应用程序使用同一套代码。

另外一方面,无论是个别部门,还是绝大部分的 Facebook 员工都认同一个理念——创新和突破不能随着产品而停止。因此,React、ComponentKit、HHVM 等这样的项目才能在相关工程师的推动下一步步成长,渐渐拥有独立的社区,并改变很多人思考和开发软件的方式。

最后,对于 Facebook 公司而言,“开源”对其意义非凡。很多工程师都是因为对个别项目有兴趣,然后才申请加入 Facebook 的。甚至 Facebook 内部,员工也会根据兴趣或者项目需求,而进行跨组调动等。通过开源,Facebook 吸引一批优秀的人士加入项目。然后,项目做的越好,也越能吸引到更优秀的人士加入。通过如此反复,Facebook 的开源项目必然更加成功。

当 Facebook 发展到需要为数百万甚至是数十亿的用户提供服务时,它必须开发一些工具,从能够处理海量用户信息的数据存储软件到托管这些数据库的数据中心的硬件设计。近年来,Facebook 创建了一些新的构建 Web 和移动应用程序界面的方式。关键的是,Facebook 并没有将这些东西留给自己独享,而是将它们开源出来,让所有人都可以使用、修改和分享它们。

此外,这些项目都遭受到了来自内部的反对声音。出于多种因素考虑,有些人总是希望项目能够早日承认失败。但是,Facebook 良好的工程管理理念以及一批优秀的工程管理人员能够帮助屏蔽这些声音。无论外部环境如何,这些管理者能够坚持相信自己的工程师,让项目稳步推进。

React 花了一些时间才流行起来,近年来已经成为构建“前端”应用程序方面是有最为广泛的一个库,超越了谷歌的 Angular 框架。Airbnb、Netflix 和沃尔玛都使用了 React。

由于 Facebook 的开放性,它的很多技术已成为行业标准。Airbnb 技术负责人 Adam Neary 说:“Facebook 不仅在构建服务器的方式方面发挥了巨大作用,在浏览器和移动开发方面也发挥了巨大作用。整个生态系统都是由 Facebook 开源的技术在推动。”

通过以上分析可以看出,Facebook 这些项目的设立不仅满足了工程师对工具的需求,也符合了公司发展的需求。这些大胆创新的背后是 Facebook 公司对技术迅速发展和完善的渴望。其实,Facebook 第一位华人工程师赵海平之前也分享了类似的想法。他认为 Facebook 能够快速发展包括了公司用于创新和尝试的 Hack 文化、避免相互依赖的去中心化研发思路、善于争辩的员工思维方式以及一批优秀的员工。正是这多方面、从上而下的公司氛围与文化成就了 Facebook。也许,这些正是国内的科技公司门值得学习的地方。

版权声明:本文由彩民之家高手论坛发布于编程技术,转载请注明出处:2016年开源软件排名TOP50,最受IT公司欢迎的50款开