GitHub贡献第一的公司是谁?微软开源软件列表

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

\\

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

\\

86834a2f6d40cc9c6a58494912200a89.png

\\

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

\\

6f36039c48fd95772c78a1cc0462daf2.png

\\

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

\\

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

\\

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

\\

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

\\

3ef7d5f515c2778d7dc94019bc31e699.png

\\

8cc4088e126f3cc8038e07aad1d579d8.png

\\

455d1f081bef6462f00107dd02b493d1.png

\\

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

\\

76c186853a59e98f98a959d8cecffb3b.png

\\

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

\\

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

\\

.NET框架历经数代更迭,现已演变成通用的开发平台,支持多种语言(如C#、F#、VB.Net、C++、Python等)、异步和同步编程模型,具有本地互操作性,可跨平台实现多种场景,最终于2014年开源。

\\

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

\\

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

\\

9c74aacbefd1f5046e565229ee257240.png

\\

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设备上。

\\

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

\\

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

\\

GitHub地址:https://github.com/Microsoft/api-guidelines

\\

ASP.NET之MVC核:模型(model)-视图(view)-控制器(controller)框架

\\

旨在TDD友好,用于创建符合最新Web标准的复杂应用程序、构建动态网站,可以在IIS中托管或自我托管。

\\

Star数量:4.4k;Fork数量:1.6k

\\

GitHub地址:https://github.com/aspnet/Mvc

\\

BashOnWindows:解决Ubuntu Bash在Windows的使用问题

\\

微软在Build 2016大会上宣布了一条振奋人心的消息,大家惊呼Ubuntu on Windows。Bash on Windows 为开发者们提供了Bash shell、Linux类似环境,在不需要Linux虚拟机的情况下,大部分的Linux命令行工具基本上可以不经修改地运行在Windows上。

\\

Star数量:3.7k;Fork数量: 129

\\

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

\\

abe3a8d0dd7707bff5ebe116f0215d67.png

\\

monaco-editor:基于浏览器的代码编辑器

\\

与 Visual Studio Code 类似,Monaco Editor 提供代码提示、智能建议等代码编辑器的功能,它运行在浏览器环境中,旨在开发人员们可以远程更方便地编写代码。与Visual Studio Code版本相比,Monaco是一个直接映射源代码的库。            

\\

Star数量: 4k;Fork数量:265

\\

GitHub地址:https://github.com/Microsoft/monaco-editor

\\

18174deac748547137a79f0cda489bea.png

\\

DMTK:分布式机器学习框架

\\

微软的DMTK(Distributed Machine Learning Toolkit)参数服务器框架有很多版本:

\\

LightLDA:用于大规模主题建模的可扩展、快速和轻量级系统。

\\

LightGBM:基于决策树算法的快速、分布式、高性能梯度提升(GBDT,GBRT,GBM或MART)框架,用于排名、分类和许多其他机器学习任务。

\\

分布式词嵌入(word embedding):实现的词嵌入的分布式算法。

\\

DMTK framework(Multiverso): 参数服务器架构的机器学习。

\\

Star数量: 2k;Fork数量:487

\\

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

\\

Azure相关:文档、SDK和代码示例

\\

微软支持开发者们将各种开源软件工具和技术带入Azure。Azure 应用市场支持很多Linux 分发,包括 Ubuntu、Debian 和 SUSE;也支持借助支持 Node.js、PHP、Python 和 Java 的 Azure 应用服务,生成 Web 和移动应用。

\\

在GitHub上Azure相关的存储库有1700+个。

\\

Star数量(共计):149k;Fork数量(共计):291k

\\

地址:https://azure.microsoft.com/zh-cn/overview/open-source/

\\

写在后面

\\

开源已经形成潮流,一家软件公司的竞争对手可能是同行企业,还可能是开源项目。

\\

不过开源可不是公益,公司还是以赢利为导向的,那么开源对公司而言利益是什么呢?首先,企业级版本的使用往往并不免费,并且相关的技术支持、安装、系统整合、认证和培训等服务也是收取费用的。 其次,项目开源之后,可以吸引社区中对此热情的开发者们。传统模式下,软件巨头公司需要雇佣大量工程师进行开发、测试和本地化等。但是,开源相当于把一部分工作“外包”给社区。此外,如果开源项目代码优质,则会很好地塑造技术形象并在开源圈产生影响力,从而起到推广公司品牌的作用。更重要的是,公司可以接触到社区中的高尖专家程序员,增加了对他们的吸引力也就增加了更多招纳贤士的可能性,他们有可能会以兼职或者全职的形式加入公司。单纯对项目本身而言,如果被其他公司采用、再回馈到社区,这是优化项目和丰富使用场景的良性循环。

\\

其实微软很早开始关注社区开发者并有了开源的举措:MSDN实现创立于1992年是使用层级的技术文件开放;CodePlex创立于2006年先后托管了很多开源项目;CodePlex Foundation开放源码基金会成立于2009年。

\\

那么微软之外世界的时间发展线是怎样的呢?虽然其他几家开源软件基金会更早成立(自由软件基金会1985年、OSI开发源代码促进会1998年、Apache软件基金会 1999年、Eclipse基金会2004年、软件自由管理委员会2006年);但是程序界的大规模化关注并参与开源并不比微软的步伐早:1991年Linux源代码开源;2007年Linux基金会成立,而GitHub也开始提供软件源代码托管服务;2008年StackOverflow问答讨论网站建立。

\\

如此看来,其实微软并没有一直盲目赶路,并且也有着不算落后的开源和社区意识。不过,缘何留下了保守不开源的刻板印象?是因为2001年时前CEO的武断宣言?还是开源之路态度不够坚决、宣传力度不够?亦或是社区更欢迎独立的第三方开源平台而非某家企业的托管平台?不过,可以确定的一点是,如所宣称那样“Microsoft Loves Linux”,微软拥抱开源并且同样拥抱社区选择的平台(如GitHub、StackOverflow)。

\\

有人认为微软这些开源举动晚了,错失了很多机会。不过,“种一棵树最好的时间是十年前,其次是现在”。业界接下来应该更关注的是,微软究竟会将开源做到什么程度,并因此对社区产生多么深刻影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值