“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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:005662
用户头像

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

关注

评论

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

AI会对我们日常生活带来什么影响?这些技术会改变我们学习阅读工作方式吗?| 社区征文

汀丶人工智能

人工智能 ChatGPT 人工智能ChatGPT 吗? 三周年征文

阿里巴巴宣布加入Linux Foundation AI&Data基金会,捐赠首个开源项目DeepRec

阿里云大数据AI技术

人工智能 大数据

小程序的安全架构解析

Onegun

小程序 安全 小程序容器 小程序架构

德邦快递:逆境之下,让数字化辅助业务的利润增长

Kyligence

数据分析 数字化管理 指标中台

创业做共享电动车!如何找厂家合作

共享电单车厂家

共享电动车厂家 共享电单车厂商 共享电单车投放 共享电动车创业项目

WebSocket与Socket、TCP、HTTP的区别

Apifox

程序员 TCP socket HTTP websocket

利用Appuploader上架IPA步骤

雪奈椰子

顶礼膜拜!阿里内部出品,全网首发Spring Security项目实战搭建

做梦都在改BUG

Java spring spring security Spring Security OAuth

GPT:低代码的终局性机遇

小博

人工智能 低代码 PaaS GPT

ShareSDK 创建应用

MobTech袤博科技

如何更好的分析潜在人脉?聊聊华为云图引擎GES的Cypher子查询

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

2023淘宝天猫金婴奖公布,小度学习机获年度超级新品奖!

科技热闻

从GitHub火到头条!共计1658页的Java岗面试核心MCA版,拿走不谢

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

来这公司一年碰到的问题比我过去10年都多

艾小仙

Java kafka spring spring-boot

跨平台的Markdown编辑器:Typora for Mac中文版

真大的脸盆

GitHub发布即百万!字节内网超实用 java性能优化手册,star超十万

Java你猿哥

Java JVM ssm Java性能调优 java程序优化

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

NGINX开源社区

nginx 公有云 HAProxy

重磅来袭!豆瓣评分9.2,万人血书的多线程与高并发v2.0版本

做梦都在改BUG

Java 多线程 高并发

百人研发团队百亿销售规模的技术架构实践分享

车江毅

如何解决注册并发问题并提高QPS

北桥苏

队列 并发 Redis 核心技术与实战

大模型竞争白热化 这家广州的科技公司却开辟了新战场

科技热闻

今年互联网是“银二铜三铁四丐五”?程序员面试如何破局?

Java你猿哥

Java 架构 算法 多线程 java面试

复杂推理:大型语言模型的"北极星"能力

OneFlow

MySQL百万数据深度分页优化思路分析

做梦都在改BUG

Java MySQL 数据库

SpringBoot 结合 Liquibase 实现数据库变更管理

做梦都在改BUG

Java spring Liquibase

intellij idea 粘贴字符串如何不带换行符?

源字节1号

微信小程序 开源 软件开发 前端开发 后端开发

定了!AIRIOT新品发布会,6月6日北京见。

AIRIOT

物联网 发布会 产品发布会 直播预约

共识算法之Raft算法模拟数

TiAmo

算法 共识算法 模拟数

阿里内部教材:15W字的SpringCloud微服务实战,我一口气给你打包

做梦都在改BUG

Java 架构 微服务 Spring Cloud

哪些技术有可能坐上智慧城市发展的快车

Onegun

智慧城市 小程序容器 数字城市

【活动报名】PolarDB开源数据库&PG中文社区技术沙龙温州站

阿里云数据库开源

数据库 postgresql 阿里云 开源 polarDB

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