许可证兼容性
維基百科,自由的 encyclopedia
许可证兼容性是指软件许可证包含相互矛盾的必要条件,而无法将其源代码合并成新的软件包的问题。[1]
例如,假设一个许可证规定“修改后的版本必须在所有广告中提及开发者”,而另一个许可证则规定“修改后的版本不能包含额外的署名要求”。如果将分别使用了上述两款许可证的两个软件合并成一个软件,传播整合后的软件是不合法的,因为许可证的两个要求无法同时满足。因此,我们会说这两个软件包的许可证互相不兼容。[2]
即使是开放源代码促进会(OSI)或自由软件基金会(FSF)核准的许可证,相互间也并不全部兼容,因而不是所有OSI或FSF核准的许可证都可以混合使用。比如,将在Mozilla公共许可证1.1版(或更舊版本,如1.0版)下发布的代码与GNU通用公共许可协议下发布的代码混合成一个新软件后,不可能在不违反GPL或MPL 1.1许可证条款的情况下传播它,即使这两个许可证都经过OSI和FSF核准。