開源社區的危機:拒絕被“白嫖”?2大著名項目遭作者破壞
以下文章來源于數據實戰派 ,作者林檎
作者 | 林檎
來源 | 數據實戰派
近日,一位開源開發者的故意破壞,再次引發了機構依賴開源庫的爭議。這一類開源庫往往由維護者義務工作而支撐。
被破壞的開源庫是 Marak Squires 開發的 color.js 庫和 faker.js 庫。這兩個庫被廣泛使用,其中不乏企業和商業客戶。因此,有數千個大型項目受此影響出現了停止運行,包括亞馬遜 AWS 的 CloudDevelopment Kit。
目前 Color.js 現在似乎可以工作了,但 Faker.js 仍然受到影響。用戶需要降級到之前的版本才能再次使用。
Marak 在 color.js 庫的 v1.4.44-liberty-2 版本中給新的美國國旗模塊加入了無限循環,依賴 color.js 的項目會在控制臺看到不停打印的非 ASCII 字符。faker v6.6.6 版本的情況類似,他將這兩個搞破壞的版本推送到 GitHub 和 npm。
數據顯示,有近 19000 個項目依賴 color.js 庫;faker 的周下載量超過 280 萬次,有超過 2500 個項目依賴它。
Marak 的破壞行為是引入惡性提交,增加了個新的美國國旗模塊,被破壞的版本導致應用程序無限地輸出奇怪的字母和符號,開頭是三行“自由,自由,自由”的文本。另外,faker.js 自述文件也被改成了“Aaron Swartz 到底發生了什么?” Swartz 是一位杰出的開發者,他幫助建立了知識共享、RSS 和 Reddit。2011 年,Swartz 被指控從學術數據庫 JSTOR 竊取文件,后來在 2013 年自殺。Marak 提到 Swartz 可能是指圍繞他的死亡的陰謀論。
reddit 上的熱門帖子表示,Marak 破壞庫代碼是因為缺乏資金和被濫用開源項目。
事實上,在此次事件之前,這位開發者就曾公開批評,指責使用了這些庫的企業對社區沒有任何回饋。2020 年 11 月,他曾警告說,自己將不再義務工作支持大企業:“恕我直言,我不會再免費工作來支持《財富》500 強(Fortune 500)公司(以及其他規模較小的公司)了。趁這個機會,你可以發給我一份年薪六位數的合同,或者把這個項目分掉,讓別人來做”。
在將這一錯誤更新推送到 fake .js 的兩天后,Marak 發布了一條推文,指出他的賬號已被 GitHub 暫停使用,盡管他為該網站上貢獻了大量項目。
“NPM 已經恢復到以前版本的 fake .js 包,Github 已經暫停了我對所有公共和私人項目的訪問。我有上百個項目。”推文中如此說道。
有安全專家批評 Marak 這種行為不負責任。GitHub 平臺暫時封禁了 Marak Squires 的賬號(已解封),此舉也引發了對 GitHub 如何更好地管理開源項目的爭議。
Marak 的大膽舉動引起了人們對開源開發的道德和經濟沖突的關注,這可能也是他這次行動的目標。
隨著互聯網行業的高速發展,大量網站、軟件和應用程序依賴開源開發人員的工作來創建基本工具和組件。比如,按照使用的性質不同,軟件就可以大概分為商業軟件、試用軟件、公有軟件、開源軟件。數據顯示,不管是手機,還是電腦,平均每個程序都要依賴 150 個開源組件。
在開源這種模式下,所有服務都是免費的。這也意味著開發人員得不知疲倦地修復其開源軟件中的安全問題。例如 2014 年影響 OpenSSL 的 Heartbleed恐慌以及最近在 log4j 中發現的涉及大量修復工作的 Log4Shell 漏洞。可是,當越來越多的開源軟件和平臺被融入到商業機構的服務體系中,不少公司以此獲利頗豐卻不支付費用,也不對開源社區做出相應的回饋,矛盾便日益凸顯甚至激化了。
以此次的事件為案例,許多人曾認為“開源軟件可以永久免費使用”、“開源軟件使用無任何義務”等,這些固有的認知必須有所改變了。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。