LGPL code in jar files places some restrictions

Jul 16, 2003 18:41 · 238 words · 2 minute read

(This entry has been revised… see below…) I’m surprised I hadn’t heard this before, but it appears that Java code that uses an LGPL’ed library must [be released under the LGPL as well][1]. Gadzooks. I’ll have to pay a bit more attention. The AspectWerkz folks convinced JMangler to switch back to the LGPL, but I guess it’s still viral!

Update: Thanks to Paul Rivers for pointing out his post in the comments for the link above. I’ve changed the title and I’m adding this text to provide more info for anyone who happens to come by here.

Using an LGPL’ed Java library does not require you to license your code under the terms of the LGPL. (Sorry about even saying that!) It does require you to follow section 6. Section 6 basically says that you must allow the customer to reverse engineer and modify your code for their own use (which is contrary to some commercial licenses). You must also distribute the source to the library (if people want it).

There is a part of section 6 about providing data and utility programs needed for reproducing the executable that uses the library. The way I read this section, I don’t think it’s a problem for a typical Java-based program, but IANAL.

So, the LGPL does place some different kinds of restrictions than other licenses, but these are probably workable.

[1]: http://linuxintegrators.com/hl30/blog/technology/?permalink=LGPL in Java.html “Hacking Log 3.0: America’s Blog”