专栏名称: InfoQ
有内容的技术社区媒体。
目录
相关文章推荐
51好读  ›  专栏  ›  InfoQ

GitHub 贡献第一的是这家「因循守旧」的公司?微软开源软件列表

InfoQ  · 公众号  · 科技媒体  · 2017-03-30 08:00

正文

作者|木环
编辑|小智
在GitHub上贡献最多的公司,不是Facebook,也不是Google,而是微软。InfoQ对微软数个较受社区欢迎的项目进行了整理,以飨读者。希望开源的精神,能给技术社区带来更多的实惠!
写在前面

提起微软公司,不少人第一反应是老牌巨头专注于私有化软件盈利模式,这大抵是源于微软前CEO Steve Ballmer曾经宣称“Linux是颗毒瘤(Linux is a cancer)”,并曾经偏执地认为所有开源软件都不值一提。但是,这是2001年的事情了,是时候更新大家对微软的刻板印象。

这里,不提继任者Satya Nadella的微软拥抱开源进行新式转型的决策,也不提微软去年加入Linux基金会等开源组织的举动。单单而言,只问一个问题:哪家公司在GitHub上贡献最多?不是Facebook,也不是Google,而是微软公司,这个第一名还是多少有些出人意料。

2014年10月,出任微软首席执行官的萨提亚∙ 纳德拉,第一次公开宣布“微软爱Linux”。同年,微软首次发布.NET Core并将其开源;众所周知,微软核心的技术栈长期以来基于.NET和Windows绑定。在重写标准库之后,2016年6月.NET Core 1.0实现跨平台(Windows、Linux和Mac),这意味着开发者可以使用Windows开发而Linux部署。

2016年3月,Windows原生支持 Ubuntu Linux Bash, 这意味着Windows操作系统级别的开放,Win10 可以当作一台Ubuntu开发机来使用。

此外,微软称Azure全面支持所有开源技术栈,并且从IaaS(VM),PaaS和SaaS(CRM、PowerBI、Office365)全面支持用户的灵活选择。

InfoQ对数个较受社区欢迎的项目进行了整理如下:

Visual Studio Code:跨平台源代码编辑器

Visual Studio Code是微软于2015年正式发布的项目,可以运行在Mac OS X、Windows和Linux之上,面向Web和云应用的一款跨平台源代码编辑器。

虽然它的名字与Visual Studio相近,但前者是代码编辑器,后者是集成开发环境(IDE)并且目前只运行在Windows上。

Star数量: 24.3k; Fork数量: 3.3k

GitHub主页: https://github.com/Microsoft/vscode

TypeScript:开源编程语言,JavaScript的超集

TypeScript是JavaScript强类型的超集,可以编译成纯JavaScript。由微软开发的自由和开源的编程语言,可以运行在各类浏览器和操作系统之上。

Star数量: 19.8k ; Fork数量: 2.8k

GitHub主页: https://github.com/Microsoft/TypeScript/

CNTK: 深度学习开源工具包

CNTK全称为The Microsoft Cognitive Toolkit, 将神经网络描述为计算机可处理的有向图,有向图的叶节点表示输入值或网络参数,其他节点表示输入对应的矩阵运算。CNTK便于实现并且也结合了很多流行计算模型如前馈DNN,卷积网(CNN)和复现网络(RNN / LSTM)。它可以跨多个GPU和服务器实现随机梯度下降(SGD,误差反向传播)学习与自动微分和并行化。

可以在Python或者C++语言中如同库版应用,也可以使用其自有的描述语言BrainScript单机化使用。CNTK可适用于64位的Linux和Window,于2015年4月开源。

下图比较CNTK的处理速度(每秒处理的帧数)与四个其他众所周知的工具包的处理速度。 配置使用完全连接的4层神经网络(参见微软的基准脚本)和有效的迷你批量大小(8192)。在相同硬件上获得的结果。

Star数量: 9.9k; Fork数量: 2.4k

GitHub地址: https://github.com/Microsoft/CNTK

Donnet:采用系统虚拟机运行的编程平台

.NET是微软研发的XML Web services平台,此框架支持多种语言(如C#、F#、VB.Net、C++、Python等)的开发。.NET框架历经亟待,最终于2014年开源。

C#通常被认为是微软专属,是.NET框架上最常用的编程语言之一, 其著名竞争对手是Java。

Star数量: 7.8k ; Fork数量: 1.2k

GitHub主页: https://github.com/Microsoft/dotnet/network

PowerShell :为任何系统提供Windows的命令行工具

一个跨平台(Windows、Linux和macOS)自动化和配置工具/框架,可与现有工具完美配合,并优化用于处理结构化数据(例如JSON,CSV,XML等)、REST API 和对象模型。 它包括命令行shell,相关的脚本语言和用于处理cmdlet的框架。

Star数量: 6.4k; Fork数量: 800

GitHub地址: https://github.com/PowerShell/PowerShell

MSOpenTech/redis: 在Windows使用Redis

官方只支持64位,可自行构建32位版。

该开源项目,在2.8版本中,替代UNIX fork()API中的内存映射文件模拟写时复制行为。 版本3.0类似,为了便于系统文件分页,删除了内存映射文件,在管理堆碎片方面进行了改进。

Redis对文件描述符的值做了一些假设,微软构建了一个虚拟文件描述符映射层。

Star数量: 5.8k; Fork数量: 8.7k

GitHub地址: https://github.com/MSOpenTech/redis

WinObjc:Windows下的Objective-C

为Visual Studio提供了一个Objective-C开发环境并支持iOS API。通过重新使用Objective-C代码和iOS API,配以Windows自有Cortana(中文名:微软小娜,微软发布的全球第一款个人智能助理)和通知等功能,用户可以创建通用Windows平台(UWP)应用程序并运行在Windows设备上。







请到「今天看啥」查看全文