LGPL code in jar files places some restrictions
(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. 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.


I suggest you at the read the comments on the LGPL is viral entry before you take it seriously.
Thanks for the acknowledgement, and for editing your post to include the new info.
I would like to point out though, that in your new post you specified one thing wrong. You don’t have to include the source code for the library. In section 6, just before the a, b, c etc it says “Also, you must do *one* of these things”. I missed it at least the first 3 times I read the post!
Anyways, just thought you would like to know.
I had said “if the user wants it”, because you don’t need to include the source code, but you do need to make it available to the user. As I read it, the only case where you don’t need to make the source available is if the library is already included on their system and you’re not including it with your software.
Of course, my status as IANAL has not changed since yesterday