Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Open source 修改代码的GNU GPL许可证_Open Source_Licensing_Gpl_Gnu - Fatal编程技术网

Open source 修改代码的GNU GPL许可证

Open source 修改代码的GNU GPL许可证,open-source,licensing,gpl,gnu,Open Source,Licensing,Gpl,Gnu,我们有一个多年来一直在开发的项目。该项目根据GNU GPL v2获得许可,自10年前首次公开以来一直如此。源代码通过SVN免费提供 最近,一位前开发人员决定出售该软件的一些修改,只要许可文件保留在他的代码中,并且他没有禁止其分发,他可以根据GNU GPL许可证自由、明确地出售这些修改 作为主要项目的开发团队,我们已经就他违反GNU GPL许可证的行为与他进行了对质,他同意重新添加许可证文件,并根据GNU GPL许可证重新授权原始作品 但是现在,他说他可以为他的修改创建一个.patch文件或.di

我们有一个多年来一直在开发的项目。该项目根据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寻求一些解释,但没有得到回复。有什么想法吗


感谢您的帮助。

允许公司在内部使用GPL覆盖程序的修改版本,而无需发布源代码。但是,由于修补程序文件(即使只是小部分)也包含GPL所涵盖的代码,因此如果他决定分发这些文件,他必须根据GPL许可证发布修改后的源代码。但是,需要注意的是,他不需要将代码分发给您。但是,与共享该程序的每个人都应该获得修改后的源代码,他们可能会重新分发(例如给您)

如果某个软件的用户以.diff或.patch文件(或heck,执行相同操作的安装脚本)的形式创建修改,以修改根据GNU GPL v2许可证发布的某个软件的原始源代码,这是否违反许可证的条款

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

那个人违反了你软件的使用条款,你可以在法律范围内追查他/她。整个代码库的使用权被终止,包括因您描述的违规行为而自行修改代码库的权利

对于违规行为,不再需要分发。事实上,GPL v2比GPL v3在这里有更多的牙齿,事实上,在他主动寻求恢复权利之前,代码库的开发生命已经结束

请参见第5.2节和第5.2节:

如果您已根据GPLv2重新分发了应用程序,但违反了GPLv2的条款,则在进一步分发之前,您必须要求版权所有者恢复权利,否则将永远停止分发和修改软件。不同的版权持有人根据不同的要求要求恢复版权,这些要求可以(并且通常)完全独立于GPL。您的复职条款将取决于您与GPL'd程序的版权持有人协商的内容

由于您在GPLv2下的权利在您首次违反时自动终止,因此所有后续发行版都是侵犯版权的行为。因此,即使您自己解决了一项侵权行为,您仍然必须向您侵犯其许可证的版权持有人寻求权利的恢复,以免您仍然对初始侵权行为之后的合规发行版的侵权行为负责

你应该编制一份他的“客户”名单,收集证据(补丁和(书面)交流),然后代表你与一个法律团队开始法律行动,如果友好交谈没有带来任何解决方案


因为有终止条款,你甚至可以让他/她付他/她的屁股,可怜的家伙对此无能为力。从你写的来看,终止协议已经生效了。可怜的家伙,那个家伙。

我比赛迟到了,而且我不是律师,所以这只是为了将来人们用谷歌搜索时的理论讨论

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

关于补丁本身是GPLv2,这实际上取决于补丁是如何制作的。如果它们包含来自原始源代码的代码片段(补丁文件通常都是这样),那么他的补丁文件就是GPLed。如果他花了额外的精力来清理补丁文件,使之只包含对GPL源的引用(使用文件名:linenumber,包含只有他自己编写的代码等),那么他可能会