更多

    兩大開源程式庫「叛變」!報復大企業只顧吃免費午餐

    Mickey Chan
    愛騎單車的宅,眼鏡娘控。 1.膽固醇跟美味是成正比的; 2.所有人都可以騙,但絕對不能騙自己; 3.賣掉的貨才是錢,不賣的收藏品不值一文; 4.踩單車,是為了吃更多美食! 5.正義的話語,不一定出自正義之人的口;

    兩款受到數以萬計程式使用的開源程式庫 colors.js 和 faker.js ,日前被發現被加入導致無限迴圈的程式碼,令到成千上萬倚賴這兩個程式庫的程式停擺。

    這兩個程式庫都是由程式員 Marak Squires 維護,存放在 Github ,並在 npm 上註冊的。其中 colors.js 是用來為 Node.js 終端加上顏色,每周下載量單在 npm 就已經達到 2,300 萬,近 19,000 個專案都用到它。而另一個程式庫 faker.js 就用來大量生成假資料, npm 每星期下載量也達 280 萬,超過 2,500 個專案用到它。

    不過日前有人透過 pnpm 安裝使用上述程式庫的 Amazon 雲端開發套件( aws-cdk )時出現一堆不明非 ASCII 字串,和「 LIBERTY LIBERTY LIBERTY (自由、自由、自由)」的信息。最初人們以為兩個程式庫是被黑客騎劫,不過後來就發現原來是主持人 Marak 親自下手。他在 colors.js 裡加入名為「 American flag (美國旗)」的模組,刻意令到程式進入無限迴圈中。

    至於 faker.js Marak 更是發佈新版本 6.6.6. ,將全部程式碼和履歷砍掉,沒有留下有用的程式碼,只在 README 文件中留下一句「 What really happened with Aaron Swartz? (亞倫.斯沃茨到底發生了甚麼事?)」亞倫.斯沃茨是美國著名的程式員、黑客主義者和政治活躍分子,曾參與創立 RRS 、 Creative Commons 授權和 Reddit , 2013 年他大量下載 MIT 數碼圖書館資料作自由發放,被指偷竊文件後自殺身亡。

    事件發生後, Marak 在 Twitter 指 NPM 將 faker.js 回復到上一個版本,而 Github 就曾一度凍結了他的存取權。其後有傳媒就在 Marak 11 月的 Github 紀錄中發現一則貼文,他預告自己「不會再為福布斯 500 強企業提供免費勞動」,並說那些公司應該「給他一份年薪 6 位數字的合約,或者拷貝他的專案找別人來繼續幹」。

    事件在開源界引來很大回響,有人讚賞他的行為,但有人就感到震驚,指他是「另一個叛變的開源開發者」,認為他不單傷害了大企業,也傷害了使用程式的人,這會令到人們不敢更新。

    您會感興趣的內容

    相關文章