3 年前,微软宣布开源 .NET 框架的大部分内容。正如Scott Hanselman在Connect
2016主题演讲中所说的那样,微软一直在做重大贡献:

微软一直在朝着更加开放的方向努力。例如,公司首席执行官萨特亚纳德拉(Satya
Nadella)在Windows
10预览发布会上声称微软喜欢Linux,这并不出人意料,但是对于一家将Linux视作威胁的公司来说,发表这样的声明还是需要很大的勇气和魄力的。

澳门新葡萄京官网注册 1

2014年11月12日,ASP.NET之父、微软云计算与企业级产品工程部执行副总裁Scott
Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET
扩展为可在 Linux 和 Mac OS
平台上运行。.NET核心运行时将基于MIT开源许可协议发布,其中将包括执行.NET代码所需的一切项目——CLR、JIT编译器、垃圾收集器(GC)和核心.NET基础类库。此外,微软还发布了Visual
Studio Community 2013,这是Visual
Studio的一个新的免费版本。.NET使用MIT协议开源,让它在Linux和OS
X系统上也能够运行。开发商们将能够在全球三个最大的操作系统上使用.NET框架了。具体内容可以参看,这里上图更直观:

开源 .NET 框架并不总是一帆风顺的,可以肯定的说,总是会遇到一些困难。

澳门新葡萄京官网注册 2

在过去的三年中,发生了一些值得注意的事:

Visual Studio Community
2013将免费提供给用户,同时还具备全部的可扩展性。那包括了5000多个Visual
Studio的扩展件。最后,与Windows 10预览版一样,微软还发布了Visual Studio
2015预览版和.NET 2015预览版。安装Visual Studio社区版了。

  • 三星开发者已经为CoreCLR源代码作出了重大贡献,用以支持 Tizen 操作系统

  • 微软真的一直支持开源,你可以看它在 GitHub 上发布源代码的频率

  • .NET Core 和 Mono 之间已经有了更深层次的整合

  • .NET Core的性能得到了显着提升

  • .NET Core和.NET
    Desktop 现在已经有了很大的分歧(尽管它们仍然共享代码,比如JIT,GC)

  • 微软已经做出了一致努力,确保所有的开源代码都可以使用其他开源代码来构建

  • 已经开始开发本地GC,目的是“运行其余部分分离的GC”

  • .NET将最终实现分层编译

 有了它,你还可以免费下载和使用5000多个Visual
Studio插件。其中包括
示例代码浏览器,Unity插件,等等。

数据库活动随着时间的推移变化,在数据上,首先我们要看每个 repo 的活动水平:

.NET Core Framework团队的高级程序经理Immo
Landwerth,也在.NET框架的官方博客上宣布了.NET
Core开源的消息。.NET
Core是一个模块化的开发栈,它是未来的所有.NET平台的基础。

澳门新葡萄京官网注册 3

Immo Landweth提到,之所以要开源.NET Core,有两大原因:

社区/微软的总体参与情况:

  1. 作为跨平台的.NET的基础。
  2. 构建并受益于一个更为强大的生态系统。

澳门新葡萄京官网注册 4

比如.NET和Mono两者是完全独立的,很多代码是平台无关的,所以很多工作都是重复劳动。合作构建一个单一的软件栈是最理想的。

很明显,社区将继续在 .NET 开源项目上进行投资,这对所有 .NET
开发人员都有好处。

Mono 老大Miguel de Icaza 也在博客中针对这个事件发布博文:Microsoft Open
Sources .NET and
Mono,
09年公开源代码使用的参考协议与 Open Source Initiatives 定义的“开放源代码”系统是冲突的,所以 Mono 的人既不能看,也不能用。当然现在这些限制都没有了。.NET基于MIT这一非常宽松的许可协议开源,此外微软还提供了一份专利承诺,都有助于.NET得到应用,同时避免开源、Unix和自由软件社区曾出现过的持续数年的问题。他的团队可以利用微软的开源实现,来解决Mono代码库不完整或者存在错误的地方。Mono团队的下一步计划是将.NET开源代码整合进入Mono。这个周末mono项目会更新整个计划,等着周末的好消息。

来自:mattwarren

微软开源.NET一事在社区引发了强烈反响,Hack
News上相关的讨论已经有800多条。很多钟爱C#语言的Unix/Linux用户对此非常欢迎。也有人认为,到了这个时代,在存在替代选择的情况下,开发者已经没有理由为操作系统付费。他们可以选择云服务。微软此举只是吸引更多开发者使用其Azure服务。有趣的是,开发者社区总少不了语言优劣的争论,不少人认为C#是最优秀的语言,很多人就语言的优劣展开了讨论。

 

开放与封闭是伪命题,巨头可以变着把戏玩

微软宣布.NET开发环境将开源 支持Mac OS
X和Linux

微软宣布将开源.NET核心运行时,并将支持Linux和Mac
OS

拥抱开源,走向跨平台:微软全面的端到端解决方案让开发者如虎添翼

微软发布新款模拟器:用VS做Android开发更容易

微软借力.NET开源跨平台支持,布局物联网平台开发

从.NET的开源到纳徳拉时代的「新微软」

.NET 開源三部曲(一): .NET 基金會及 Roslyn
編譯器

.NET 開源三部曲(二): ASP.NET vNext 開源及 .NET
Core

.NET 開源三部曲(三):如何迎接新的 .NET
時代