许可证兼容性

维基百科,自由的百科全书
跳转至: 导航搜索

许可证兼容性是指软件包的许可证包含相互矛盾的必要条件,而使得无法将其源代码合并成新的软件包的问题。[1]

例如,假设一个许可证规定“修改后的版本必须提及广告的开发者”,而另一个许可证则规定“修改后的版本不能包含额外的附件”。如果有人将两个分别使用这两许可证的软件合并成一个软件包,那么将这个组合软件包传播出去就是不合法的,因为这两个要求不可能被同时满足。这样,我们就说这两个软件包是许可证不兼容的。[2]

就算是开放源代码促进会(OSI)或自由软件基金会(FSF)核准的许可证,相互间也并不都兼容,因此不是所有OSI或FSF核准的许可证都可以混合在一起使用。举例说,将在Mozilla公共许可证1.1版(或更舊的版本,如1.0版)下发放的代码与GNU通用公共许可协议(这两种许可证都是经OSI和FSF核准的)下的混合而成的新软件,是不可能在不违法GPL或MPL1.1的情况下传播的。在以下网站可以查询一些常用许可证之间是否兼容: FLOSS License Slide(英文)

GPL兼容性[编辑]

许多最常用的自由软件许可证,如原创的MIT/X许可证BSD许可证(当前2个条款的形式)和GNU宽通用公共许可证(LGPL)之间都是“GPL兼容”的。也就是说,它们的代码可以在GPL协议下组合而不相互冲突(GPL将适用于整个新的组合代码)。但是,某些自由/开放源码软件的许可证则不是GPL兼容的。

参见FSF核准许可证列表(英文)

参见[编辑]

参考[编辑]