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


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

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

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)則發表了一篇既興奮又善感的博客。

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

他回顧了 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 的任何一家公司都要開放得多。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章