Build 2019 上微软的开源动作有点不一样

局长
 局长
发布于 2019年05月13日
收藏 6

微软今年举办的 Build 开发者大会可谓是抢足风头,大会第一天就放了不少大招:宣布新的命令行终端 Windows Terminal、Windows 10 的 Linux 子系统 WSL 2 将运行真正的 Linux 内核、跳过 .NET 4 宣布 .NET 5 的计划、宣布 Web 版本的 VS Code(Visual Studio Online)。

这种积极拥抱开源的态度对微软而言不是什么新鲜事,毕竟他们家的两个重量级项目 —— Visual Studio Code 和 .NET runtime 早已开源,并按照规范的开源、社区驱动的方式来运作。

但微软这次在 Build 2019 上的开源举动有点不一样。

我们都知道,微软在 Windows 10 一周年更新的版本中引入了名为 Windows Subsystem for Linux(WSL) 的 Linux 子系统,不过 WSL 只是 Linux 兼容层,而非真正的 Linux 内核,它是由微软自己开发的内核组件,提供了与 Linux 内核相同的 API,本质上是将 Linux API 翻译到 Windows NT kernel API。

由于 WSL 使用的是自研的内核组件,所以它天生就有不少缺陷,例如无法使用 Linux 驱动(尤其是文件系统驱动),这使得它的文件系统性能只有真正内核的二十分之一。另外,WSL 提供的 API 集也比较陈旧,甚至部分 API 都没有实现,还有的 API 即便实现了也只是部分实现。

这里有人可能会问,反正 Linux 内核是开源的,既然微软自己做得不好,为什么不直接把现成的拿过来用呢?微软当然不傻,之所以选择自研正是为了避免使用 Linux 内核的代码,因为 Linux 内核使用的 GPLv2 许可证具有“传染性”,这可能会迫使微软开源 WSL,甚至 Windows 系统的部分代码。虽然微软爱开源,但也怕爱过了头。

所以刚被公布的 2 代 WSL 才会显得有点不一样。微软表示 WSL 2 会在轻量级的虚拟机里运行真正的 Linux 内核。通过运行完整的内核,WSL 2 不仅大幅度提升了文件系统性能,也提供了完整的系统调用兼容性。

更重要的是,WSL 2 这次不再“畏惧” Linux 内核所采用的 GPLv2 许可证,因为微软宣布它将根据许可证要求完全开源 WSL 2 的内核补丁和修改

基于 GPL 许可证的项目构成了 Windows 系统的一部分,这意味着它骨子里已经拥有开源的“基因”,身上某处流淌的是开源的“血液”。

除了运行真正 Linux 内核的 WSL 2,新发布的命令行终端 Windows Terminal 也是这次大会上的那个“不一样”

“Windows Terminal”的图片搜索结果

相信很多人都知道 Windows 的命令行工具(cmd.exe)依赖于一个名为 conhost.exe 的程序,它在系统中被称为“控制台窗口主机”,是命令行程序的宿主进程。

conhost.exe 实现了 Windows 命令行工具的基础架构,同时提供 Windows Console API、输入引擎、渲染引擎和用户配置信息,在系统中是一个十分重要且核心的程序。

作为 Windows Terminal 项目的一部分,微软采用 MIT 许可证将 conhost.exe 一同开源出去。这绝对称得上是史无前例的操作,虽然微软此前也曾将 Windows 系统里面的项目进行开源,但都是一些不太重要的工具,如计算器,或是其他已不再更新的程序。

这次将 conhost.exe 开源,不但是微软首次开源核心的 Windows 系统代码,更重要的是,如果 Windows Terminal 稳定后并被集成到 Windows 系统中,那么它将是首个以开源方式进行开发的 Windows 核心组件。

上面的两个“不一样”可以让我们深刻感受到微软的转变,从它对待开源的态度,对开源的贡献,不难看出微软把开源看得十分重要 —— 不再仅仅是将一个个独立的项目开源,而是将开源融入到 Windows 系统乃至微软的方方面面,并且能够持续发展。

一直以来,大家都不认为、更不相信微软会开源 Windows 系统,但按现在的趋势,有生之年见证微软开源 Windows 系统也不是没可能的事,你觉得呢?

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Build 2019 上微软的开源动作有点不一样
加载中

精彩评论

南漂一卒
南漂一卒
鲍尔默:开源、Linux 是毒瘤!
纳德拉:真香!
月影南溪
月影南溪

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。
.net 4从 4.0 已经到4.8.X了,你说宣布.net5是什么意思?
RGW
RGW
微软这时的转变是正确的,未来是服务的天下,系统沦为开发工具

最新评论(18

c
crystalsis

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。

引用来自“少年你还不懂事”的评论

微软自个儿说的,怎么个带节奏?
微软说的是跳过了dotNet Core 4让dotNet Core和dotNet Framework版本号统一,dotNet 4都哪年的事儿了,另外这篇是常识性错误,不是带节奏,否则我就不会说是让他专心去带节奏了。
Raphael_goh
Raphael_goh

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。

引用来自“月影南溪”的评论

.net 4从 4.0 已经到4.8.X了,你说宣布.net5是什么意思?

引用来自“我去又空指针”的评论

你没看原文,原文写的是.NET Core ,当前版本是3.0,跳过了4.0,发布.NET 5 = .NET Core vNext
我们跳过了版本 4,因为它会让熟悉 .NET Framework 的用户感到困惑,因为 .NET Framework 已经使用了很长时间的4.x系列。此外,我们希望清楚地传达 .NET 5 是 .NET 平台的未来。将其称为 .NET 5 使其成为我们发布过的最高版本。

原文就是这样写的。
我去又空指针
我去又空指针

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。

引用来自“月影南溪”的评论

.net 4从 4.0 已经到4.8.X了,你说宣布.net5是什么意思?
你没看原文,原文写的是.NET Core ,当前版本是3.0,跳过了4.0,发布.NET 5 = .NET Core vNext
很拽De土豆
很拽De土豆

引用来自“robortly”的评论

不喜欢微软过多的开源,开源的东西如果没有人去推动很难做好,还是比较相信闭源的内核为商业提供持续坚固的动力。
你去看下vsc开源做得如何,不开源的东西有几家敢用的,尤其是当初的.net生态。
少年你还不懂事
少年你还不懂事

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。
微软自个儿说的,怎么个带节奏?
Zifirery
Zifirery
还真有可能开源系统 现在微软的收入开源中windows的收入比重在逐渐减少
月影南溪
月影南溪

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你

引用来自“crystalsis”的评论

相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。
.net 4从 4.0 已经到4.8.X了,你说宣布.net5是什么意思?
CaMelHuMp
CaMelHuMp
支持微软给OpenJDK也贡献代码
c
crystalsis

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼

引用来自“局长”的评论

@crystalsis 智商不够出门左转适合你
相信您的智商很高,高达250,高到你发的每一个新闻不是带节奏就是有根本性的错误。
局长
局长

引用来自“crystalsis”的评论

你还是别发新闻了,专心带节奏去吧,跳过 .NET 4 宣布 .NET 5 的计划是什么鬼
@crystalsis 智商不够出门左转适合你
返回顶部
顶部