许可证兼容性
许可证兼容性是指软件许可证包含相互矛盾的必要条件,而无法将其源代码合并成新的软件包的问题。[1]
例如,假设一个许可证规定“修改后的版本必须在所有广告中提及开发者”,而另一个许可证则规定“修改后的版本不能包含额外的署名要求”。如果将分别使用了上述两款许可证的两个软件合并成一个软件,传播整合后的软件是不合法的,因为许可证的两个要求无法同时满足。因此,我们会说这两个软件包的许可证互相不兼容。[2]
即使是开放源代码促进会(OSI)或自由软件基金会(FSF)核准的许可证,相互间也并不全部兼容,因而不是所有OSI或FSF核准的许可证都可以混合使用。比如,将在Mozilla公共许可证1.1版(或更舊版本,如1.0版)下发布的代码与GNU通用公共许可协议下发布的代码混合成一个新软件后,不可能在不违反GPL或MPL 1.1许可证条款的情况下传播它,即使这两个许可证都经过OSI和FSF核准。
GPL兼容性
许多最常用的自由软件许可证,如原创的MIT/X许可证,BSD许可证(当前2个条款的形式)和GNU宽通用公共许可证(LGPL)之间都是“GPL兼容”的。也就是说,它们的代码可以在GPL协议下组合而不相互冲突(GPL将适用于整个新的组合代码)。但是,某些自由/开放源码软件的许可证则不是GPL兼容的。
参见FSF核准许可证列表。
参见
参考
- ^ How GPLv3 tackles license proliferation. [2011-01-11]. (原始内容存档于2007-12-18).
- ^ Stallman explains license compatibility while discussing GPLv3. [2011-01-11]. (原始内容存档于2010-10-27).
外部链接
- FLOSS License Slide(页面存档备份,存于互联网档案馆),可以查询一些常用许可证之间是否兼容