微软、⾕歌、亚马逊、Facebook等硅⾕⼤⼚91个开源软件盘点
(附下载地址)
开源软件中有⼤量专家构建的代码,⼤⼤节省了开发⼈员的时间和成本,热衷于开源的⼤⼚们总是能够带给我们新的惊喜。2016年9⽉GitHub报告显⽰,GitHub已经有超过 520 万的⽤户和超 30 万的组织。这⼗⼆个⽉以来,有超过 81 万的⼈发起了⼈⽣第⼀个 PR,更有280 万⼈创造了他⾃⼰的第⼀个仓库,⽽中国,成为新注册增长最多的国家。
Facebook开源项⽬负责⼈曾说过:
⼀是开源能够帮助他⼈更快地开发软件,促进世界创新,主要是社会价值层⾯的考虑。⼆是开源能够倒逼Facebook的⼯程师写出更好的代码。三是开源能够更有效利⽤社区的⼒量,帮助Facebook⼀起解决难题。开源,让世界更美好,不是吗?
国内外很多国家都为开源做出了很⼤的贡献,⼩编也秉着“开源”的⼼态,整理了13个公司的开源软件,这13个公司分别是微软、Google、亚马逊、IBM、VMware、Facebook、Twitter、ebay、腾讯、阿⾥、百度、美团点评、华为等。分两篇⽂章和⼤家共享,快点Mark起来并转发给需要的⼈吧。
微软开源软件
1、Visual Studio Code:跨平台源代码编辑器
Visual Studio Code是微软于2015年正式发布的项⽬,可以运⾏在Mac OS X、Windows和Linux之上,⾯向Web和云应⽤的⼀款跨平台源代码编辑器。
虽然它的名字与Visual Studio相近,但前者是代码编辑器,后者是集成开发环境(IDE)并且⽬前只运⾏在Windows上。
GitHub主页:
2、CNTK: 深度学习开源⼯具包
CNTK全称为The Microsoft Cognitive Toolkit, 将神经⽹络描述为计算机可处理的有向图,有向图的叶节点表⽰输⼊值或⽹络参数,其他节点表⽰输⼊对应的矩阵运算。CNTK便于实现并且也结合了很多流⾏计算模型如前馈DNN,卷积⽹(CNN)和复现⽹络(RNN / LSTM)。它可以跨多个GPU和服务器实现随机梯度下降(SGD,误差反向传播)学习与⾃动微分和并⾏化。
可以在Python或者C++语⾔中如同库版应⽤,也可以使⽤其⾃有的描述语⾔BrainScript单机化使⽤。CNTK可适⽤于64位的Linux和Window,于2015年4⽉开源。
GitHub地址:
3、TypeScript:开源编程语⾔,JavaScript的超集
TypeScript是JavaScript强类型的超集,可以编译成纯JavaScript。由微软开发的⾃由和开源的编程语⾔,可以运⾏在各类浏览器和操作系统之上。
GitHub主页:
4、Azure相关:⽂档、SDK和代码⽰例
微软⽀持开发者们将各种开源软件⼯具和技术带⼊Azure。Azure 应⽤市场⽀持很多Linux 分发,包括 Ubuntu、Debian 和 SUSE;也⽀持借助⽀持 Node.js、PHP、Python 和 Java 的 Azure 应⽤服务,⽣成 Web 和移动应⽤。在GitHub上Azure相关的存储库有1700+个。
5、BashOnWindows:解决Ubuntu Bash在Windows的使⽤问题
微软在Build 2016⼤会上宣布了⼀条振奋⼈⼼的消息,⼤家惊呼Ubuntu on Windows。Bash on Windows 为开发者们提供了Bash shell、Linux类似环境,在不需要Linux虚拟机的情况下,⼤部分的Linux命令⾏⼯具基本上可以不经修改地运⾏在Windows上。
GitHub地址:
6、Donnet:采⽤系统虚拟机运⾏的编程平台
.NET是微软研发的XML Web services平台,此框架⽀持多种语⾔(如C#、F#、VB.Net、C++、Python等)的开发。.NET框架历经亟待,最终于2014年开源。C#通常被认为是微软专属,是.NET框架上最常⽤的编程语⾔之⼀,其著名竞争对⼿是Java。
GitHub主页:
7、PowerShell :为任何系统提供Windows的命令⾏⼯具
⼀个跨平台(Windows、Linux和macOS)⾃动化和配置⼯具/框架,可与现有⼯具完美配合,并优化⽤于处理结构化数据(例如
JSON,CSV,XML等)、REST API 和对象模型。它包括命令⾏shell,相关的脚本语⾔和⽤于处理cmdlet的框架。
GitHub地址:
8、MSOpenTech/redis:在Windows使⽤Redis
官⽅只⽀持64位,可⾃⾏构建32位版。该开源项⽬,在2.8版本中,替代UNIX fork()API中的内存映射⽂件模拟写时复制⾏为。版本3.0类似,为了便于系统⽂件分页,删除了内存映射⽂件,在管理堆碎⽚⽅⾯进⾏了改进。
Redis对⽂件描述符的值做了⼀些假设,微软构建了⼀个虚拟⽂件描述符映射层。
GitHub地址:
9、WinObjc:Windows下的Objective-C
为Visual Studio提供了⼀个Objective-C开发环境并⽀持iOS API。通过重新使⽤Objective-C代码和iOS API,配以Windows⾃有Cortana(中⽂名:微软⼩娜,微软发布的全球第⼀款个⼈智能助理)和通知等功能,⽤户可以创建通⽤Windows平台(UWP)应⽤程序并运⾏在Windows设备上。
GitHub地址:
GitHub地址:
10、ASP.NET之MVC核:模型(model)-视图(view)-控制器(controller)框架
旨在TDD友好,⽤于创建符合最新Web标准的复杂应⽤程序、构建动态⽹站,可以在IIS中托管或⾃我托管。
GitHub地址:
11、.Net 开源核⼼类库:运⾏环境和编译器
.Net的核⼼类库,运⾏环境和编译器都已经开源,如今整套.Net环境都可以在Linux,Mac下运⾏。
Github主仓库:
12、ChakraCore :开源JavaScript解释器
随着Windows10⼀起⾯世的Edge浏览器是微软的洗⼼⾰⾯之作,运⾏效率得到了极⼤的提升,多项测试中执⾏效率甚⾄超过了Chrome。ChakaraCore,作为Edge浏览器的JavaScript解释器,是其中的秘密武器。在ChkraCore开源后,原本就⽕热的JavaScript后端开发领域或许会迎来新的推动⼒。
Github主仓库:
13、PerfView:CPU 和内存性能分析⼯具
PerfView 是微软开源的 CPU 和内存性能分析⼯具。它能以多种⽅式收集和观察 ETL ⽂件,拥有强⼤的组运算能⼒。
在 Visual Studio 中打开 src/PerfView/Perfview.sln ⽂件,选择 Build -> Build Solution ,即可创建。⽣成的 ⽂件是
以 src/PerfView/bin/ 命名,配置好后即可使⽤。google官方下载app
需要⼯具:Visual Studio 2013 或更⾼版本,建议 Visual Studio 2015 。
14、vcpkg:VC++ 打包⼯具
vcpkg 是微软 C++ 团队开发的在 Windows 上运⾏的 C/C++ 项⽬包管理⼯具,可以在 Windows 平台上获取 C 和 C++ 库.
vcpkg ⾃⾝也是使⽤ C++ 开发的,整合了 git,构建系统整合的 CMake,并且 vcpkg 能够帮助⽤户在 Visual Studio 中更好的使⽤这些安装好的库.
15、Checked C:C/C++ 更加安全的库
Checked C允许程序员在C/C++中编写“确保边界检查”的代码。该规范确定了变量操作⾏为,包括指针类型的间接寻址、数组引⽤、赋值、指针加法、⽐较、取址(&)、含边界检查数组类型和指针类型的转换等。编译器可以通过增加参数在指针⾮正常使⽤时发出警告或者错误。
Checked C 包含规范、⼀个clang的实现和⼀个LLVM的实现。
16、monaco-editor :基于浏览器的代码编辑器
Monaco Editor 是微软开源的基于 VS Code 的代码编辑器,运⾏在浏览器环境中。编辑器提供代码提⽰,智能建议等功能。供开发⼈员远程更⽅便的编写代码。
亚马逊开源软件
1、DDSTNE:开源深度学习⼯具
DDSTNE是亚马逊推荐系统中使⽤的深度学习⼯具,为多GPU节点和松散数据结构进⾏了专门优化.
Github主仓库:
2、opsworks-cookbooks:开源运维辅助⼯具
亚马逊为开源运维⼯具Chef编写的配置和运维策略集。如果你想在AWS上尝试Chef,这是亚马逊为你进⾏的专门定制。在其他平台上尝试Chef,亚马逊的opsworks-chookbooks也有⼀定的参考意义.
Github主仓库:
3、Amazon Ion:开源数据存储格式
亚马逊开源的数据存储格式,同时⽀持便于查看的⽂本格式和便于⾼效存储和传输的⼆进制格式。提供了C,Java,Python语⾔的⽀持。
Github主仓库:
⾕歌开源软件
1、Android:开源移动操作系统
世界最流⾏的操作系统,市场占有量甚⾄超过了Windows。成功很⼤程度来源Android操作系统相⽐竞争对⼿采⽤了开源的策略,使得⼿机制造商能够⼤量⽣产基于Android操作系统的⼿机。
地址:
2、Chromium:开源浏览器
Chromium是Chrome的开源版本,⼏乎所有的浏览器新特性都会⾸先出现在Chromium上再逐步往Chrome“下放”。由于Chromium的开源属性,⼏乎所有的国产浏览器⾥都有着Chromium的开源代码。
地址:
3、TensorFlow:AI和机器学习
TensorFlow是Google开源的⽤于机器学习库。⽤于构建和训练神经⽹络,编写AI程序。去年横扫⼈类围棋⾼⼿的Google AI程序,就是基于TensorFlow编写的。TensorFlow可以运⾏在CPU,也可以运⾏在GPU之上。
Github主仓库:
4、Go:开源编程语⾔
发布于2007年的编程语⾔。Go尝试成为⼀种在保留住灵活性和性能的同时最⼤程度去处C系编程语⾔复杂度的新系统语⾔。虽然社区⾥⼀直有对Go特性不⾜的抱怨,但创始⼈坚决认为这对保持这⼀语⾔的成功是必不可少的。 Go语⾔⽬前主要运⽤于服务器编程领域。
Github主仓库:
5、AngularJS:前端框架
AngularJS是⼀个⽤来编写单页Web应⽤的前端框架。虽然AngularJS的⽬标是简化Web应⽤的开发过程,但其⾃⾝引⼊的众多概念带来的复杂性也受不少诟病。
Github主仓库:
6、Kubernetes:容器集管理系统
Kubernetes 是来⾃ Google 云平台的开源容器集管理系统。基于 Docker 构建⼀个容器的调度服务。该系统可以⾃动在⼀个容器集中选择⼀个⼯作容器供使⽤。其核⼼概念是 Container Pod。
Github地址:
7、Protocol Buffers:分布式计算
⽤于不同进程和服务器之间进⾏数据通信的数据序列化⼯具。服务器上不同的程序能通过Protocol Buffers来进⾏通信和分⼯协作。相⽐XML 和JSON,Protocal Buffers有着更⾼的性能,但你也不再能仅凭⽂本编辑器就查看到⾃⼰的数据。
Github主仓库:
8、Dart:开源编程语⾔
另⼀个由Google⽀持的开源编程语⾔。Dart着⼒于Web应⽤,移动App和物联⽹设备。和Go不同,Dart不是⼀种编译型语⾔。它和Python 或Java⼀样运⾏在⾃⼰的虚拟机之上,但也能转换成JavaScript放⼊浏览器中运⾏。
Github主仓库:
9、Fuchsia OS:操作系统
神秘的全新开源操作系统,和之前的Android不同,Fuchsia OS没有基于Linux内核,⽽是另起炉灶打造⾥⼀套更能被Google控制的操作系统内核. Google是准备打造IOT(物联⽹)领域的新Android,还是仅仅是个试验项⽬,现在还不得⽽知。
10、GWT:Google web⼯具包
Google ⽹页⼯具包——GWT 提供了⼀组基于Java语⾔的开发包,
开发出来的Java应⽤将由GWT开发包提供的编译⼯具编译后声⽣成对应的、应⽤了Ajax技术的Web应⽤,Java应⽤中出现的、和服务器之间的交互动作被⾃动⽣成的异步调⽤代码所代替。
11、Google Mock:C++模拟测试框架
Google Mock在google内部超过100个项⽬中使⽤过,这个框架能够在Linux,Windows 和Mac OS X上使⽤。
下载地址:
12、GRPC:RPC 框架
GRPC 是⼀个⾼性能、开源和通⽤的 RPC 框架,⾯向移动和 HTTP/2 设计。⽬前提供 C、Java 和 Go 语⾔版本,分别是:grpc,grpc-java,grpc-go。其中 C 版本⽀持 C,C++,Node.js,Python,Ruby,Objective-C,PHP 和 C# ⽀持。
GRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复⽤请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占⽤。
开源中国组织翻译的《gRPC 官⽅⽂档中⽂版》:
13、Gumbo:纯C语⾔实现的HTML5解析库
Gumbo 是 Google 的⼀款⽤C语⾔实现的HTML5解析库,⽆需任何外部依赖。⽬标及特征:
遵循 HTML5 规范
功能强⼤,可处理⼀些不规范的 HTML 标签
简单的 API
⽀持源位置和指针回到原始⽂本
轻巧、没有外部依赖
通过 html5lib-0.95 兼容测试
已在超过25亿个来⾃⾕歌索引的页⾯中进⾏过测试
Github地址:
14、Google API for Java
Google API Client Library for Java 是由Google开发的⼀个Java客户端类库,⽤于访问其提供的各种基于HTTP的服务。具有灵活、⾼效、强⼤等特点。这是访问基于REST或JSON-RPC的Google API推荐类库。
Github地址:
15、MDL:前端开发⼯具组
MDL (Material Design Lite) 是 Google 推出的⽹站前端开发⼯具组。Material Design Lite (MDL)可以让你添加⼀个 Material Design 的外观和感觉到你的静态内容⽹站,不依赖于任何的 JavaScript 框架和库。MDL 可以优化跨设备的使⽤体验,可以在旧版的浏览器进⾏平滑的切换,提供⾮常快速的访问体验。
浏览器⽀持:
16、Google JS Test
Google JS Test是⼀个运⾏于V8 JavaScript引擎下的Javascript单元测试框架,其在Google内部负责对Chrome的快速JS执⾏速度进⾏测试。
17、Bazel:代码构建⼯具
Bazel 是 Google 的⼀款可再⽣的代码构建⼯具。它主要是⽤于构建 Google 的软件,处理出现在⾕歌的开发环境的构建问题,⽐如说:⼤规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。
Bazel ⽀持多种语⾔并且跨平台,还⽀持⾃动化测试和部署、具有再现性(Reproducibility)和规模化等特征。Bazel 在⾕歌⼤规模软件开发实践能⼒⽅⾯起着⾄关重要的作⽤。
GitHub地址:
18、SyntaxNet:全球最精准⾃然语⾔解析器
SyntaxNet 是⼀个框架,即学术圈所指的SyntacticParser,他是许多NLU系统中的关键组件。在这个系统中输⼊⼀个句⼦,他会⾃动给句⼦中的每⼀个单词打上POS(part-of-Speech)标签,⽤来描述这些词的句法功能,并在依存句法树中呈现。这些句法关系直接涉及句⼦的潜
在含义。
19、AnyPixel.js:可令⽤户⾃⼰创造交互展⽰
AnyPixel.js 是 Google 开源的⼀个软件和硬件框架,可以⽤来构建各种由“像素”构成的展⽰,每个像素可以是任何⼀种可交互的实体对象,如 LED 灯、⽓球等。
20、PerfKit:云基准测试⼯具
PerfKit 提供⼀组基准测试⽅法⽤来测量和⽐较云服务。当前⽀持 Google ⾃⼰的 Compute Engine、亚马逊的 AWS 和微软的 Azure 云。PerfKit 同时还提供⼀个可视化⼯具 PerfKit Explorer ⽤来⽐较测试结果。
21、Gson:Java的JSON类库
Gson 是 Google 提供的⽤来在 Java 对象和 JSON 数据之间进⾏映射的 Java 类库。可以将⼀个 JSON 字符串转成⼀个 Java 对象,或者反过来。
GitHub地址:
22、Eclipse ADT:Eclipse ADT logoAndroid开发插件
Eclipse ADT 是 Eclipse 平台下⽤来开发 Android 应⽤程序的插件。
在线安装地址:
23、LevelDB:K/V数据库
Leveldb是⼀个google实现的⾮常⾼效的kv数据库,⽬前的版本1.2能够⽀持billion级别的数据量了。在这个数量级别下还有着⾮常⾼的性能,主要归功于它的良好的设计。特别是LSM算法。
LevelDB 是单进程的服务,性能⾮常之⾼,在⼀台4个Q6600的CPU机器上,每秒钟写数据超过40w,⽽随机读的性能每秒钟超过10w。Github地址:
在企业使⽤开源和贡献开源⽅⾯,Google⼀直是⾏业的典范。⼀直以来,Google都在极⼒推⼴和倡导开源,并发布了⼀系列开源项⽬。开源中国社区⽬前收录了Google 259 款开源软件,此处不⼀⼀列举。
IBM开源软件
1、Apache SystemML :机器学习语⾔
SystemML 是灵活的,可伸缩机器学习 (ML) 语⾔,使⽤ Java 编写。机器学习 (ML) 是指⽆需显式的编程即可让计算机学习的能⼒。SystemML 先进的机器学习主要基于两⽅⾯:SystemML 语⾔,声明式机器学习 (DML)。
SystemML 包含线性代数原语,统计功能和 ML 指定结构,可以更容易也更原⽣的表达 ML 算法。算法通过 R 类型或者 Python 类型的语法进⾏表达。DML 通过提供灵活的定制分析表达和独⽴于底层输
⼊格式和物理数据表⽰的数据显著提升数据科学的⽣产⼒。
其次,SystemML 提供⾃动优化功能,通过数据和集特性保证⾼效和可伸缩。SystemML 可以在 MapReduce 或者 Spark 环境运⾏。
2、Kitura:Swift 的 Web 框架
Kitura,来⾃IBM的基于Swift的Web框架,也是⼀个HTTP服务器。
特性:
URL路由(GET, POST, PUT, DELETE)
URL参数
静态⽂件服务
⽀持FastCGI
⽀持SSL/TLS
JSON解析
可插拔的中间件
GitHub地址:
3、TJ Bot:开源 DIY 纸板机器⼈
TJBot 延续了⼿⼯社区的精神,它是⼀套 DIY ⼯具包,可让你建⽴由 Waston 驱动的可编程纸板机器⼈。该机器⼈由⼀块切割的纸板(可以是 3D 打印或者激光切割)、Raspberry Pi 和多种插件(包括⼀个 RGB LED 灯、⼀个麦克风、⼀个伺服电机和⼀个摄像头)构成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论