GPLv2 和 LGPLv2.1 是两个较为“古老”的开源协议,而且两者都被广泛采用。当 GPLv3 发布时,它提供了一种终止方法,为开发者提供了修复许可证中遵从问题的机会。GPLv3 中的终止政策也为公司修复许可证错误提供了一种途径。这个方法允许符合社区规范的,解决遵从问题的开源协议得以执行。
德国 Netfilter 内核子系统贡献者 Patrick McHardy 引发争议的 GPLv2 执法促使社区采取行动解决 GPLv2 的许可证遵从问题。GPLv3 许可证提供了一个解决方案,它引入了一个终止条件,给代码的分发者提供一个机会解决许可证遵从中的错误,这将让经济获利之类的更严厉执法变得不再合理。
对于上文提到的终止条件,可以理解为:相同代码(同一应用)情况下,某人得到了专利许可,则其他人也自动得到专利许可。在 GPLv2 中,由于没有这个终止条件,所以专利公司就某个专利可以逐个收费。收完 A 家的专利费,可以继续去收 B 家的专利费。但在终止条件下,当你收了 A 家专利费时,就意味着你不能再以相同的专利来收 B 家的专利费。这很好地保护了使用 GPLv2 和 LGPLv2.x 许可证的开源项目的开发者、组织和公司。
其他公司诸如 CA Technologies、思科、HPE、微软、SAP 和 SUSE 也采用了类似的 GPL 条款。
当然,这并不适用于 Linux 本身。因为 Linus Torvalds 已经非常清楚地表明,Linux 将永远使用 GPLv2 开源许可证。
评论功能已经关闭!