00 microsoft

最近,微软在开源方面的动作频频引人注目,但是也许你并不知道微软从2004年就开始参与开源了,而就在那一年,Facebook 和 Ubuntu 才刚刚成立。

为此我做了一点研究,向大家揭示从2004年以来微软在开源方面的重大事件。

2004:WiX

01 wix first

WiX 工具集是微软的第一个开源项目,它发布于2004年4月。该工具集包括编译器、链接器、库工具和反编译器。WiX 的原作者 Rob Mensching 在一篇文章中写道,“WiX 成为微软以 OSS 认证的许可证发布的第一个项目,采用的许可证是 Common Public License。”

2005:F# 1.0

02 sharp

F# 是一个微软开发的跨平台、面向对象的编程语言。它在 Apache 2.0 许可证下发布的开源项目。可以运行在 Linux、 Mac OS X、Android、 iOS 和 Windows 下。该项目现在由 F Sharp 软件基金会开发运作。

2006:CodePlex

03 codeplex

CodePlex 是微软的自由开源项目的托管网站,这应该是微软首次重要的开源社区尝试。在该公司发布 CodePlex 的 beta 版时,上面已经有了12个项目。现在该网站上已经托管了几百个项目,也支持 Git 版本控制软件。

2006:在 Windows 上支持 PHP

04 php windows

2003 年,微软和 Zend 公司宣布合作以提升 PHP 在 Windows 服务器上的表现。在公告中,微软说该公司为 PHP 在 Windows 服务器平台部署所开发的各种技术改进都会按照 PHP 许可证提交到 PHP 社区,以寻求社区反馈和贡献。

2006:与 Novell 签署有争议的合作

05 novell

这是一份震动 Linux 世界的公告。微软和 Novell(SUSE 的拥有者)宣布合作了!虽然这两家公司主要关注在微软和 Novell 之间的互操作性的解决方案上,但是其中的专利条款却像捅了蚂蜂窝一样。

2007:微软的开源许可证得到了 OSI 认证

06 microsoft license

开源推进联盟 Open Source Initiative (OSI) 对微软的开源许可证 Microsoft Public License (Ms-PL) 和 Microsoft Reciprocal License (Ms-RL) 进行了认证。在一篇文章中, OSI 写道,“这个决定的通过获得了开源社区大多数人的认可(虽然还有不同意见),这些许可证符合开源定义的10项准则,所以应该通过。”

2007:给 Samba 提供补丁

07 samba

在欧洲法庭上败诉之后,微软与 Samba 项目之间的长期战争终于结束了。微软和由 软件自由法律中心 Software Freedom Law Center 所创建的非盈利机构 协议自由信息基金会 Protocol Freedom Information Foundation PFIF)达成了合作,微软移交该协议的文档,以便 Samba 项目可以无缝的与 Windows 配合。

2008:发布互操作性准则

08 interoperable

2008年,微软在其业务和与开源公司的合作方式方面做了一些重大举措。在一篇文章中,该公司说道,“微软确立了四个互操作性准则,并将它们应用到主要的商业产品上:1、确保开放连接;2、促进数据的可移植性;3、加强对行业标准的支持;4、在客户和行业的开放合作方面投入更多,包括开源组织。”

2008:向 ADOdb 提交补丁

09 adodb

微软向 PHP 社区做的第一次贡献是为 ADOdb 提交补丁,这是 PHP 上的一个流行的数据库抽象层。时任微软平台战略资深总监的 Sam Ramji (现在是 Cloud Foundry 的 CEO)在一篇文章中写道,“该补丁通过 SQL Server 团队开发的原生驱动为 SQL Server 提供了支持。ADOdb 以 LGPL 和 BSD 许可证授权。这是我们第一次贡献到 PHP 社区项目中,但是绝不会是最后一次。”

2008:开始向 Apache Hadoop HBase 贡献代码

010 hbase

微软收购了一家旧金山的初创公司 Powerset,他们重度依赖于 Apache Hadoop 的 HBase 项目。 HBase 是一个以 Java 写的开源的、分布式的列数据库。Powerset 赞助了两名 HBase 开发者,而在微软收购之后依旧保持了赞助,并在一篇文章中写道,“微软参与并对开源社区做出贡献,这有益于客户、有益于社区,也有益于业务。”

2008:为 Apache 项目贡献代码

011 apache

微软通过成为 Apache 软件基金会 Apache Software Foundation 的白金赞助商而逐渐向开源 Web 服务器 Apache 项目靠拢。同年,微软与 Sourcesense 达成了合作关系,目标之一是为 Apache 软件基金会的顶级项目 Apache POI 的新版本开发贡献力量。

2009:向 Linux 内核贡献代码

013 linux many

2009年,微软向 Linux 内核贡献了超过两万行的代码。这些代码大大增强了在 Windows Server 2008 Hyper-V 或 Windows Server 2008 R2 Hyper-V 上运行的 Linux 操作系统虚拟机的性能。这些贡献让微软在一段较短的时间内成为了 Linux 内核排名第一的贡献者。

2011:Node.js 跑在了 Windows 上

012 node

微软与 Joyent 公司和 Node.js 的作者 Ryan Dahl 一起将 Node.js 移植到了 Windows。在一篇 2011 年的文章上,微软的 Claudio Caldato 写道,“我们的首要目标是给 Node 增加一个高性能的 IOCP API,让开发者可以在 Windows 上也获得 同 Node 在其它平台上一样的高性能和可伸缩性,IOCP API 可以让你执行多个并发的异步输入/输出操作。”微软的 Azure 团队也在开发 iisnode ,以便可以在微软的 IIS 服务器上运行 Node.js。

2012:ASP.NET MVC 开源了

014 asp net

2012年,该公司在 Apache 2.0 许可证下开源了它的部分 Web 产品体系,包括 ASP.NET MVC、Razor 和 Web API。在一篇文章中,微软的 Scott Guthrie 说道,“这样做可以带来更开放的开发模式,社区中的每个人都可以参与,并通过提交代码、修正错误、开发新功能等方式来提交反馈,也可以使用它的最新源代码和测试用例随时构建和测试产品。”如 Scott 所说,这也是第一次微软外部的开发者可以给他们提交补丁和贡献代码,微软的开发团队会审核这些代码,并有可能合并到产品中。

(LCTT 译注:原文称作“ASP.NET MCV”,但是微软原文称为“MVC”,不知本文原文何故,译文径改之。)

2012:微软成立“微软开放技术公司”

015 ms open

2012年,微软宣布成立一个全资子公司, 微软开放技术公司 Microsoft Open Technologies, Inc. ,其主要目标是“推动公司在开放性方面的投入,包括互操作性、开放标准和开源”,微软的 Jean Paoli 写道

2012:TypeScript

016 typescript

TypeScript 是一个自由开源的编程语言,微软讲该开源项目以 Apache 2.0 许可证下发布。在一篇宣布这个消息的文章中,微软的 S.Somasegar 解释道,它是“一个 JavaScript 的超集,将类型检查、静态分析、明确接口,以及最佳的体验共同组成了一门语言及编译器。”

2013:VM Depot

017 vmdepot

2013年,上面提到的微软开放技术公司宣布了一个 VM Depot 项目,这是一个由社区驱动的 Linux 和 FreeBSD 虚拟机镜像库,用于微软 Azure。在该项目的公告中, Gianugo Rabellino 写道,“在 VM Depot 中,社区可以构建、部署和分享他们的 Linux 配置、创建定制的开源软件组合、与他人协作、在云上创建新的架构,以充分利用 Windows Azure 平台的开放性和灵活性。”

2014:.NET 开源

018 net

2014年,微软宣布它将开源 .NET 的整个服务器端体系。在发布公告中,微软写道,它将“以开源的方式提供完整的 .NET 服务器端体系,包括 ASP.NET、.NET 编译器、.NET 核心库、框架和库,可以让开发者能够横跨 Windows、Mac 和 Linux 开发 .NET 程序。” .NET 的发展推动由 .NET 基金会进行。

2014:向 OpenJDK 贡献代码

019 openjdk

2014年,微软开放技术公司向 OpenJDK 的 JDK9 开放团队提交了第一个补丁。Martin Sawicki 在一篇宣布这次贡献的文章中写道,“这些代码的开发是应我们的合作伙伴之请,它可以让 Java 的套接字能够利用 Windows 的 TCP 回环快速路径 TCP Loopback Fast Path 能力,以提升在同一台机器上的套接字之间的通讯速度。”

2014:纳德拉自称爱上 Linux

020 microsoft linux

2014年,微软的新 CEO 萨提亚.纳德拉 Satya Nadella 宣称“微软爱 Linux”。从勉强同意到技术上认同,这为微软带来了巨大的关注,但是在业界还有不少疑虑。

2015:Debian 来到 Azure

021 debian

微软通过与 credativ 合作,将最流行的 Linux 发行版之一的 Debian 带到了它的 Azure 上。在一篇宣布此消息的文章中,Azure 的高级程序经理 Stephen Zarkos 写道,“通过此次发布,客户现在可以选择由 credativ 构建的最新的 Debian 7 和 Debian 8 在微软 Azure 中创建基于 Debian 的虚拟机。”

2015:RHEL 来到 Azure

022 red hat

2015年末,微软与 Red Hat 达成合作,将 Red Hat 企业版 Linux(RHEL)带到了它的 Azure 云。这两家公司决定协同工作来“解决企业、ISV 和开发者在跨私有云和公有云的 Red Hat 软件上构建、分发和管理应用的常见需求。”

2015:OpenSSH 来到 Windows

023 openssh

超过1/4的 Azure 云服务器运行着 Linux,这些用户需要能够安全地登录进机器来管理它们。微软计划通过 PowerShell 将开源项目 SSH 带到 Windows 上。该公司,他们不仅会将 SSH 支持带到 PowerShell 中,他们也会给 OpenSSH 社区贡献代码。

2016:Ubuntu 来到 Azure

024 ubuntu

2016年1月,微软和 Canonical 展示了在 Azure 上运行 Ubuntu Linux 的第一个技术预览版。John Zannos 在 Ubuntu 博客上写道,他们贡献了可验证的 Ubuntu 镜像,让开源应用可以很好地运行在 Azure 环境中。在此宣告后,微软现在已经将所有的领先的 Linux 发行版带到了 Azure 云上。

2016:SQL Server for Linux

025 sql

通过这一计划,微软将可以让客户跨 Windows 服务器和 Linux 运行 SQL Server ,带来持续一致的数据平台。微软的 Scott Guthrie在一篇文章中说,“我们会将核心数据库能力拿出来,预计时间是2017年中。”

2016:Bash on Windows

026 bash windows

微软与 Canonical 紧密合作,将最流行的 Linux 命令行工具带到了 Windows 10 上面。微软创建了一个名为 Windows Subsystem for Linux 的技术,可以让 Ubuntu 运行在 Windows 内核上。Mike Harsh 在一篇文章中写道,“你现在可以运行 Bash 脚本、类似 sed、awk、grep 的 Linux 命令行工具,甚至你可以直接在 Windows 上试试那些主要用在 Linux 上工具,如 Ruby、Git、Python 等等。”

已有 5 条评论

  1. 呵呵,网站是不是应该改成微软linux中国比较好 —— 来自广东广州的 Chrome 49.0|Windows 7 用户 发表。
  2. 每天都不少WIndows的东西,网站要变质了啊 —— 来自北京的 Firefox 38.0|GNU/Linux 用户 发表。
  3. "哈哈哈,事实上,微软近些年的动作让我们有些应接不暇。
    但是,只要微软支持开源,做出实质性的贡献,为什么不欢迎呢?不管其背后的目的是因为市场变化还是因为技术发展,只要真正在做有益于开源生态的事情,我们就欢迎。当然,之前臭名昭著的3E政策也是我们要警惕的,但是这不是我们拒绝正视微软努力的理由。
    作为一家商业公司,一旦发力和真正面对世界变化,其带来的影响力相当深远。

    不过,我们开源界也要加油,不能被比下去。作为本站,我们要多努力,多发一些Linux 和开源方面的内容。" —— linux [Chrome 49.0|Mac 10.11] 发表。
  4. 哈哈哈,我们等着微软收购呢——这当然是开玩笑。说句我对微软近些年的开源举措的态度,不回避,不主观,不妥协,不敌视。 —— linux [Chrome 49.0|Mac 10.11] 发表。
  5. 我是来看评论的!! —— hello_linux [Firefox 43.0|Windows 7] 发表。

添加新评论