HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

GLTF纹理贴图工具让模型更逼真

3D建模设计

材质 纹理 贴图

OpenHarmony后代组件双向同步,跨层级传递:@Provide装饰器和@Consume装饰器

OpenHarmony开发者

Tongsuo 8.4.0-pre3 发布!

铜锁开源密码库

开源 算法 安全 同态加密 密码学

Parallels Desktop 18 for Mac(pd18虚拟机) 18.3.2完美激活版

mac

Parallels Desktop 18 pd 18 苹果mac Windows软件

九章云极DataCanvas公司入选可信开源大模型产业推进方阵首批成员

九章云极DataCanvas

模型UV纹理设置工具

3D建模设计

材质 纹理 贴图

可以替代Mac访达的文件管理工具Path Finder

展初云

Mac软件 文件管理工具

聊聊技术之外的面试问题-下

老张

面试 职场成长

全球采购,打造企业韧性供应链

用友BIP

全球采购

我在前端写Java SpringBoot项目 | 京东云技术团队

京东科技开发者

MySQL Node Nest.js 企业号10月PK榜 Sequelize

深入理解线段树 | 京东物流技术团队

京东科技开发者

数据结构 数据结构与算法 线段树 企业号10月PK榜

新华网专访樊冠军:让YonGPT成为企业服务领域的高智商、全能型选手

用友BIP

2023全球商业创新大会

开放原子开源基金会九月新增捐赠人

开放原子开源基金会

愤怒的小鸟Angry Birds Reloaded mac(休闲益智类游戏)v2.4中文激活版

mac

windows 游戏 苹果mac 愤怒的小鸟 Angry Birds

鞍钢集团财务共享平台部长高歌:与用友共建财务共享领先实践

用友BIP

2023全球商业创新大会

Apache Kyuubi & Celeborn,助力 Spark 拥抱云原生

阿里云大数据AI技术

云原生

秒懂算法 | 字符串匹配算法实例分析之潜伏者、最低三元字符串

TiAmo

算法 字符串匹配

国内首档大模型技术直播专栏重磅推出!

飞桨PaddlePaddle

开发者说 文心大模型

代码理解技术应用实践介绍

百度Geek说

数据库 百度 企业号10月PK榜 代码理解

IDEA工具第一篇:细节使用-习惯设置 | 京东云技术团队

京东科技开发者

Mac windows IDEA 企业号10月PK榜

交易履约之结算平台实践 | 京东云技术团队

京东科技开发者

架构 系统设计 企业号10月PK榜 交易履约 系统建设

HarmonyOS跨进程通信—IPC与RPC通信开发指导

HarmonyOS开发者

建立可观测性宏观认知-从概念到过去10年的实践发展

刘绍

运维 软件工程 可观测性 基础架构

简单好用的Mac清理工具 BuhoCleaner

展初云

Mac软件 清理软件

Databend 开源周报第 114 期

Databend

什么是 API 以及电子商务网站为何使用它们

Noah

电商 数据api API 安全

QCA9880 (WiFi 5) and QCN9074/QCN9024 (WiFi 6) Move towards the future of industrial wireless networking

wifi6-yiyi

QCA9880 QCN9024 WiFi 5 WiFi 6

直播预约丨《实时湖仓实践五讲》第二讲:实时湖仓功能架构设计与落地实战

袋鼠云数栈

大数据 数据中台 湖仓一体 实时湖仓 直播课程

从内核世界透视 mmap 内存映射的本质(源码实现篇)

bin的技术小屋

Linux 操作系统 内存管理 Linux Kenel mmap内存映射

为什么说代码注释是程序员必备的技能?

小齐写代码

数据库进阶教程:数据模型、索引与并发控制

百度开发者中心

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