Comment by mikegerwitz
9 years ago
> In general GPL creates a lot of problems to which GPL supporters just plug their ears and mantra "if you were truly free you wouldn't have those problems".
I'm not plugging my ears. I recognize it, and it's terribly unfortunate that one would ever be in such a situation, but the idea there is that the GPL would encourage the liberation of other code, and other platforms. Here's an example:
http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL
Now, you're talking about a broader issue than liberating a single program. But enough useful GPL'd software might sway larger systems.
Otherwise, if modifying free software and in doing so making your modified program proprietary means that it can't be used at all, then that is the intent.
Except the GPL doesn't just encourage open sourcing works which use the GPL work as a dependency; it makes the open sourcing of any library/program/what-have-you a MANDATORY condition for use of the GPL work. This has nothing to due with modification of the GPL work; the condition is still in effect when no modifications, proprietary or otherwise, are required in the GPL work.
I'm actually in agreement with Ballmer on this one: GPL is cancer. And I love contributing to OSS in general.
moron4hire is correct.
If you are not distributing the software personally or outside your organization, the GPL does not apply to you. If what you are doing does not constitute a derivative work, then your software is also not affected by the GPL: if you're invoking GNU grep in your program, for example, your program does not need to be licensed under a GPL-compatible license.
For clarification, see https://www.gnu.org/licenses/gpl-faq.html
I am aware of these issues. I replied in-haste in-class, and didn't specify that I was only referring to library code. I instead used 'work', which was the wrong term; I apologize. Anyway, according to the GPL, using a GPL-ed library as a dependency in a larger codebase constitutes a derivative work (assuming distribution etc), thus requiring GPL-ing the whole larger codebase, which isn't cool (imo, of course).
That is completely incorrect. The GPL makes absolutely zero restriction on use. It's provisions only pertain to distribution.
If you are only using GPL'd software, there is no compulsion to release your software under the GPL. If you, on the other hand, are releasing a product to other people and you have found a piece of GPL'd software that provides enough value to you to bother including it in your project, then and only then are you compelled to open your source.
I will give an example where the GPL hurts some projects:
I work on a OpenStack project that does DNS. We have plugable drivers for the different software out there - PowerDNS, Bind9, nsd, etc.
One of the people deploying our software wanted (or needed? - there was some weird legal / support issue) to plugin into Nominum.
Now, to even look at the API ref, or use the Nominum python lib, you need to have a support contract, and agree to not release them. If we were GPL, that user would not be able to use our project, but because we were Apache they could write an internal driver, and still have the same API as other OpenStack users.
> Now, to even look at the API ref, or use the Nominum python lib, you need to have a support contract, and agree to not release them. If we were GPL, that user would not be able to use our project, but because we were Apache they could write an internal driver, and still have the same API as other OpenStack users.
I'm not sure if by "internal" you meant that they were only using it internally. If they're not distributing outside their organization, they have no obligations under the GPL.
Otherwise, yes, the GPL does not allow for distribution under an NDA, because it adds additional restrictions.
Or maybe they would choose to work with OpenStack and discontinue their relationship with a draconian and backward company that locks their API behind a NDA