lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Tue, Apr 10, 2012 at 4:15 AM, steve donovan
<steve.j.donovan@gmail.com> wrote:
> The LGPL does, but I'd be damned if I know if this means you can
> require() such a module.

Wikipedia points to this: http://www.gnu.org/licenses/lgpl-java.html

> The LGPL and Java

> the LGPL works as intended with all known programming languages, including Java. Applications which link to LGPL libraries need not be released under the LGPL. Applications need only follow the requirements in section 6 of the LGPL: allow new versions of the library to be linked with the application; and allow reverse engineering to debug this.

> Inheritance creates derivative works in the same way as traditional linking, and the LGPL permits this type of derivative work in the same way as it permits ordinary function calls.

If JVM inheritance constitutes the creation of a derivative work, then
one may reason Lua require() constitutes the creation of a derivative
work. If so, the LGPL seems to mandate that LGPLed Lua modules remain
separate files which users can swap out independent of derivative
works. The broadest and most ambiguous power of the LGPL actually
seems to be "allow reverse engineering to debug this". This might
apply directly to derivative works by forbidding anti-reverse
engineering clauses or DRM. It seems possible that the LGPL
genetically transmits a right to reverse engineer, but IANAL and this
has probably been examined more in depth elsewhere.