Mimemagic 許可證問(wèn)題影響 50 萬(wàn)余項(xiàng)目
上周,一個(gè)名為 mimemagic 的 Ruby 庫(kù)因許可證問(wèn)題引發(fā)了包括 Ruby on Rails 在內(nèi)的數(shù)十萬(wàn)個(gè)項(xiàng)目的混亂。
事情的起因是一個(gè)名 Bastien Nocera 的 shared-mime-info 的軟件庫(kù)維護(hù)者通知了 Ruby 庫(kù) mimemagic 的維護(hù)者 Daniel Mendler,該庫(kù)包含了 Nocera 的代碼,而 shared-mime-info 是在 GPLv2 許可證下授權(quán)的,mimemagic 是在 MIT 許可證下授權(quán)的,兩者并不兼容。
Mendler 得知此事后向 Nocera 表示感謝,并立即將最新的 0.4.0 和 0.3.6 版本移到 GPLv2 下,將之前的版本從 Ruby 開發(fā)者使用的包注冊(cè)表 RubyGems.org 上撤銷了發(fā)布。隨后他將 mimemagic 的 GitHub 倉(cāng)庫(kù)歸檔,這意味著它不再被積極開發(fā)。
然而不幸的是,網(wǎng)絡(luò)開發(fā)框架 Ruby on Rails 由于依賴 mimemagic 0.3.5 而受到影響。此外,該事還影響了 172 個(gè)其他軟件包,它們之間涉及 577148 個(gè)不同的軟件倉(cāng)庫(kù)。這些項(xiàng)目不一定會(huì)立即受到影響,但當(dāng)時(shí)任何試圖從 RubyGems.org 獲取已撤銷版本的 mimemagic 的構(gòu)建過(guò)程都會(huì)失敗,除非已實(shí)現(xiàn)了依賴緩存。
隨后,Ruby on Rails 討論了諸多解決方案,包括使用替代產(chǎn)品,比如 2-clause BSD 授權(quán)的 libmagic 或?qū)崿F(xiàn)一個(gè) mime 數(shù)據(jù)庫(kù)的 Ruby 版本,但這么做工作量很大;或者將 Ruby on Rails 由 MIT 遷移到 GPLv2,但這么做也會(huì)給其它項(xiàng)目帶來(lái)巨大影響。
最后,mimemagic 于周四發(fā)布了更新 0.4.1,恢復(fù)了 MIT 許可,并刪除了 GPL 覆蓋的代碼。作為替代的是,用戶現(xiàn)在必須自己提供 mime 類型數(shù)據(jù)庫(kù)。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Mimemagic 許可證問(wèn)題影響 50 萬(wàn)余項(xiàng)目
本文地址:https://www.oschina.net/news/134862/mimemagic-liscense-problem