GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

jopen 7年前發布 | 33K 次閱讀 微軟 Github

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

作者|木

環編輯|小智

在 GitHub 上貢獻最多的公司,不是 非死book,也不是 Google,而是微軟。InfoQ 對微軟數個較受社區歡迎的項目進行了整理,以饗讀者。希望開源的精神,能給技術社區帶來更多的實惠!

寫在前面

提起微軟公司,不少人第一反應是老牌巨頭專注于私有化軟件盈利模式,這大抵是源于微軟前 CEO Steve Ballmer 曾經宣稱“Linux 是顆毒瘤(Linux is a cancer)”,并曾經偏執地認為所有開源軟件都不值一提。但是,這是 2001 年的事情了,是時候更新大家對微軟的刻板印象。

這里,不提繼任者 Satya Nadella 的微軟擁抱開源進行新式轉型的決策,也不提微軟去年加入 Linux 基金會等開源組織的舉動。單單而言,只問一個問題:哪家公司在 GitHub 上貢獻最多?不是 非死book,也不是 Google,而是微軟公司,這個第一名還是多少有些出人意料。

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

2014 年 10 月,出任微軟首席執行官的薩提亞? 納德拉,第一次公開宣布“微軟愛 Linux”。同年,微軟首次發布 .NET Core 并將其開源;眾所周知,微軟核心的技術棧長期以來基于 .NET 和 Windows 綁定。在重寫標準庫之后,2016 年 6 月 .NET Core 1.0 實現跨平臺(Windows、Linux 和 Mac),這意味著開發者可以使用 Windows 開發而 Linux 部署。

2016 年 3 月,Windows 原生支持 Ubuntu Linux Bash, 這意味著 Windows 操作系統級別的開放,Win10 可以當作一臺 Ubuntu 開發機來使用。

此外,微軟稱 Azure 全面支持所有開源技術棧,并且從 IaaS(VM),PaaS 和 SaaS(CRM、PowerBI、Office365)全面支持用戶的靈活選擇。

InfoQ 對數個較受社區歡迎的項目進行了整理如下:

 Visual Studio Code:跨平臺源代碼編輯器

Visual Studio Code 是微軟于 2015 年正式發布的項目,可以運行在 Mac OS X、Windows 和 Linux 之上,面向 Web 和云應用的一款跨平臺源代碼編輯器。

雖然它的名字與 Visual Studio 相近,但前者是代碼編輯器,后者是集成開發環境(IDE)并且目前只運行在 Windows 上。

Star 數量: 24. 3k;  Fork 數量:3. 3k

GitHub 主頁:https://github.com/Microsoft/vscode

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

TypeScript:開源編程語言,JavaScript 的超集

TypeScript 是 JavaScript 強類型的超集,可以編譯成純 JavaScript。由微軟開發的自由和開源的編程語言,可以運行在各類瀏覽器和操作系統之上。

Star 數量:19. 8k ;Fork 數量:2. 8k

GitHub 主頁:https://github.com/Microsoft/TypeScript/

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

  CNTK: 深度學習開源工具包

CNTK 全稱為 The Microsoft Cognitive Toolkit, 將神經網絡描述為計算機可處理的有向圖,有向圖的葉節點表示輸入值或網絡參數,其他節點表示輸入對應的矩陣運算。CNTK 便于實現并且也結合了很多流行計算模型如前饋 DNN,卷積網(CNN)和復現網絡(RNN / LSTM)。它可以跨多個 GPU 和服務器實現隨機梯度下降(SGD,誤差反向傳播)學習與自動微分和并行化。

可以在 Python 或者 C++ 語言中如同庫版應用,也可以使用其自有的描述語言 BrainScript 單機化使用。CNTK 可適用于 64 位的 Linux 和 Window,于 2015 年 4 月開源。

下圖比較 CNTK 的處理速度(每秒處理的幀數)與四個其他眾所周知的工具包的處理速度。 配置使用完全連接的 4 層神經網絡(參見微軟的基準腳本)和有效的迷你批量大小(8192)。在相同硬件上獲得的結果。

Star 數量:9. 9k;Fork 數量:2. 4k

GitHub 地址:https://github.com/Microsoft/CNTK

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

  Donnet:采用系統虛擬機運行的編程平臺

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

.NET 是微軟研發的 XML Web services 平臺,此框架支持多種語言(如C#、F#、VB.Net、C++、Python 等)的開發。.NET 框架歷經亟待,最終于 2014 年開源。

C#通常被認為是微軟專屬,是 .NET 框架上最常用的編程語言之一, 其著名競爭對手是 Java。

Star 數量: 7. 8k ;Fork 數量:1. 2k

GitHub 主頁:https://github.com/Microsoft/dotnet/network

PowerShell :為任何系統提供 Windows 的命令行工具

一個跨平臺(Windows、Linux 和 macOS)自動化和配置工具/框架,可與現有工具完美配合,并優化用于處理結構化數據(例如 JSON,CSV,XML 等)、REST API 和對象模型。 它包括命令行 shell,相關的腳本語言和用于處理 cmdlet 的框架。

Star 數量:6. 4k;Fork 數量:800

GitHub 地址:https://github.com/PowerShell/PowerShell

MSOpenTech/redis: 在 Windows 使用 Redis

官方只支持 64 位,可自行構建 32 位版。

該開源項目,在 2.8 版本中,替代 UNIX fork()API 中的內存映射文件模擬寫時復制行為。 版本 3.0 類似,為了便于系統文件分頁,刪除了內存映射文件,在管理堆碎片方面進行了改進。

Redis 對文件描述符的值做了一些假設,微軟構建了一個虛擬文件描述符映射層。

Star 數量:5. 8k;Fork 數量:8. 7k

GitHub 地址:https://github.com/MSOpenTech/redis

  WinObjc:Windows 下的 Objective-C

為 Visual Studio 提供了一個 Objective-C 開發環境并支持 iOS API。通過重新使用 Objective-C 代碼和 iOS API,配以 Windows 自有 Cortana(中文名:微軟小娜,微軟發布的全球第一款個人智能助理)和通知等功能,用戶可以創建通用 Windows 平臺(UWP)應用程序并運行在 Windows 設備上。

Star 數量:5. 8k;Fork 數量:745

GitHub 地址:https://github.com/Microsoft/WinObjC

GitHub 地址:https://github.com/Microsoft/api-guidelines

ASP.NET 之 MVC 核:模型(model)-視圖(view)-控制器(controller)框架

旨在 TDD 友好,用于創建符合最新 Web 標準的復雜應用程序、構建動態網站,可以在 IIS 中托管或自我托管。

Star 數量:4. 4k;Fork 數量:1. 6k

GitHub 地址:https://github.com/aspnet/Mvc

BashOnWindows:解決 Ubuntu Bash 在 Windows 的使用問題

微軟在 Build 2016 大會上宣布了一條振奮人心的消息,大家驚呼 Ubuntu on Windows。Bash on Windows 為開發者們提供了 Bash shell、Linux 類似環境,在不需要 Linux 虛擬機的情況下,大部分的 Linux 命令行工具基本上可以不經修改地運行在 Windows 上。

Star 數量:3. 7k;Fork 數量:129

GitHub 地址:https://github.com/Microsoft/BashOnWindows

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

  monaco-editor:基于瀏覽器的代碼編輯器

與 Visual Studio Code 類似,Monaco Editor 提供代碼提示、智能建議等代碼編輯器的功能,它運行在瀏覽器環境中,旨在開發人員們可以遠程更方便地編寫代碼。與 Visual Studio Code 版本相比,Monaco 是一個直接映射源代碼的庫。

Star 數量:4k;Fork 數量:265

GitHub 地址:https://github.com/Microsoft/monaco-editor

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

DMTK:分布式機器學習框架

微軟的 DMTK(Distributed Machine Learning Toolkit)參數服務器框架有很多版本:

LightLDA:用于大規模主題建模的可擴展、快速和輕量級系統。

LightGBM:基于決策樹算法的快速、分布式、高性能梯度提升(GBDT,GBRT,GBM 或 MART)框架,用于排名、分類和許多其他機器學習任務。

分布式詞嵌入(word embedding):實現的詞嵌入的分布式算法。

Star 數量:2k;Fork 數量:487

GitHub 地址:https://github.com/Microsoft/DMTK

Azure 相關:文檔、SDK 和代碼示例

微軟支持開發者們將各種開源軟件工具和技術帶入 Azure。Azure 應用市場支持很多 Linux 分發,包括 Ubuntu、Debian 和 SUSE;也支持借助支持 Node.js、PHP、Python 和 Java 的 Azure 應用服務,生成 Web 和移動應用。

在 GitHub 上 Azure 相關的存儲庫有 1700+ 個。

Star 數量(共計):149k;Fork 數量(共計):291k

地址:https://azure.microsoft.com/zh-cn/overview/open-source/

GitHub貢獻第一的是這家「因循守舊」的公司?微軟開源軟件列表

寫在最后

開源已經形成潮流,一家軟件公司的競爭對手可能是同行企業,還可能是開源項目。

不過開源可不是公益,公司還是以贏利為導向的,那么開源對公司而言利益是什么呢?首先,企業級版本的使用往往并不免費,并且相關的技術支持、安裝、系統整合、認證和培訓等服務也是收取費用的。 其次,項目開源之后,可以吸引社區中對此熱情的開發者們。傳統模式下,軟件巨頭公司需要雇傭大量工程師進行開發、測試和本地化等。但是,開源相當于把一部分工作“外包”給社區。

此外,如果開源項目代碼優質,則會很好地塑造技術形象并在開源圈產生影響力,從而起到推廣公司品牌的作用。更重要的是,公司可以接觸到社區中的高尖專家程序員,增加了對他們的吸引力也就增加了更多招納賢士的可能性,他們有可能會以兼職或者全職的形式加入公司。單純對項目本身而言,如果被其他公司采用、再回饋到社區,這是優化項目和豐富使用場景的良性循環。

其實微軟很早開始關注社區開發者并有了開源的舉措:MSDN 實現創立于 1992 年是使用層級的技術文件開放;CodePlex 創立于 2006 年先后托管了很多開源項目;CodePlex Foundation 開放源碼基金會成立于 2009 年。

那么微軟之外世界的時間發展線是怎樣的呢?雖然其他幾家開源軟件基金會更早成立(自由軟件基金會 1985 年、OSI 開發源代碼促進會 1998 年、Apache 軟件基金會 1999 年、Eclipse 基金會 2004 年、軟件自由管理委員會 2006 年);但是程序界的大規模化關注并參與開源并不比微軟的步伐早:1991 年 Linux 源代碼開源;2007 年 Linux 基金會成立,而 GitHub 也開始提供軟件源代碼托管服務;2008 年 StackOverflow 問答討論網站建立。

如此看來,其實微軟并沒有一直盲目趕路,并且也有著不算落后的開源和社區意識。不過,緣何留下了保守不開源的刻板印象?是因為 2001 年時前 CEO 的武斷宣言?還是開源之路態度不夠堅決、宣傳力度不夠?亦或是社區更歡迎獨立的第三方開源平臺而非某家企業的托管平臺?不過,可以確定的一點是,如之前宣傳的那樣“Microsoft Loves Linux”,微軟擁抱開源;并且更大程度地擁抱社區的選擇(如 GitHub、StackOverflow 平臺)。微軟設的最有價值專家獎(Microsoft MVP Award)也開始歡迎開源社區的活躍分子加入。

有人認為微軟這些開源舉動晚了,錯失了很多機會。不過,“種一棵樹最好的時間是十年前,其次是現在”。業界接下來應該更關注的是,微軟究竟會將開源做到什么程度,并因此對社區產生多么深刻影響。

來自: mp.weixin.qq.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!