GitHub貢獻(xiàn)第一的公司是誰?微軟開源軟件列表

責(zé)任編輯:editor004

作者:木環(huán)

2017-04-01 11:29:38

摘自:INFOQ

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

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

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

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

2016年3月,Windows原生支持 Ubuntu Linux Bash, 這意味著Windows操作系統(tǒng)級別的開放,Win10 可以當(dāng)作一臺Ubuntu開發(fā)機(jī)來使用。

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

InfoQ對數(shù)個(gè)較受社區(qū)歡迎的項(xiàng)目進(jìn)行了整理如下:

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

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

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

Star數(shù)量: 24.3k; Fork數(shù)量:3.3k

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

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

TypeScript是JavaScript強(qiáng)類型的超集,可以編譯成純JavaScript。由微軟開發(fā)的自由和開源的編程語言,可以運(yùn)行在各類瀏覽器和操作系統(tǒng)之上。

Star數(shù)量: 19.8k ;Fork數(shù)量:2.8k

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

  CNTK: 深度學(xué)習(xí)開源工具包

CNTK全稱為The Microsoft Cognitive Toolkit, 將神經(jīng)網(wǎng)絡(luò)描述為計(jì)算機(jī)可處理的有向圖,有向圖的葉節(jié)點(diǎn)表示輸入值或網(wǎng)絡(luò)參數(shù),其他節(jié)點(diǎn)表示輸入對應(yīng)的矩陣運(yùn)算。CNTK便于實(shí)現(xiàn)并且也結(jié)合了很多深度神經(jīng)網(wǎng)絡(luò)(DNN),神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)/長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(RNN / LSTM)。它可以跨多個(gè)GPU和服務(wù)器實(shí)現(xiàn)隨機(jī)梯度下降(SGD,誤差反向傳播)學(xué)習(xí)與自動微分和并行化。

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

下圖比較CNTK的處理速度(每秒處理的幀數(shù))與四個(gè)其他眾所周知的工具包的處理速度。 配置使用完全連接的4層神經(jīng)網(wǎng)絡(luò)(參見微軟的基準(zhǔn)腳本)和有效的迷你批量大?。?192)。在相同硬件上獲得的結(jié)果。

Star數(shù)量:9.9k;Fork數(shù)量:2.4k

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

  Donnet:采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺

.NET最早是微軟研發(fā)的XML Web services平臺,C#是.NET框架上最常用的編程語言之一,通常被認(rèn)為是微軟專屬, 其著名競爭對手是Java。

.NET框架歷經(jīng)數(shù)代更迭,現(xiàn)已演變成通用的開發(fā)平臺,支持多種語言(如C#、F#、VB.Net、C++、Python等)、異步和同步編程模型,具有本地互操作性,可跨平臺實(shí)現(xiàn)多種場景,最終于2014年開源。

Star數(shù)量: 7.8k ;Fork數(shù)量:1.2k

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

  PowerShell :為任何系統(tǒng)提供Windows的命令行工具

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

Star數(shù)量:6.4k;Fork數(shù)量:800

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

MSOpenTech/redis: 在Windows使用Redis

官方只支持64位,可自行構(gòu)建32位版。

該開源項(xiàng)目,在2.8版本中,替代UNIX fork()API中的內(nèi)存映射文件模擬寫時(shí)復(fù)制行為。 版本3.0類似,為了便于系統(tǒng)文件分頁,刪除了內(nèi)存映射文件,在管理堆碎片方面進(jìn)行了改進(jìn)。

Redis對文件描述符的值做了一些假設(shè),微軟構(gòu)建了一個(gè)虛擬文件描述符映射層。

Star數(shù)量:5.8k;Fork數(shù)量:8.7k

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

WinObjc:Windows下的Objective-C

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

Star數(shù)量:5.8k;Fork數(shù)量:745

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

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

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

旨在TDD友好,用于創(chuàng)建符合最新Web標(biāo)準(zhǔn)的復(fù)雜應(yīng)用程序、構(gòu)建動態(tài)網(wǎng)站,可以在IIS中托管或自我托管。

Star數(shù)量:4.4k;Fork數(shù)量:1.6k

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

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

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

Star數(shù)量:3.7k;Fork數(shù)量: 129

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

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

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

Star數(shù)量: 4k;Fork數(shù)量:265

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

  DMTK:分布式機(jī)器學(xué)習(xí)框架

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

LightLDA:用于大規(guī)模主題建模的可擴(kuò)展、快速和輕量級系統(tǒng)。

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

分布式詞嵌入(word embedding):實(shí)現(xiàn)的詞嵌入的分布式算法。

DMTK framework(Multiverso): 參數(shù)服務(wù)器架構(gòu)的機(jī)器學(xué)習(xí)。

Star數(shù)量: 2k;Fork數(shù)量:487

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

Azure相關(guān):文檔、SDK和代碼示例

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

在GitHub上Azure相關(guān)的存儲庫有1700+個(gè)。

Star數(shù)量(共計(jì)):149k;Fork數(shù)量(共計(jì)):291k

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

寫在后面

開源已經(jīng)形成潮流,一家軟件公司的競爭對手可能是同行企業(yè),還可能是開源項(xiàng)目。

不過開源可不是公益,公司還是以贏利為導(dǎo)向的,那么開源對公司而言利益是什么呢?首先,企業(yè)級版本的使用往往并不免費(fèi),并且相關(guān)的技術(shù)支持、安裝、系統(tǒng)整合、認(rèn)證和培訓(xùn)等服務(wù)也是收取費(fèi)用的。 其次,項(xiàng)目開源之后,可以吸引社區(qū)中對此熱情的開發(fā)者們。傳統(tǒng)模式下,軟件巨頭公司需要雇傭大量工程師進(jìn)行開發(fā)、測試和本地化等。但是,開源相當(dāng)于把一部分工作“外包”給社區(qū)。此外,如果開源項(xiàng)目代碼優(yōu)質(zhì),則會很好地塑造技術(shù)形象并在開源圈產(chǎn)生影響力,從而起到推廣公司品牌的作用。更重要的是,公司可以接觸到社區(qū)中的高尖專家程序員,增加了對他們的吸引力也就增加了更多招納賢士的可能性,他們有可能會以兼職或者全職的形式加入公司。單純對項(xiàng)目本身而言,如果被其他公司采用、再回饋到社區(qū),這是優(yōu)化項(xiàng)目和豐富使用場景的良性循環(huán)。

其實(shí)微軟很早開始關(guān)注社區(qū)開發(fā)者并有了開源的舉措:MSDN實(shí)現(xiàn)創(chuàng)立于1992年是使用層級的技術(shù)文件開放;CodePlex創(chuàng)立于2006年先后托管了很多開源項(xiàng)目;CodePlex Foundation開放源碼基金會成立于2009年。

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

如此看來,其實(shí)微軟并沒有一直盲目趕路,并且也有著不算落后的開源和社區(qū)意識。不過,緣何留下了保守不開源的刻板印象?是因?yàn)?001年時(shí)前CEO的武斷宣言?還是開源之路態(tài)度不夠堅(jiān)決、宣傳力度不夠?亦或是社區(qū)更歡迎獨(dú)立的第三方開源平臺而非某家企業(yè)的托管平臺?不過,可以確定的一點(diǎn)是,如所宣稱那樣“Microsoft Loves Linux”,微軟擁抱開源并且同樣擁抱社區(qū)選擇的平臺(如GitHub、StackOverflow)。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號