上周三,微软宣布他们正在将其 .NET 平台的服务器端过渡到开源。正如他们在网站上所声明的那样
微软正在开源提供完整的 .NET 服务器堆栈,包括 ASP.NET、.NET 编译器、.NET Core 运行时、框架和库,使开发者能够在 Windows、Mac 或 Linux 上使用 .NET 进行构建。
什么是 .NET?
可以将 .NET 视为类似于 Java 的技术平台。它为网络、Web 应用程序和图形用户界面提供支持。.NET 和 Java 都提供了一个 虚拟机,可以在其中执行应用程序。通常在 .NET 上,这些应用程序将用 C# 编程语言编写,以在虚拟机之上运行。到目前为止,.NET 仅在 Microsoft Windows 操作系统上运行。
自 2004 年以来,mono 项目 提供了 .NET 平台的开源重新实现,该平台通常在 Linux 下使用。Migel de Icaza,mono 项目的创始人兼 Xamarin 的首席技术官,该公司为 mono 提供商业支持,上周在 Connect(); 大会上与微软高管一同登台,宣布 .NET 开源。
Xamarin 在他们的博客上庆祝了这一消息,Migel de Icaza 在一篇个人博客文章中进一步阐述
通过 Mono 项目,我们已经花了 14 年时间致力于开源 .NET。微软发布 .NET 并发布专利承诺将确保我们所有人都能合作,并构建一个更具活力、更丰富、更大的 .NET 社区。
开源了什么?
.NET 服务器端堆栈的几个层是在开源许可下提供的。更具体地说,C# 编译器 Roslyn,已于今年早些时候由微软根据 Apache 2.0 许可证开源。Roslyn 的源代码可以从 codeplex 下载,有关如何参与和贡献的指南已发布。
.NET Core 5 是一个模块化开发堆栈,是所有未来 .NET 平台的基础。它是根据 MIT 许可证提供的。当前的初步版本包括提供以下支持的库:不可变容器、元数据读取器、SIMD 向量类型和 XML 管理。
除了这些公告之外,还有 Visual Studio 2015 的新版本。它是 Visual Studio Community 2013 的免费(但不是开源)版本,它取代了 Visual Studio Express,后者多年来一直是 Visual Studio IDE 的免费版本。Visual Studio Community 2013 对个人开发者和团队人数少于五人的公司免费。
目前,允许 .NET 在 Linux 和 iOS 上运行的代码尚未构建。预计我们将在未来几个月内看到这些代码。
社区的重要性
微软计划与社区中的开发者(包括 mono 社区)合作,将 .NET 平台引入 Linux 和 Mac OS。拥抱社区贡献的重要性是微软准备开源 .NET 服务器端时的 关键讨论点之一 。
微软这一有些出人意料的举动对所有参与者来说都是一个胜利。这意味着 .NET 和 mono 开发者社区现在可以共同在一个统一的池中工作,在那里他们可以使用更多的工具和资源。它同时为所有这些开发者提供了更广泛的平台来部署他们的应用程序,包括 Mac OS、Linux、iOS 和 Android。Linux 采用者的一个明显胜利是即将涌入的 .NET 应用程序,现在可以在那里移植和部署,以及大量可以维护这些应用程序并带来新应用程序的 .NET 开发者。
为了支持围绕 .NET 的开源社区,微软成立了 .NET 基金会。他们在 GitHub 上有一个组织门户,.NET 核心库的源代码正在根据 MIT 许可证发布。
.NET 基金会的目标是促进开放开发和协作。它还...
...充当商业和社区开发者的论坛,通过促进开放性、社区参与和快速创新来加强 .NET 生态系统的未来。
伴随这些公告,微软开发者部门公司副总裁 Soma Somasegar 发表了富有洞察力的声明。特别是,他评论说,使 .NET 开源的工作 大约在三年前开始。
关于此消息的另一个精彩评论来自 Linux 基金会执行董事 Jim Zemlin,在他的博客中提到
[微软]参与这些努力凸显了一个事实,即在过去的几十年里,软件的构建方式发生了根本性的变化。今天,大多数软件都是协作构建的。开源开发的本质是加速技术,这就是为什么今天的竞争如此激烈,事物发展速度比以往任何时候都快。
5 条评论