developers
开发者

微软将开源 .NET,并推出跨平台版本

下一篇文章

YouTube 的音乐订阅服务将如何改变我们的音乐习惯?

在过去 12 年以来,.NET 架构 一直都是 Windows 应用程序开发者的编程规范。不过为了将自己的开发者工具普及到更多的平台上,微软在今天宣布了在不久的将来将 .NET 推向 Mac 和 Linux 平台的计划,届时所有服务器端的 .NET 核心代码将会开源(不包括客户端的 .NET),这一举措将在下个版本的 .NET 更新之后正式推行。

微软开发部门的副总裁 S. Somasegar 告诉我,现在有大概 600 万位开发者正在使用这个架构来开发应用程序。“我们在这方面取得了大规模的成功。”他说道。不过现在的问题是 .NET 以后将何去何从呢?微软在今年较早前已经开源了 .NET 的编译器 ,所以微软也不是第一次这样做了(虽然很多评论员都不太相信“微软”和“开源”这两个词语可以放在一起)。

但是从微软最近的举动来看,它在今天宣布的内容也没有完全出人意料。例如微软在今年举行的 Build 开发者大会上公布了 .NETFoundation,这个机构将会带领 .NET 架构开源化的项目。

net_oss

微软这次打算跟 Xamarin 资助的 Mono 社区 进行合作推进这个项目,其实这点也不足为奇,因为后者已经以 C# 为基础建立了一个开源的 .NET 架构。“在公布这一消息之后,我们会在接下来的几个月与 Mono 社区进行合作。”Somaseger 告诉我,“我们与 Xamarin 工作人员在这个项目上的合作关系十分紧密。”

Somaseger 表示他们希望在公布 .NET 的开源事宜之后马上着手进行它的跨平台工作。“我把这个看成是 .NET 的一个重大飞跃。”他告诉我。微软希望为 .NET 提供一个更广阔的平台,那还有比将它带到一个新平台更好的方式吗?

微软云端及企业事业群的执行副总裁斯科特·格思里(Scott Guthrie)在前几天接受我的采访时也表达了同样的想法。他还提到开发者们经常向微软反映,虽然他们都很喜欢 .NET,但是很多人都因为它是闭源而且只支持 Windows 而放弃使用它。“在本周三之后,所有不使用它的理由都会消失。”他告诉我。

Somasegar 还认为这种做法会为微软的合作伙伴带来大量全新的机遇。例如 Docker 的业务拓展兼技术联盟总监尼克·斯汀梅茨(Nick Stinemates)在今天的一份声明中表示,“Docker 开源平台的核心价值在于 Docker 的容器可以让应用程序在任意基础架构上转换。可以在所有主流平台上运行开源的 .NET 意味着微软正在扩展应用平台本身的可转移性。”

微软计划通过在 GitHub 建立一个 .NET 代码库来开展开源工作。虽然最终的版本会怎样还有待观察,但是 Somasegar 希望大家很快可以在 Microsoft Azure 服务器中使用 Linux 的 Docker 容器来运行一个 .NET 应用。

为了保护开发者的利益,微软在今天还公布了一份涵盖 Mono 项目和使用该项目的所有开发者的专利协议。

如果有一家公司对某个项目进行开源,用户通常会担心这意味着该公司将要放弃这个项目。但是 Somasegar 和格思里强调他们这种想法完全不适用于 .NET 的开源。

一份如此重大的声明通常都会带来很多的疑问——为了解答大家的疑问,Somasegar 先生答应了从太平洋时间早上 11:30 开始,在下方的评论为大家解答所有的提问。所以大家如果有任何问题都可以在这里提出。

翻译:关嘉伟(@consideRay

Microsoft Takes .NET Open Source And Cross-Platform