一個 npm 包的坎坷“續(xù)命”之生

2019-11-30    seo達人

如果說 npm 的大新聞,莫過于之前的 left-pad 撤包事件,event-stream 投毒事件,Ant Design 彩蛋事件。使得很多前端開發(fā)者又開始重新思考 npm 生態(tài)時候真的存在問題?



今天我們文章的主角是 memwatch,一個用來幫助我們檢查 Node.js 是否存在內存泄漏的庫,和這個庫傳奇的一生。



2012 年 02 月 06 日,一位 Mozilla 的工程師 lloyd 創(chuàng)建了這個庫,并寫了一篇博文“Is My NodeJS Program Leaking?”(我的 Node.js 程序是否存在內存泄漏?)。這個包最初被命名為 gcstats,代碼上傳到了 github。



6 月 27 日,npm 包改名為 memwatch,發(fā)布 0.1.1 版。



7 月 4 日,lloyd 為這個庫添加了開源許可協(xié)議:WTFPL,發(fā)布 0.1.2 版。很多人對這個開源許可協(xié)議可能比較陌生,WTFPL 的全稱是 Do What The Fuck You Want To Public License,中文譯名:你他媽的想干嘛就干嘛公共許可證。也許就是這份協(xié)議開啟了 memwatch 庫不尋常的一生。



2013 年 3 月 14 日,作者 lloyd 提交了最后一次代碼,發(fā)布了 0.2.2 版本。支持的 Node.js 版本為 0.6.0。隨后這個庫再也沒有更新過。



從作者的博文和推文可以看到,作者在 2014 年離開了 Mozilla。而從作者的 github 動態(tài)更可以看出,作者應該是轉入了 golang 陣營。



2014 年 6 月 28 日,作者的一位前同事 deepak1556 fork 了這個庫,增加了對 Node.js 0.11 的支持,并發(fā)起了合并請求。但是作者并沒有回復,也沒有合并此次請求。此時距離原作者放棄這個庫也已經(jīng)過去一年多了。



2015 年 2 月 7 日,marcominetti 又 fork 了 deepak1556 的庫,增加了對 Node.js 0.12 的支持,并向原庫發(fā)起了合并請求,同樣沒有得到作者的任何回復。于是 marcominetti 決定自立門戶,于是將 memwatch 改名為 memwatch-next 發(fā)布到了 npm。



2017 年 1 月 27 日,如同前兩位維護者一樣,marcominetti 也最終放棄了繼續(xù)更新這個庫。到此時,此庫支持的 Node.js 版本為 4、5、6。



2018 年 5 月 6 日,eduardbcom 又 fork 了 marcominetti 的庫,增加了 Node.js 9 的支持,并且放棄了對 Node.js 9 以下所有版本的支持。改名為 node-memwatch 并發(fā)布到了 npm。隨后再也沒有更新過代碼。



2018 年 7 月 17 日,一位開發(fā)者 dyatko 又 fork 了 eduardbcom 的庫,增加了對 Node.js 8 的支持,并向原庫發(fā)起了合并請求,同樣沒有得到作者的任何回復。



但在此次 pr 的評論中,另一位開發(fā)者說,airbnb 也 fork 了 marcominetti 的庫,并改名為 @airbnb/node-memwatch 發(fā)布到了 npm。



有了大廠接手,也算是這個庫最終的歸宿吧。







相關閱讀



開發(fā)者對 npm 公司不滿,unpublish 了自己的所有模塊



月下載量千萬的 npm 包被黑客篡改,Vue 開發(fā)者可能正在遭受攻擊



駁《我不是很懂 Node.js 社區(qū)的 DRY 文化》



機器人偽裝成人類在 GitHub 上為開源項目修復 bug




分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://m.820esy.cn

存檔