Google、亚马逊、微软?、阿里巴巴开源软件一览
原标题:Google、亚马逊、微软?、阿里巴巴开源软件一览作者|InfoQ编辑|小智为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑。二是开源能够倒逼工程师写出更好的代码。三是开源能够更有效利用社区的力量,帮助企业一起解决难题。开源,让世界更美好,不是吗?写在前面Google,亚马逊,微软,和阿里巴巴都是体量最大的几个互联网公司,也都是作为云厂商的几个大玩家。 在这几家技术公司的合力推动之下,云计算的时代真正来到了我们身边。优秀的技术公司不会缺少自己的技术思考,这些思考有些深藏在云端,我们难以窥见,但不少也会凝结成开源软件这种最能体现互联网技术创新的人类文明成果,推动整个行业的进步。下面就让我们一起观察这几家公司的重点开源项目,来尝试一探行业未来的风向。如果下文列出的开源项目代码仓库托管在Github平台,本文还会列出该项目的Github Star数,这是评判一个开源项目受关注程度的最好指标。Google重点开源软件列表Google 长期一来一直是开源软件的重要推动力量,自己也靠着开源软件形成的生态维护着国外搜索引擎市场的王者地位。虽然Google开源从去年底陆续传出停止支持ntpd;新开源首页效果酷炫但不友好等一些负面消息,但以其多年的耕耘,Google在开源世界的地位,其他公司一时还仍然难以撼动。开源移动操作系统 Android世界最流行的操作系统,市场占有量甚至超过了Windows。 成功很大程度来源Android操作系统相比竞争对手采用了开源的策略,使得手机制造商能够大量生产基于Android操作系统的手机。项目地址:开源浏览器 Chromium大多数人都听过Google旗下的浏览器Chrome ,但少有人知道Chromium。 事实上Chromium是Chrome的开源版本,几乎所有的浏览器新特性都会首先出现在Chromium上再逐步往Chrome“下放”。由于Chromium的开源属性,几乎所有的国产浏览器里都有着Chromium的开源代码。 Google凭借着Chromium的开源,一举颠覆了IE在浏览器市场的统治地位.项目地址:AI和机器学习 TensorFlowTensorFlow是Google开源的用于机器学习库。用于构建和训练神经网络,编写AI程序。去年横扫人类围棋高手的Google AI程序,就是基于TensorFlow编写的。TensorFlow可以运行在CPU,也可以运行在GPU之上。Github主仓库:Star数:53870开源编程语言 Go发布于2007年的编程语言。Go尝试成为一种在保留住灵活性和性能的同时最大程度去处C系编程语言复杂度的新系统语言。虽然社区里一直有对Go特性不足的抱怨,但创始人坚决认为这对保持这一语言的成功是必不可少的。 Go语言目前主要运用于服务器编程领域。Github主仓库:Star 数:26753前端框架 AngularJSAngularJS是一个用来编写单页Web应用的前端框架。虽然AngularJS的目标是简化Web应用的开发过程,但其自身引入的众多概念带来的复杂性也受不少诟病。Github主仓库:Star 数:22988分布式计算 Protocol Buffers用于不同进程和服务器之间进行数据通信的数据序列化工具。服务器上不同的程序能通过Protocol Buffers来进行通信和分工协作。相比XML和JSON,Protocal Buffers有着更高的性能,但你也不再能仅凭文本编辑器就查看到自己的数据。Github主仓库:Star数:16496开源编程语言 Dart另一个由Google支持的开源编程语言。Dart着力于Web应用,移动App和物联网设备。和Go不同,Dart不是一种编译型语言。它和Python或Java一样运行在自己的虚拟机之上,但也能转换成Java放入浏览器中运行。Github主仓库:Star数:1073操作系统 Fuchsia OS神秘的全新开源操作系统,和之前的Android不同,Fuchsia OS没有基于Linux内核,而是另起炉灶打造里一套更能被Google控制的操作系统内核. Google是准备打造IOT(物联网)领域的新Android,还是仅仅是个试验项目,现在还不得而知。项目地址:微软重点开源软件列表微软,老牌软件巨人。历史上长时期被看成开源世界最大的敌对势力, 微软也曾经把开源旗帜项目Linux称呼为“毒瘤”。时光飞逝,转眼十多年过去,原本一出帝国和起义军对立的经典故事在Web和移动互联网两波技术大潮的洗礼下如今已经面目全非。 Linux成了世界上使用最广泛的操作系统,开源技术成了技术发展的主流。 可帝国也没有陨落,传统强项企业服务成功往云端转移,凭借Azure业务又在公有云计算领域获得高速增长。 曾经口中的“毒瘤”,如今成了爱的对象,更是成了核心产品Windows10的组成部分。 如此可见微软对开源的态度发生了多大的变化。开源IDE Visual Studio Code集成开发环境(IDE)是微软的一个传统强项,虽然和Windows专属版本比起来仍然有一些不足。 但可以支持从Linux到Mac,Windows的Visual Studio Code仍然由于其轻量可扩展的特性获得了社区的追捧。Github主仓库:Star数:25863开源Java扩展 Type微软的开源Java扩展,为Java添加了类型支持。如果你在开发必须使用Java的Web应用而又觉得类型系统不可获取,Type非常值得尝试。Github主仓库:Star数:20849.Net 开源核心类库,运行环境和编译器微软的.Net开发环境和C#语言在编程语言领域一直被认为是功能最为强大和全面的开发平台之一,但长期以来一直只能工作在Windows环境下,极大限制了.Net 在更广大的领域施展身手。随着近年来微软的转型,微软终于下决心对.Net进行了全面的开源。如今.Net的核心类库,运行环境和编译器都已经开源,如今整套.Net环境都可以在Linux,Mac下运行。不知这迟来的开源能否挽回开发者的心呢?Github主仓库:Star数:8037开源Java解释器 ChakraCore微软开源的Java执行环境。自从Chrome横空出时,微软的IE就一直被看成是个低效,笨拙的浏览器,这让微软自己都无法忍受。随着Windows10一起面世的Edge浏览器是微软的洗心革面之作,运行效率得到了极大的提升,多项测试中执行效率甚至超过了Chrome。 ChakaraCore,作为Edge浏览器的Java解释器,是其中的秘密武器。在ChkraCore开源后,原本就火热的Java后端开发领域或许会迎来新的推动力。Github主仓库:Star数:6114开源Linux环境 BashOnWindows以过去微软的视角来看最不可能出现的开源软件。 BashOnWindows 不仅仅能让Bash脚本在Windows上像在Linux环境下一样运行,它甚至带有一个完整的Ubuntu环境,绝大多
Google、亚马逊、微软?、阿里巴巴开源软件一览