GNU GPL License for modified code

We have a project that has been in development for years. The project is licensed under the GNU GPL v2 and has been since it was first made public over 10 years ago. The source code is made available via SVN for free.

Recently, an ex-developer has decided to sell some modifications of the software, which he is free and clear to do so under the GNU GPL license, provided that the license file remains in his code and he's not prohibiting its distribution, both of which he's currently doing.

We as the development team of the main project have confronted him about his violations of the GNU GPL license and he has agreed to re-add the license file and relicense the original work under the GNU GPL license.

But now, he is saying that he can create a .patch file or a .diff file of his modifications so his "exclusive users" can patch them into our code. He's not releasing the source, but his modifications will make modifications to the original code. Again, if he offers just the .diff or .patch files, he feels he can go back to his license (which basically says 'you can't redistribute this at all, you must register its use, basically, a lot of things that are against the GNU GPL license).

So, my ultimate question is: If a user of a piece of software creates a modification in the form of a .diff or .patch file (or heck, installation script that does the same thing) aimed to modify the original source code of a piece of software released under GNU GPL v2 license, is this against the terms of the license?

I have done some searching and I'm led to believe that if his modifications even use a library or method from our software, he has to release his under GNU GPL. I've emailed GNU for some explanation but have gotten no response. Any ideas from here?

Thank you for your assistance.


Companies are allowed to use modified versions of GPL-covered programs internally without releasing the source1. However, since the patch files -even though it's just small pieces- also contain code covered by the GPL, he is required to publish the modified source code under the GPL license if he decides to distribute them. However, it's important to notice he isn't required to distribute the code to you 2. However, everybody who he shares the program with should get the modified source code which they may redistribute (for example to you).


If a user of a piece of software creates a modification in the form of a .diff or .patch file (or heck, installation script that does the same thing) aimed to modify the original source code of a piece of software released under GNU GPL v2 license, is this against the terms of the license?

Distributing .patch or .diff files is not an effective method to circumvent the GPL v2 license. GPL v2 is with a termination clause, if that person creates derivative works and distributes the commands to modify the code (which are a derivate) not under GPL, then termination is in effect.

That person is violating the usage terms of your software and you can hunt him/her down to the extend of the law. Usage rights of the whole codebase are terminated incl. the right to make modifications to it for himself because of the violation you describe.

Distribution is not necessary any longer for violations. Actually GPL v2 has even more teeth here than GPL v3, actually that guys development life with the codebase has ended until he is pro-actively seeking reinstatements of rights.

See http://www.groklaw.net/articlebasic.php?story=20100403103524185 and 5.2 of http://www.softwarefreedom.org/resources/2008/compliance-guide.html:

If you have redistributed an application under GPLv2, but have violated the terms of GPLv2, you must request a reinstatement of rights from the copyright holders before making further distributions, or else cease distribution and modification of the software forever. Different copyright holders condition reinstatement upon different requirements, and these requirements can be (and often are) wholly independent of the GPL. The terms of your reinstatement will depend upon what you negotiate with the copyright holder of the GPL'd program.

Since your rights under GPLv2 terminate automatically upon your initial violation, all subsequent distributions are violations and infringements of copyright. Therefore, even if you resolve a violation on your own, you must still seek a reinstatement of rights from the copyright holders whose licenses you violated, lest you remain liable for infringement for even compliant distributions made subsequent to the initial violation.

You should compile a list of his "customers", collect evidence (the patches and the (written) communication around) and then start the legal action with a legal team on your behalf if nice-talk does not lead to any solution.

Because of the termination clause, you can even make him pay his/her ass off and there is not much that poor guy can do about it. From what you write it looks like that termination is already in effect. Poor guy that guy.


I'm late to the game, and I'm not a lawyer, so this is just for theoretical discussions for when people google it in the future.

Even going with his argument, it doesn't seem like any of his "clients" can legally distribute the combined work since it would violate either his licensing agreement, or GPLv2 (due to the viral effects of GPL). The only scenario where it might be possible to combine the two works, is to use the combine the work, as service without redistributing the combined binary.

Regarding the patches themselves being GPLv2, it really depends on how the patches are made. If they contain code snippet from the original source, which patch files normally do, then his patch files are GPLed. If he went through the extra effort to scrub the patch file to contain only references to the GPL sources (using filename:linenumber, containing codes that only HE wrote, etc), then he might be right... though I can hardly imagine a patch file of any real substance not containing code from the original source.

If your product is a binary that mainly runs as SaaS, then you might want to transition your licensing to AGPL, which would close that ASP hole.

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

链接地址: http://www.djcxy.com/p/79516.html

上一篇: GPL授权软件适用于单个用户

下一篇: 修改代码的GNU GPL许可证