天下開源是一家,GitHub 收購 npm

夢共裡醉發表於2020-04-05

npm 是啥?JavaScript 世界的軟體包管理器。它的體量有多大?大約有 1200 萬開發人員使用,共提供了 130 萬個軟體包,每月下載次數達到 750 億次。

2020 年 3 月 ,全球開源社群爆出大新聞:GitHub 宣佈收購 npm 。

npm 是啥?JavaScript 世界的軟體包管理器。它的體量有多大?大約有 1200 萬開發人員使用,共提供了 130 萬個軟體包,每月下載次數達到 750 億次。

相比 Github 的 4000 萬開發人員,1 億個託管的程式碼,npm 按開發者人數來看,也有超過 1/4 的規模。

具體收購的金額並沒有透露。不過這兩大開發者社群宣佈“結婚”的方式也很特別,就是兩位老大各自發了一篇部落格,從中可以窺見不同的心情。

興奮又善感

GitHub 的 CEO 納特·弗裡德曼(Nat Friedman),對於收購顯然已不陌生,自 2018 年 6 月微軟 75 億美元收購 GitHub ,10 月物色納特擔任 CEO 之後,如今已快一年半。

天下開源是一家,GitHub 收購 npm天下開源是一家,GitHub 收購 npm

這期間,納特就在不停地收購和屯貨,先是 Dependabot ,一款幫助開發人員監測依賴關係的工具;然後是 Pull Panda ,團隊協作開發工具;再接著是 Semmle,透過社群驅動來識別安全漏洞的語義分析引擎。算到 npm ,已經是第四個標的。

當然,npm 不僅僅只是個工具,它已然是 JavaScript 這個世界最大的開發者生態系統裡,最重要的組成部分。納特承諾,對於這個每天有數百萬開發人員使用的工具,npm 將始終可用且始終免費。交易完成之後,GitHub 還要加大投資,確保 npm 的快速、可靠和可擴充套件。[1]

有了富爸爸,從此兩家變一家。Github 託管的是正在開發中的程式碼,npm 則是打包好的穩定程式碼,兩者是絕配。納特說,這涉及了開源安全這個重要的全球性問題,透過更好地整合,可以提高開源供應鏈的安全性,使得開發者能夠跟蹤從 GitHub 拉取請求到修復它的 npm 軟體包版本的更改。

對於付費使用者,npm 有高階版、團隊版、企業版客戶,而 Github 則有自己的多語言包管理器 Github Packages,今年晚些時候,兩者將進行融合。

相比納特博文,npm 創始人艾薩克·施呂特(Isaac Z. Schlueter)則發表了一篇既興奮又善感的部落格。

他回顧了 2009 年以來的創業歷程,早先受到 PHP 的 PEAR、Perl 的 CPAN 的啟發,艾薩克寫了個包管理器共享到社群,伴隨著 Node.js 的興起,JavaScript 從前端向著伺服器端演進,npm 作為預設的軟體包管理器,方便開發者簡化庫的安裝、更新和解除安裝,自身也逐漸壯大。

甚至在 2012 年,Node.js 的創始人瑞安·達爾(Ryan Dahl)離開,艾薩克還幫著管理了一段時間。他們兩人當時都是位於舊金山的 Joyent 公司的同事。

一邊上班,一邊維護開源社群的確不容易。2013 年底,npm 陷入困境,社群靠捐贈無法生存,艾薩克在 2014 年成立了 npm,Inc. 公司,以支援社群和 1000 多萬使用者。

種子輪之後,npm 在 2015 年又融了 800 萬美元的 A 輪。團隊從 1 人增加到 35 人。艾薩克說,運營公司很難,錢一直不夠花。

但 npm 的使命一直沒變:減少 JavaScript 軟體開發中的摩擦。直到 Github Packages 的 beta 版出來,艾薩克主動問 GitHub:“你為什麼不嘗試收購我們?”

收購完成以後,npm 將繼續改進,並將成為 GitHub 這家世界上最大的開發者社群的戰略資產,服務於 GitHub 消除軟體開發中交易成本的使命。

JavaScript 生態

《連線》雜誌評論說,微軟很快會控制更多的開源軟體開發生態系統。

開源世界裡,各種生態、工具和社群是複雜纏繞在一起的,畢竟誰都不想重新造輪子。開發人員通常將程式和開源軟體包組合在一起,處理常見功能,比如驗證密碼或者網路通訊。

npm 的客戶裡,既包括個人開發者,也包括 500 強企業,比如 Netflix、VISA、Adobe、salesforce 以及耐克。

只要有網際網路和網站的地方,就會有 JavaScript 。它隨著 Netscape 瀏覽器在 1995 年誕生,最終成為適合 Firefox、Chrome 等幾乎所有瀏覽器的 Web 網站的客戶端 語言的標準。

2008 年,Google 推出了 JavaScript 引擎 V8,採用即時編譯,大大縮短了執行時間。Node.js 在 2009 年誕生,它結合了 V8 引擎,把 JavaScript 帶到了伺服器端的環境。

Node.js 提供了事件驅動,多條 可以同時被執行,可用於編寫高併發的程式,把 JavaScript 的易學易用和 Unix 網路程式設計的強大結合到了一起。

Node.js 的開源庫,大多數都託管在 npm,並形成了強大的開發者生態,包括 NodeConf 等社群活動。

JavaScript 開發者可以很方便地用 npm 共享程式碼,把軟體包釋出到 npm,也很容易使用別人的開原始碼,形成了一個龐大的相互依存的開源開發生態系統。

這是 JavaScript 開發人員每天需要使用的東西,每個人都希望它更加可靠、方便。

微軟全家桶

天下開源是一家,如今爸爸叫微軟。

在 Reddit 論壇上,各種評論也炸開了鍋。[3]

有網友認為,這對於微軟和開源都是雙贏,微軟的 Azure 可以藉此提供更好的服務。微軟錯失了移動平臺,而云計算是下一個計算平臺。微軟擁有 40 年吸引開發人員的記錄。

而也有網友認為,手頭上一半以上的開發工具箱都是微軟提供的,包括 GitHub、npm、VS Code、TypeScript,一家公司壟斷開發者世界並不是一件好事。

還有網友認為,對微軟的負面印象時間太長,而這已經過時,微軟現在是開源軟體最大的貢獻者,比包括谷歌、亞馬遜、蘋果、甲骨文、IBM 的任何一家公司都要開放得多。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2684537/,如需轉載,請註明出處,否則將追究法律責任。

相關文章