npm 實現捐贈首次為開源代碼提供資助
NPM 公司,JavaScript 包管理器 npm 的維護者。今年8 月份時,Standard JS 在項目中實驗性內置廣告的事件引發熱議,這些廣告通過一個名為Funding 的npm 軟件包展示在終端,該軟件包包含在Standard 的代碼庫中。之後NPM 公司宣布將禁止此類終端廣告行為。
此事件後,NPM表示,它打算在今年年底前為開源開發人員開發一個眾籌平台。根據The Register 報導,它已經在此承諾上邁出了一步。
本週週二,該公司修改了最新版 npm 6.13.0 的代碼,添加了“funding”命令。它的作用是讓維護 npm 的開發人員(為Node.js 創建包)聲明元數據,為有意願的捐贈者指明捐贈平台。在 package.json 文件中添加了一個“funding” 字段,這個文件列出了各種模塊設置和依賴項。funding 可指向在線捐贈服務的 url,如 Patreon、Open Collective、GitHub Sponsors、License Zero 或者其他支付網站。
之後,使用這些包的應用程序程序員可運行npm fund <package name>,為指定的包的作者進行捐贈,該命令在用戶的默認瀏覽器中打開指定的捐贈服務鏈接,以操作信用卡進行捐贈等。下圖可以看到,npm ls 與 npm fund 的區別,ls 只列出包名,而 fund 還列出了捐贈平台及其 url。
NPM 公司的聯合創始人和聯合首席技術官Isaac Schlueter 在電話採訪中說:“在開源領域,資金是一個長期存在的問題,我們正在解決開源項目需要資金的難題,但很少有方法可以讓使用的代碼的人直觀地了解這些信息,這種融資方式就可以做到”。
Schlueter 認為NPM 公司的融資機制有利有弊,有利的方面是它確實把一些營銷技巧從方程式中剔除了出來,開發者只需要設置一個支付URL,然後把它放進“包“裡,當該包管理器被安裝時就自動出現在列表上。不利的影響是它很可能獎勵的是優秀的營銷人員,而不是獎勵優秀的開發者。
但當被問及NPM 公司的融資平台是否有助於為NPM 本身提供資金時,Schlueter 說:
這是很有可能的,但我也不認為這是一個可增長收入的方式。我想強調的是不要讓開源生態系統因為被耗盡而瓦解。