微軟的2018 開源大事記
從微軟公開宣布”Microsoft love linux”那一刻起,過去的幾年裡,微軟積極擁抱開源的舉動我們有目共睹,即便有過”Linux is a cancer”這種真香警告的flag,但不得不承認的是,微軟一系列“擁抱開源”的舉措為Linux社區乃至整個開源社區都帶來了很多巨大的驚喜。
2015年,微軟宣布支持開源編解碼器VP9,對自家的更多項目進行開源,並開始接受LLVM/Clang;而在2016年微軟收購了跨平台移動公司Xamarin,推出了Linux版的SQL Server,並表示會繼續開源。2017年也是非常有趣的一年,這一年,微軟加入了OSI組織(開源計劃,Open Source Initiative),繼續積極發展Windows的Linux子系統(WSL),並在Linux平台上為.NET開發提供更多的便利特性。但今年,2018年,可以說是微軟最令人感到驚訝的一年。
下面不妨回顧一下2018 年微軟與開源有關的“里程碑意義”事件:
1.微軟收購GitHub
2018年6月4日,微軟宣布以75 億美元的股票收購代碼託管平台GitHub,並由微軟副總裁、Xamarin 創始人Nat Friedman 擔任CEO 一職。消息公佈後,微軟表示 GitHub 將仍然是一個開放平台,並保留其開發者優先的風格,獨立運營。而這一事件,無論是對於微軟,還是整個開源界,都是一件可以載入史冊的大事。
2.微軟採用Chromium 內核開發桌面版Edge 瀏覽器
2018年12月,微軟通過其博客官方宣布:未來將採用Chromium 內核開發桌面版Edge 瀏覽器,以便為用戶帶來更好的Web 兼容性,並為所有Web 開發者減少Web 碎片化。
微軟還計劃將Edge 瀏覽器引入macOS 平台。此外,新版Edge 可運行在所有受支持的Windows 版本上,包括Windows 7 和Windows 8 系列—— 直到微軟終止支持,而不僅僅是Windows 10。
3.微軟加入OIN 社區,並開放6 萬多項專利
2018年10月11日,微軟宣布正式加入 Open Invention Network (“OIN”) 社區。可以把Open Invention Network 理解為是一個共享的防禦性專利池,它成立於2015年,旨在保護Linux 及其相關的開源項目。而為了提升Linux 和其他開源技術的優勢,微軟給 OIN 帶去了超過6萬項已發布的專利。
在同一個月,微軟宣布加入LOT Network。LOT Network 是一個不斷發展的非營利性社區,由谷歌、Dropbox 等數家科技公司聯合創辦,是一個專門用於對抗專利流氓的組織。微軟的加入意味著它正在就這一主題與其他行業領導者保持一致,並承諾在未來採取更多措施來應對知識產權風險。通過加入LOT Network,微軟承諾會將自家的專利免費許可給其他成員使用,而LOT Network 大約覆蓋了135 萬項專利。
4.微軟開源三個主要的Windows UX 技術:WPF, Windows Forms 和WinUI 框架
在微軟舉辦的 Microsoft Connect(); 2018 開發者大會上,微軟為 .NET 開發者帶來了重磅的信息。在大會上,微軟宣布開源三種主要的Windows UX 技術,分別是 Windows Presentation Foundation (WPF), Windows Forms 和Windows UI XAML 庫(WinUI)。
WPF 是用於構建桌面客戶端應用程序的UI 框架,具有應用程序模型、控件、圖形、佈局、數據綁定和安全性等功能。WPF 的核心是一個利用現代圖形硬件的渲染引擎。
Windows Forms 用於支持開發“智能客戶端(smart clients)”,微軟對其的描述為易於部署和更新的應用程序。無論這些應用程序是否連接到Internet,它們都可以正常工作。Windows Forms 中的表單是用於向用戶顯示信息的可視界面。WinUI 具有Windows 10 默認UWP XAML UI 平台的向後兼容實現。
5.微軟重新開源已誕生36 年的MS-DOS 1.25/2.0
2018年9月,微軟宣佈在 GitHub 上重新開源MS-DOS 1.25、2.0,相比原來的可下載壓縮文件更容易查找、閱讀和引用。MS-DOS 1.25、2.0 的所有源代碼都是用8086 彙編代碼寫的,其中86-DOS 的代碼最初完成於1980年12月29日。
而微軟開源放出的除了源文件和目標文件,還有一些有趣的.txt、.doc 文件,十分值得一讀,其中包括很多代碼註釋。
6.微軟的分佈式系統平台 Service Fabric 正式開源
2018年3月14日,微軟宣布正式開源Service Fabric,採用MIT開源許可證。Windows內部為Service Fabric開發了將近十年的內部服務,其中大部分時間都是微軟內部平台,比如Office 365,Azure Stack平台等。
其中包括 Reliable Services,Reliable Actors 和 ASP.NET Core 集成庫,Azure 基礎架構服務以及Azure SQL DB,Azure Cosmos DB 和Cortana 等大型解決方案都在使用Service Fabric 構建。
7.微軟正式開源Blazor ,將.NET 帶回到瀏覽器
2018年2月,微軟 ASP.Net 團隊正式開源Blazor,這是一個Web UI 框架,可通過 WebAssembly 在任意瀏覽器中運行.NET。
Blazor 旨在簡化快速的單頁面.NET 瀏覽器應用的構建過程,它雖然使用了諸如CSS 和HTML 之類的Web 技術,但它使用C#語言和Razor 語法代替JavaScript 來構建可組合的Web UI 。通過提供用於編譯到Web 的大小和高效加載的格式,WebAssembly 可讓.NET 在瀏覽器中運行。
8.微軟代碼託管平台CodePlex 正式關閉,進入封存狀態
隨著CodePlex的不斷沒落,微軟於2018年1月30日發文宣布,CodePlex.com 正式退役,現在打開該網址會跳轉到一個封存歸檔頁面。該存檔包含在2017年下半年進入只讀模式前託管到CodePlex上的所有項目。
CodePlex 是微軟於2006年推出的一個開源軟件託管平台,在提供服務11年之後,微軟於2017年4月1日宣布將關閉該平台,並給出了結束時間:2017年10月切換到只讀模式,12月徹底關閉(最終的關閉日期是2018年1月29日)。之後,CodePlex 將為之前的開源項目存檔,人們可以瀏覽並下載這些項目。
9.微軟力挺Go,宣布參與Athens 項目和 GopherSource
在2018年的 Go 開發者大會 GopherCon 上,微軟宣布要為Athens 項目貢獻代碼,以及與 GopherSource 進行合作。
Athens是一個開源項目,旨在為Go模塊(Go modules)創建首個代理服務器。微軟表示該項目目前仍處於alpha階段,並將聯合Athens社區繼續致力於改善模塊體驗,重點是確保Go模塊與所有代理服務器能無縫協作,並努力建立一個聯合的、組織多樣化的代理網絡。
而所謂的GopherSource 其實是一項新計劃,旨在通過在社區內為上游項目和關鍵Go 項目(如Athens)帶來更多用戶和貢獻者,以增強和實現 Go 生態系統的多樣化。