许可证兼容性

许可证兼容性是指软件许可证包含相互矛盾的必要条件,而无法将其源代码合并成新的软件包的问题。[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核准许可证列表

参见

参考

  1. ^ How GPLv3 tackles license proliferation. [2011-01-11]. (原始内容存档于2007-12-18). 
  2. ^ Stallman explains license compatibility while discussing GPLv3. [2011-01-11]. (原始内容存档于2010-10-27). 

外部链接