上周三,shared-mime-info 软件库的维护者 Bastien Nocera 给 Ruby 库 mimemagic 的维护者 Daniel Mendler 发送了消息:“你之前交付的 mimemagic 库采用了我的代码,使用了不兼容的软件许可证。”
shared-mime-info 库是在 GPLv2 许可证下授权的 ,而 mimemagic 是在 MIT 许可证下授权的,事实上这两种开源许可确实是不兼容的。Nocera 在 GitHub 的 Issues 上发帖:“使用 GPL 文件作为源文件,会使整个代码库都变成衍生代码,并且全部代码都应遵循 GPL 许可,所以如果有人在纯 MIT 代码库中或者是闭源应用程序中使用了 GPL 代码,应该及时纠正这个问题。”
得知此事之后,Mendler 先是向 Nocera 表示了感谢,并将最新的 0.4.0 和 0.3.6 版本移到 GPLv2 下,并从包注册表 RubyGems.org 上撤销了之前发布的版本,将 mimemagic GitHub 代码库存档。
虽然补救动作比较及时,但 Ruby on Rails 由于依赖 mimemeagic 0.3.5 仍然受到了影响。同时,还有 172 个其它软件包、共 577148 个不同的软件仓库也受到了影响。当然,并不是所有项目都会立即受到影响,但是任何试图从 RubyGems.org 获取 mimemagic 已撤销版本的构建过程都会失败,除非之前就已经实现了依赖缓存。
目前经过 Open Source Initiative(OSI)认证的开源许可证共有 80 余种。中国信通院云计算与大数据研究所开源运营主管郭雪将这些开源许可证根据使用条件的不同,分为了四类:开放性开源许可证、弱传染型开源许可证、传染型开源许可证和强传染型许可证。
当一个开源软件使用了一个许可证,而你想把它的代码整合到你发布的开源项目中时,我们应该如何判断两个许可证的兼容性呢?大家可以参考信通院发布的这张图:
文章部分素材源自:架构头条
页面更新:2024-03-26
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号