Let's say I have written a proprietary program called MyProprietaryTool. The code has clear licenses on top of each file stating that it is proprietary code. (It's Python, so the code is what will be distributed)
However, in one of the files I import a GPLv2 licensed package.
GPLv2 is clear about this: I have to release the whole program as GPLv2 if I want to distribute it.
It is clear that if I don't, I am subject to lawsuits because I violated the GPL license.
However... what rights does the receiver of my code have? All files have a header that states that it's not GPL and forbids redistribution.
I think there's two possibilities:
- The receiver can sue me to release the code under GPL, or report me to the FSF so they can sue me and ask for damages. But the code remains proprietary (even though what I did was illegal).
- All of the above, but the receiver also has the right to redistribute my code because since I use GPL protected code, all of my code also becomes GPL.
I think it's all about semantics here: what does it mean "if you include GPL protected code, your code also becomes GPL licensed"? Does it mean that you are legally obliged to release all your code as GPL? Or does it mean that all your code becomes GPL without taking any action?
Sometimes that sentence is also worded differently. For example here: https://opensource.stackexchange.com/a/9516/21035 "If your code works with the GPL program, then the whole program must be released under GPL"
In most cases that means pretty much the same, but there is a slight semantic difference, which I think can have big implications.
Anyone who can shed some light on this?
#import …
that happens to (on some systems) import a GPLed implementation of the library.