Categories
科技報導

回顧微軟的開源 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 運算的文本渲染等。

回顧微軟的開源 2019:“討好”開發者 當開源圈的“萬人迷” 1

Visual Studio Online 公開上線

微軟在 Build 2019 大會上宣布了 Web 版本的 VS Code – Visual Studio Online,並在兩個月後的 Ignite 2019 大會上推出 Visual Studio Online 公開預覽版。

回顧微軟的開源 2019:“討好”開發者 當開源圈的“萬人迷” 2

▲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 的現代外觀。

7ad5571dfce616276ca5a92b462650664f3.jpg

操作系統微軟在 Windows 10 中搞了個真正的 Linux 內核

2019 年微軟直接在Windows 中安上了一顆“Linux 內臟”,這顆Linux 內臟其實是今年5 月份在Windows 10 上推出的全新版本WSL(Windows Subsystem for Linux),新版本WSL 2 使用了全新的架構,這是一個真正的Linux 內核,它改變了 Linux 二進製文件與Windows 和計算機硬件的交互方式。

回顧微軟的開源 2019:“討好”開發者 當開源圈的“萬人迷” 3

微軟將 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 中最受歡迎的版本。