Build 2019 上微软的开源动作有点不一样
微軟今年舉辦的 Build 開發(fā)者大會可謂是搶足風(fēng)頭,大會第一天就放了不少大招:宣布新的命令行終端?Windows Terminal、Windows 10 的 Linux 子系統(tǒng)?WSL 2 將運行真正的 Linux 內(nèi)核、跳過 .NET 4 宣布 .NET 5 的計劃、宣布?Web 版本的 VS Code (Visual Studio Online)。
這種積極擁抱開源的態(tài)度對微軟而言不是什么新鮮事,畢竟他們家的兩個重量級項目 —— Visual Studio Code 和?.NET Runtime 早已開源,并按照規(guī)范的開源、社區(qū)驅(qū)動的方式來運作。
但微軟這次在 Build 2019 上的開源舉動有點不一樣。
我們都知道,微軟在 Windows 10 一周年更新的版本中引入了名為?Windows Subsystem for Linux (WSL)?的 Linux 子系統(tǒng),不過 WSL 只是 Linux 兼容層,而非真正的 Linux 內(nèi)核,它是由微軟自己開發(fā)的內(nèi)核組件,提供了與 Linux 內(nèi)核相同的 API,本質(zhì)上是將 Linux API 翻譯到 Windows NT kernel API。
由于 WSL 使用的是自研的內(nèi)核組件,所以它天生就有不少缺陷,例如無法使用 Linux 驅(qū)動(尤其是文件系統(tǒng)驅(qū)動),這使得它的文件系統(tǒng)性能只有真正內(nèi)核的二十分之一。另外,WSL 提供的 API 集也比較陳舊,甚至部分 API 都沒有實現(xiàn),還有的 API 即便實現(xiàn)了也只是部分實現(xiàn)。
這里有人可能會問,反正 Linux 內(nèi)核是開源的,既然微軟自己做得不好,為什么不直接把現(xiàn)成的拿過來用呢?微軟當(dāng)然不傻,之所以選擇自研正是為了避免使用 Linux 內(nèi)核的代碼,因為 Linux 內(nèi)核使用的 GPLv2 許可證具有“傳染性”,這可能會迫使微軟開源 WSL,甚至 Windows 系統(tǒng)的部分代碼。雖然微軟愛開源,但也怕愛過了頭。
所以剛被公布的 2 代 WSL 才會顯得有點不一樣。微軟表示 WSL 2 會在輕量級的虛擬機(jī)里運行真正的 Linux 內(nèi)核。通過運行完整的內(nèi)核,WSL 2 不僅大幅度提升了文件系統(tǒng)性能,也提供了完整的系統(tǒng)調(diào)用兼容性。
更重要的是,WSL 2 這次不再“畏懼” Linux 內(nèi)核所采用的 GPLv2 許可證,因為微軟宣布它將根據(jù)許可證要求完全開源 WSL 2 的內(nèi)核補丁和修改。
基于 GPL 許可證的項目構(gòu)成了 Windows 系統(tǒng)的一部分,這意味著它骨子里已經(jīng)擁有開源的“基因”,身上某處流淌的是開源的“血液”。
除了運行真正 Linux 內(nèi)核的 WSL 2,新發(fā)布的命令行終端 Windows Terminal 也是這次大會上的那個“不一樣”。
相信很多人都知道 Windows 的命令行工具(cmd.exe)依賴于一個名為 conhost.exe 的程序,它在系統(tǒng)中被稱為“控制臺窗口主機(jī)”,是命令行程序的宿主進(jìn)程。
conhost.exe 實現(xiàn)了 Windows 命令行工具的基礎(chǔ)架構(gòu),同時提供?Windows Console API、輸入引擎、渲染引擎和用戶配置信息,在系統(tǒng)中是一個十分重要且核心的程序。
作為 Windows Terminal 項目的一部分,微軟采用?MIT 許可證將 conhost.exe 一同開源出去。這絕對稱得上是史無前例的操作,雖然微軟此前也曾將?Windows 系統(tǒng)里面的項目進(jìn)行開源,但都是一些不太重要的工具,如計算器,或是其他已不再更新的程序。
這次將 conhost.exe 開源,不但是微軟首次開源核心的 Windows 系統(tǒng)代碼,更重要的是,如果 Windows Terminal 穩(wěn)定后并被集成到 Windows 系統(tǒng)中,那么它將是首個以開源方式進(jìn)行開發(fā)的 Windows 核心組件。
上面的兩個“不一樣”可以讓我們深刻感受到微軟的轉(zhuǎn)變,從它對待開源的態(tài)度,對開源的貢獻(xiàn),不難看出微軟把開源看得十分重要?——?不再僅僅是將一個個獨立的項目開源,而是將開源融入到 Windows 系統(tǒng)乃至微軟的方方面面,并且能夠持續(xù)發(fā)展。
一直以來,大家都不認(rèn)為、更不相信微軟會開源 Windows 系統(tǒng),但按現(xiàn)在的趨勢,有生之年見證微軟開源 Windows 系統(tǒng)也不是沒可能的事,你覺得呢?
原文地址:https://news.cnblogs.com/n/625180/
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的Build 2019 上微软的开源动作有点不一样的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: aelf帮助C#工程师10分钟零门槛搭建
- 下一篇: 在kubernetes 集群内访问k8s