回顧微軟的開源2019:“討好”開發者當開源圈的“萬人迷”
又到了年末各種盤點出爐的時候,開源圈今年雖然沒有“GitHub被微軟收購”、“Red Hat被IBM收購”如此重磅且出圈的新聞,但依然不失精彩。開源圈作為開發者密度最高的圈子,微軟作為開發者群體中“滲透率”最高的商業公司,微軟與開源之間的故事,天生自帶流量屬性。
本文就來和大家一起回顧微軟在2019 年與開源相關的重要事件—— 主要是引發較多關注和廣泛討論的新聞。
為了更好地理解微軟的開源2019,下面我們將會按不同的領域而非時間線進行回顧。
編程語言從擁抱Rust到開發基於Rust的安全編程語言
最初,微軟表示正探索將Rust作為C和C++的安全替代方案,並且也對外展示了使用Rust重寫Windows組件的體驗。根據微軟的說法,Rust是一種從根本上考慮安全性的編程語言,他們將嘗試使用Rust重寫各種產品,因為在過去的十年裡,微軟70%以上的安全補丁都提供了與內存相關的錯誤,而Rust正是解決這個問題的“良藥”。
到後來,微軟為解決相應內存問題所做的工作,他們決定開發基於Rust 的新編程語言 Verona,這是是用於微軟“安全基礎設施編程(safe infrastructure programming)”的一種新語言。
微軟推出新編程語言Bosque
微軟推出了一款全新的編程語言Bosque,該語言參考了TypeScript 的語法與類型,還有 ML 和Node/JavaScript 的語義,其作者認為 Bosque 超越了主流的結構化程序設計。
Bosque 由規範化程序設計思想而來,旨在解決當前結構化程序設計中遇到的這些問題,作者把結構化程序設計的興起認為是編程器與開發工具的第一個黃金時代,他相信此次提出的規範化編程模型將大大提高開發者的工作效率、提高軟件質量,並帶來編譯器和開發工具的第二個黃金時代。
微軟宣布加入OpenJDK 項目
微軟正式簽署了《Oracle 貢獻者協議》,甲骨文公司也對微軟參與該項目表示了認可及歡迎。
微軟及其子公司在許多方面都高度依賴Java,並且在微軟Azure 雲中向客戶提供Java 運行時服務。微軟已經認識到在甲骨文成功有效管理下的OpenJDK 項目所獲得的巨大價值,它收購了Java,得到了更廣泛的軟件生態系統,微軟也期待做出自己的一份貢獻,它表示自己的團隊在初期將致力於一些小的bug 修復和反向移植。
微軟開源其C++ 標準庫實現 STL
微軟開源了其MSVC 的C++ 標準庫實現(也就是STL),該庫實現是MSVC 工具集和Visual Studio IDE 的一部分。
微軟表示開源STL 可以使開發者隨時了解其發展情況,使用最新更新,並且幫助完善項目。“隨著C++ 標準化的加速發展,並且每年都會有更多的重大特性被投票,我們相信從開源貢獻中接受主要特性將很重要。”
微軟官方上線Python 教程
微軟上線了一套 Python 教程《Develop with Python on Windows》,文檔內容包括設置Python 開發環境、在Windows 與WSL 子系統中安裝相應開發工具,以及集成VS Code 與Git 工具並進行開發等。
開發工具微軟開源全新終端應用Windows Terminal
微軟在 Build 2019 大會上宣布開源全新的終端 Windows Terminal,這是一個全新的、流行的、功能強大的命令行終端工具。包含很多來社區呼聲很高的特性,例如:多Tab 支持、富文本、多語言支持、可配置、主題和样式,支持emoji 和基於GPU 運算的文本渲染等。
Visual Studio Online 公開上線
微軟在 Build 2019 大會上宣布了Web 版本的VS Code – Visual Studio Online,並在兩個月後的 Ignite 2019 大會上推出Visual Studio Online 公開預覽版。
▲Visual Studio Online
從頁面上直觀地看,VS Online 就是一個Web 版的VS Code,但這其實只是它的一個前端界面,這個基於網頁瀏覽器的編輯器同樣支持Git 存儲庫、擴展和內置的命令行接口,因此開發者可從任何設備編輯、運行和調試應用。而VS Online 更強大的能力來自於背後Azure 提供的雲計算能力,並且這些能力可以支持到VS Code 與VS 中,這意味著,其實開發者不使用瀏覽器也可以體驗到VS Online 帶來的強大雲計算資源支持。
微軟開源新字體Cascadia Code
Cascadia Code 是微軟在 Build 2019 大會上宣布推出的等寬字體,微軟介紹它是與新的終端Windows Terminal 一起開發的,官方建議將其與終端應用和VS、VS Code 等文本編輯器一起使用。
Cascadia Code 為命令行和代碼編輯器提供了全新的體驗,並且它還支持編程連字(Programming Ligatures),就是在編寫代碼的時候,可以組合字符創建新的字形,這對於代碼的可讀性和呈現後的用戶友好度都是一種很好的機制,同時這也增強了Windows Terminal 的現代外觀。
操作系統微軟在Windows 10中搞了個真正的Linux內核
2019 年微軟直接在Windows 中安上了一顆“Linux 內臟”,這顆Linux 內臟其實是今年5 月份在Windows 10 上推出的全新版本WSL(Windows Subsystem for Linux),新版本WSL 2 使用了全新的架構,這是一個真正的Linux 內核,它改變了Linux 二進製文件與Windows 和計算機硬件的交互方式。
微軟將exFAT 技術添加到Linux 內核
微軟宣布將其 exFAT 技術添加到Linux 內核中。exFAT 文件系統是FAT32 的替代者,它由微軟開發,但是不僅用於Windows 系統,目前exFAT 在整個電子行業中都得到了廣泛應用,特別是SD 卡、USB 閃存驅動、數碼相機和MP3 播放器中使用最為充分。
如今微軟開放了它的exFAT 技術,並且把技術規範公開,這意味著,往後 Linux 內核可以直接堂堂正正地將exFAT 支持開箱即用。微軟還強調了一句:Linux 社區可以放心地使用Linux 內核中包含的exFAT。
微軟將新版Edge 瀏覽器引入Linux
繼推出WSL2、將 exFAT 技術添加至Linux 內核,微軟再次瞄準了Linux。在Ignite 2019 大會上,微軟正式宣布Edge for Linux 不久後將會發布。
微軟高級編輯Zac Bowden 稱新的Edge 是完全跨平台的,該瀏覽器將是支持Windows 平台,包括服務器和客戶端,以及macOS、Android、iOS 和Linux。
微軟開源Bing 搜索背後的關鍵算法
微軟開源了一項Bing 搜索背後的關鍵算法——SPTAG,它使Bing 能夠快速將搜索結果返回給用戶。
SPTAG (Space Partition Tree And Graph)是分佈式近似最近鄰域搜索(ANN)庫,為大規模矢量搜索場景提供高質量矢量索引構建、搜索和分佈式在線服務工具包。利用SPTAG 算法作為開源Python 庫的核心,Bing 能夠在幾毫秒內搜索數十億條信息。
開源文化自由軟件之父RMS受邀到微軟發表演講
自由軟件運動發起人RMS 受邀在微軟進行了演講,其中談到微軟在開源上的貢獻,他表示微軟未來活動的主要動力,無論如何都必定是基於利潤的,微軟的開源貢獻其實對於“自由世界”毫無貢獻。
RMS 還給了微軟十條建議,代表性的包括開源Windows、收回“毒瘤”言論以及指導GitHub 正確許可證。
微軟將主辦首場Linux 會議 WSLConf
微軟公佈了明年3 月在Microsoft HQ 舉辦WSLConf 的消息,WSLConf 是由微軟主辦的首個與Linux 相關的會議,主要圍繞WSL 進行討論,內容涉及該平台的最新發展動態,也會介紹WSL 與一些IDE如Visual Studio 和JetBrains 的集成。
Canonical 宣布它將成為 WSLConf 的“特別贊助商”,畢竟Ubuntu 是最早與微軟合作的Linux 發行版,它也是WSL 中最受歡迎的版本。