Contents
常见许可对比
SEE:五种最常用的开源协议及它们的适用范围 - 过客阵营 -- vb2005xu - JavaEye技术网站
5认可比照
比照|许可 |
原始BSD |
新BSD |
FreeBSD |
Apache |
GPL |
LGPL |
MIT |
自由软件 |
N |
N |
N |
N |
Y |
N |
N |
源代码发布 |
N/Y |
Y/N |
Y/N |
N/Y |
Y |
Y |
N/Y |
二次开发 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
“传染性” |
N |
N |
N |
N |
Y |
N/Y |
N |
再发行限制 |
含许可文件/说明; |
含许可文件/说明; |
含许可文件/说明; |
含许可文件/说明 |
必须以GPL |
含许可文件/说明 |
含许可说明 |
GPL相容性 |
不允许 |
允许 |
允许 |
允许 |
不同版本不相容 |
允许 |
允许 |
备注:原始BSD许可证于1999年7月22日由加州大学伯克利分校董事会授权,修订为新BSD许可证,但非UCB BSD的其他采用同样许可证文本的产品不受此修订影响,使用时不应将原始BSD许可证直接等同于新BSD许可证。
GPL v2和v3 的发行差异
Xin LI <[email protected]> reply-to [email protected] to [email protected] date Tue, Nov 4, 2008 at 14:22 subject [CPyUG:70400] Re: 五种最常用的开源协议及它们的适用范围
BEGIN PGP SIGNED MESSAGE
Hash: SHA1
>> Yan Ren wrote: >>> v2 only 很好啊。在later没有出来之前,鬼知道later是什么样的。 >> 好,如果你看到gettext里面有个安全漏洞,然后在新版本里面修了,那么结果就 >> 是你没办法发布binary,因为gettext是GPLv3的。指定特定版本的GPL实际上就是 >> 说你不要用FSF开发的东西好了,要不就让用户自己去编译(慢死)。 >> > V3 不准发布二进制成品? 这真的是诡异了哪,,,
不是V3不允许。现在主流的两个版本的GPL,我們假定有软件包A和B,你要发行的 软件是A和B连接得到的结果,那么无非是下几种情况:
GPLv2 or later
如果A是GPLv2 or later,B是GPLv2 only: 没事,可以发行二进制,遵守GPLv2 only 如果A是GPLv2 or later,B是GPLv2 or later:没事,可以发行二进制,遵守GPLv2 or later 如果A是GPLv2 or later,B是GPLv3 only: 没事,可以发行二进制,遵守GPLv3 only 如果A是GPLv2 or later,B是GPLv3 or later:没事,可以发行二进制,遵守GPLv3 or later
GPLv2 only
但是如果A是GPLv2 only的话:
如果B是GPLv2 only: 没事,可以发行二进制,遵守GPLv2 only 如果B是GPLv2 or later: 没事,可以发行二进制,遵守GPLv2 only 如果B是GPLv3 only或GPLv3 or later:有事!发行二进制是违反GPLv2的,
也就是说发行二进制版本违反了A的授权许可证。
- 例外情况是,如果你发行的是源代码,因为两者没有直接的依赖关系,因此可以分别发布而规避问题,但用户必须自己编
译,并且不能再发布binary。
反馈
创建 by -- ZoomQuiet [2008-11-03 06:34:09]