上周,由于许可证问题,一个名为mimemagic的Ruby库导致包括RubyonRails在内的数十万个项目出现混乱。事件起因是名为BastienNocera的shared-mime-info软件库的维护者告知Ruby库mimemagic的维护者DanielMendler,该库包含Nocera的代码,shared-mime-info是在GPLv2下license许可,mimemagic是在MIT许可下许可的,两者不兼容。Mendler得知此事后对Nocera表示感谢,并立即将最新的0.4.0和0.3.6版本转移到GPLv2,并从RubyGems.org(Ruby开发人员使用的软件包注册表)中取消发布以前的版本。然后他归档了mimemagic的GitHub存储库,这意味着它不再被积极开发。不幸的是,Web开发框架RubyonRails受到其对mimemagic0.3.5的依赖的影响。此外,该事件还影响了577,148个不同存储库中的172个其他软件包。这些项目不一定立即受到影响,但当时任何试图从RubyGems.org获取已撤销版本的mimemagic的构建过程都会失败,除非已实现依赖缓存。随后,RubyonRails讨论了许多解决方案,包括使用替代产品,例如2-clauseBSD许可的libmagic或实现mime数据库的Ruby版本,但这是很多工作;或者将RubyonRails从MIT迁移到GPLv2,但这样做会对其他项目产生巨大影响。最后,mimemagic在周四发布了0.4.1更新,恢复了MIT许可证并删除了GPL涵盖的代码。相反,用户现在必须自己提供mime类型的数据库。本文转自OSCHINA文章标题:Mimemagiclicense问题影响超过500,000个项目
