數週前,開源軟件愛好者 Eric S Raymond 提出的觀點引發熱議,他認為微軟應該在 Linux 內核基礎上重構 Windows。他認為目前個人電腦業務持續下滑,Windows 早已不再是微軟的支柱業務,通過重構能夠實現利潤最大化。 不過,曾參與 Windows Subsystem for Linux 的 Ubuntu 移植開發的 Hayden Barnes 對此持反對觀點,認為微軟不會基於 Linux 重構 Windows。
Hayden Barnes 是遊走在微軟和 Linux 社區之間的知名開發者,曾幫助 Windows Subsystem for Linux(WSL)上推進 Ubuntu 開發工作。因此他能夠和很多 Linux 開發人員、開源項目人員、社區成員和微軟員工進行交流。而且,他還作為 MVP (微軟最有價值專家)參與微軟產品和策略的各種簡報會。
對於近日流行的“微軟應該遷移 Windows 系統核心至 Linux 內核”説法,他表示從產品和工程角度來説微軟在任何情況下都不可能這麼做。
在説明具體原因之前,Barnes 認為在 Slashdot 和 Hacker News 上不斷出現這個觀點的原因:
● 能夠吸引用户點擊
● 對於開源和 Linux 倡導者來説,這是一個很早就存在的幻想。
● 目前,Windows 扮演的角色正在發生變化。尤其是當前 Android、iOS、macOS、Chrome OS 和 Ubuntu 都基於 Linux 的世界裏
● 伴隨着 Linux 在 Azure 和 WSL 的使用率增加,這種合理性正在不斷增加。奧弗頓之窗(The Overton Window)已經轉移。
對此,Barnes 認為微軟不會基於 Linux 內核來重構 Windows 理由如下
1.內核
Windows 系統中的 NT 內核提供了一定程度的向後兼容、長期支持和驅動程序可用性,而 Linux 還在不斷完善中。如果想要基於 Linux 重構,這必然需要耗費數百萬美元。微軟有很多付費客户可以繼續按原樣支持 Windows,某些已經有數十年了。
基於 Linux 重構 Windows,並不像 Raymond 所説的那樣能夠幫助微軟節省開支。很多盈利公司的存在都是為現有的操作系統而服務的。即便是最終基於 Linux,也可能會導致不良的內核單一化。
Windows 和 macOS 的競爭,才能讓 Linux 變成更好的操作系統。而更理想的結果是開源創新能夠在所有操作系統之間傳播,Windows 和 Linux 的開放源碼貢獻者能夠共享兩個生態系統的精華。
2.兼容性
目前尚不清楚如果 Windows 用户空間從 NT 遷移到 Linux 內核,是否能夠保持良好的兼容性,特別是那些擁有關鍵任務應用、付費獲取的東西。
Windows 沒有像 Linux 那樣嚴格區分內核空間和用户空間。NT 內核大約有 400 個已記錄的 syscalls 以及大約 1700 個已記錄的 Win32 API 調用。對於重新部署從而確保 Windows 開發者和他們工作達到預期的兼容性這是非常龐大的工作量,這完全超過了 Wine 提供的修正貢獻。
Linux 在 arm64 上只有 313 個 syscalls,而另一個原因是微軟已經從 WSL 1 中的 syscall 翻譯層(translation layer)轉換為 WSL 2 中的虛擬化內核,因此重新實現利用 Linux ABI 的數十種非標準方式是非常痛苦的事情。為微軟擁有的 Linux 上的SQL Server 提供一個 NT 相關的兼容層是一回事,為其他數百萬開發者的應用提供保證是另一回事。
3.微軟投入巨大
近年來,微軟在 Windows 上傾注的人力物力已經無法計算。微軟在 Windows 10 的可用性、新功能、性能改進等多方面進行了優化投資,並取得了回報。在這些改進的基礎上,通過和 OEM 廠商的合作,以及推出 Surface 品牌,已經幫助振興了 PC 市場。
微軟一直在努力使 Windows 成為一個優秀的開發平台,其項目包括 Windows Terminal、PowerToys、Windows Subsystem for Linux 和 Visual Studio 2019。Windows Insider 項目也非常成功。
目前,Windows 是包括 Surface 在內諸多產品的重要搭載系統,而這也是微軟重點耕耘的一項業務。2018年和2020年的內部重組表明,現在 Surface 和 Windows 的未來是密不可分的。Windows 為 Xbox 提供了動力,我們正處於一個主要基於Windows的PC遊戲的復甦期。
微軟也有 Windows 10X 的想法,這是繼 Windows 10 之後的下一個操作系統概念(我認為我們會逐步得到),未來的硬件如 Surface Neo 也在考慮之中。
4.沒有必要
不需要基於 Linux 重構 Windows,微軟也能保持相關性。在放棄移動市場之後,微軟已經意識到了設備格局的變化。
微軟認識到當前社會人類使用各種系統和各種平台,在系統上有 Android、Ubuntu、iOS、macOS、Chrome OS等等,而且除了 x86 之外還有 ARM。
微軟已經表示他們能夠適應這個多元的世界,在這些平台上推出了相關產品和服務,同時確保 Windows 在傳統領域的競爭力。目前微軟正基於 Android 和 iOS 推動移動領域的創新,不僅移植了微軟 Office ,而且還包括 Microsoft Launcher 在內的很多優秀應用,而且近期也推出了搭載 Android 系統的 Surface Duo 手機 。
在 Ubuntu 系統上,微軟推出了很多針對 Linux 工作站的工具,例如 Code, .NET, Azure tools, Teams, PowerShell, Sysinternals for Linux,以及即將到來的 Edge 瀏覽器。你想在Azure上運行Ubuntu嗎?微軟已經為你準備好了,並與Canonical緊密合作,讓你獲得美妙的體驗。
與其關心微軟是否基於 Linux 重構 Windows,更有趣的問題是微軟在開源上能走多遠?我們已經看到了 Windows Terminal, PowerToys 和其他 Windows 組件已經開源。而更合乎邏輯、符合實際的目標是,微軟將會繼續開放 Windows 組件和 Windows 開發過程,甚至於會超出 Windows Insider 項目範圍,為其他系統提供福利。
【來源:cnBeta.COM】