修改代码的GNU GPL许可证

时间:2012-05-26 13:14:58

标签: open-source licensing gpl gnu

我们有一个多年来一直在开发的项目。该项目根据GNU GPL v2获得许可,自10年前首次公开以来一直在使用。源代码可以通过SVN免费获得。

最近,一位前开发人员决定出售该软件的一些修改,如果许可证文件仍在他的代码中并且他没有,那么他在GNU GPL许可下是免费且明确的。禁止分发,这两者都是他目前所做的。

我们作为主要项目的开发团队已经向他提出了他违反GNU GPL许可证的问题,他同意重新添加许可证文件并重新授权GNU GPL许可证下的原始作品。

但现在,他说他可以创建一个.patch文件或他的修改的.diff文件,以便他的"独家用户"可以将它们修补到我们的代码中他没有发布消息来源,但他的修改将修改原始代码。同样,如果他只提供.diff或.patch文件,他觉得他可以回到他的许可证(基本上说,你根本不能重新分配这个,你必须注册它的使用,基本上,很多违反GNU GPL许可的事情。)

所以,我的最终问题是:如果一个软件的用户以.diff或.patch文件的形式创建修改(或者heck,执行相同操作的安装脚本)旨在修改原始源代码根据GNU GPL v2许可证发布的软件代码是违反许可条款的吗?

我做了一些搜索,并且我相信如果他的修改甚至使用我们软件中的库或方法,他必须发布他的GNU GPL。我已经通过电子邮件向GNU发送了一些解释,但没有得到任何答复。来自这里的任何想法?

感谢您的协助。

3 个答案:

答案 0 :(得分:5)

允许公司在内部使用GPL涵盖程序的修改版本,而不释放源1。但是,由于补丁文件 - 即使它只是小块 - 也包含GPL涵盖的代码,如果他决定分发它们,则需要在GPL许可下发布修改后的源代码。但是,重要的是要注意他不需要将代码分发给 2。但是,与共享该程序的每个人都应获取可能重新分发的已修改源代码(例如给您)。

答案 1 :(得分:1)

  

如果一个软件的用户以.diff或.patch文件的形式创建修改(或者heck,安装脚本做同样的事情),旨在修改发布的一个软件的原始源代码在GNU GPL v2许可下,这是违反许可条款的吗?

分发.patch或.diff文件不是绕过GPL v2许可证的有效方法。 GPL v2带有终止条款,如果该人创建衍生作品并分发修改代码(这是一个衍生物)而不是GPL的命令,则终止有效。

该人违反了您软件的使用条款,您可以将他/她追捕到法律的范围。整个代码库的使用权终止,包括。由于您描述的违规行为,有权为自己进行修改。

违规行为不再需要分发。实际上GPL v2比GPL v3还要多,实际上,代码库的开发生涯已经结束,直到他积极寻求恢复权利。

请参阅http://www.groklaw.net/articlebasic.php?story=20100403103524185http://www.softwarefreedom.org/resources/2008/compliance-guide.html和5.2:

  

如果您根据GPLv2重新分发了申请,但违反了GPLv2条款,则必须在进行进一步分发之前请求恢复版权所有者的权利,否则将永久停止分发和修改软件。不同的版权所有者根据不同的要求进行恢复,这些要求可以(通常是)完全独立于GPL。您的恢复条款将取决于您与GPL计划的版权所有者协商的内容。

     

由于您在GPLv2下的权利在您最初违规时自动终止,因此所有后续分发都是违反和侵犯版权的行为。因此,即使您自行解决违规行为,您仍必须寻求恢复您违反许可的版权所有者的权利,以免您在最初违规后的合规分发中承担侵权责任。

你应该编制一份他的"客户"的列表,收集证据(补丁和(书面)沟通),然后代表你开始法律团队的法律行动,如果说好话的话不会导致任何解决方案。

由于终止条款,你甚至可以让他支付他/她的屁股,并且穷人可以做的事情并不多。从您所写的内容来看,终止已经生效。可怜的家伙。

答案 2 :(得分:0)

我迟到了,而且我不是律师,所以这只是为了让人们将来谷歌时的理论讨论。

即使按照他的论点,似乎他的任何“客户”都不能合法地分发联合作品,因为它会违反他的许可协议或GPLv2(由于GPL的病毒效应)。可能将两个工作结合起来的唯一情况是使用组合工作作为服务而不重新分配组合二进制文件。

关于补丁本身是GPLv2,它实际上取决于补丁的制作方式。如果它们包含来自原始源的代码片段,通常是哪些补丁文件,那么他的补丁文件是GPLed。如果他经过额外的努力来擦除补丁文件以仅包含对GPL源的引用(使用filename:linenumber,包含只有HE写的代码等),那么他可能是对的......虽然我很难想象一个不包含原始来源代码的任何实物的补丁文件。

如果您的产品是主要作为SaaS运行的二进制文件,那么您可能希望将许可转换为AGPL,这将关闭该ASP漏洞。

http://en.wikipedia.org/wiki/Affero_General_Public_License