[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: The impact of a module's license on the requiring Lua program
- From: Sam Roberts <vieuxtech@...>
- Date: Tue, 10 Apr 2012 10:46:15 -0700
On Mon, Apr 9, 2012 at 11:58 PM, Martin Schröder <martin@oneiros.de> wrote:
> 2012/4/10 Marc Balmer <marc@msys.ch>:
>> If a Lua module is GPLed, does using that module with 'require' make my
>> Lua program a derivative work as per GPL terms or is it merely running
>> the program as per GPL terms? The latter case would mean that my Lua
>
> The whole program is a derivative work.
> http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL
Lua isn't GPL, I think this link is more specific:
https://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins
Note, however, that if you don't "distribute" your program (your lua
code and the bindings
that are dynamically linked to the GPL library) together, the GPL doesn't apply.
For example, if I write a program that uses a GPL lib, and send the
program to you, but what
I send doesn't include the GPL lib, then I'm not distributing that
lib, and its license doesn't apply
to me.
You would then combine my program with the GPL lib (by copying it onto
your machine that has
the GPL lib, and running it). But you don't have to comply with the
license, either, since you are
just using the GPL lib, not distributing it.
But then, if you put the GPL lib and my program on a USB key, and send
it to somebody, you
are now distributing the lib.... and NOW you have to comply with the
license. Which you might
not be able to do, if I didn't give you a license to my programs source.
In the case of using LuaMotif with a GPL lib in a Berlin Zoo kiosk,
for example, if you are acting
as a contractor for the Zoo, you don't have to care about the GPL
license. The Zoo can use
the GPL code in any way it wants, no problem, no worries about the
license. Until it sells the kiosks
to the San Diego Zoo.... then it would need to comply, and the GPL
would apply to the lib and the
program using the lib, because they are distributed together.
Cheers,
Sam