写点什么

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

  • 2017-03-30
  • 本文字数:3939 字

    阅读完需:约 13 分钟

提起微软公司,不少人第一反应是老牌巨头专注于私有化软件盈利模式,这大抵是源于微软前 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#是.NET 框架上最常用的编程语言之一,通常被认为是微软专属, 其著名竞争对手是 Java。

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

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

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

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

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

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

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

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)。

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

2017-03-30 19:005833
用户头像

发布了 58 篇内容, 共 44.1 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

“昇腾万里•齐聚津门”昇腾AI创新大赛2023 天津区域赛暨第十期“津英汇”活动成功举办

彭飞

打破界限!百度「共拓计划」将AIGC营销推向新高度

科技热闻

ByConity 0.2.0 版本发布

字节跳动开源

数据库 大数据 开源 开源社区 数仓

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

语音识别技术:未来人机交互的重要接口

来自四九城儿

语音识别技术:原理、应用与未来

来自四九城儿

加入华为云AIGC实战营,一起探索AI前沿技术!

科技热闻

蓝易云:CentOS-7详细基础教学!

百度搜索:蓝易云

云计算 Linux centos 运维 云服务器,

TF-IDF算法

小魏写代码

金融和大模型的“两层皮”问题

脑极体

金融 大模型

灞桥康养论坛圆满落幕 宜居灞桥全力推进康养产业高质量融合发展

联营汇聚

Mac电脑剪切板复制粘贴推荐: PopClip for Mac激活中文版

胖墩儿不胖y

Mac软件 剪切板工具 文本编辑工具

国内低代码开发平台有哪些?低代码真的好用吗?

高端章鱼哥

低代码 低代码开发平台 JNPF

语音识别技术的挑战与机遇

来自四九城儿

GitHub超60K的“亿级高并发系统设计手册”被疯传

小小怪下士

Java 程序员 系统设计 高并发

zone.js由入门到放弃之五——NgZone & ApplicationRef源码分析

OpenTiny社区

前端 angular

蓝易云:什么是HTTP500内部服务器错误,要如何修复?

百度搜索:蓝易云

云计算 Linux 运维 HTTP

Apache IoTDB v1.2.0/v1.2.1 发布|增加流处理框架、动态模板等新功能

Apache IoTDB

【活动回顾】Rust:构建新时代基础设施的首选语言 @Qcon

Databend

降低代码圈复杂度优化技巧

南城FE

JavaScript 前端 代码 代码规范

苹果Mac电脑专业修图软件 Affinity Photo 2 正式中文版

mac大玩家j

Mac软件 修图软件 修图工具 图像编辑器

从“作坊模式”到“平台科研”,和鲸聚焦 AI4S 项目全生命周期管理

ModelWhale

AI for Science 可复现性 科研协同 全生命周期 科研

亚马逊 CodeWhisperer 初体验

亚马逊云科技 (Amazon Web Services)

JavaScript typescript 人工智能

15年磨砺,亚信科技AntDB 8.0数据库,倾“擎”发布

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

图文结合丨GreatSQL MGR + ProxySQL集群搭建方案

GreatSQL

数据库 greatsql

什么型号的LED显示屏适合用在购物中心外墙

Dylan

价格 像素 LED显示屏 全彩LED显示屏

Arrays.asList():使用指南

越长大越悲伤

Java

应用容器化转型-容器镜像怎么做

品高云计算

云计算 科技 容器镜像 应用容器化

浪潮云连续2年入选Gartner中国云基础设施和平台服务市场标杆厂商

云计算

GitHub贡献第一的公司是谁?微软开源软件列表_微软_木环_InfoQ精选文章