On Tue, Jun 30, 2015 at 2:02 PM, Mark Evenson evenson@panix.com wrote:
On Jun 30, 2015, at 13:50, Pascal J. Bourguignon pjb@informatimago.com
wrote:
Hamda Binte Ajmal hamda.binte.ajmal@gmail.com writes:
Hello, I am using ABCL to run lisp files in my Java code. ABCL is covered by the GNU General Public License with Classpath exception, meaning that you can use ABCL in your application without the requirement to open the sources to your application. So, I conclude the GNU GPL is not going to effect the license of my Java Code,
BUT, what about the lisp code I load using ABCL? Would it have to be released under GNU GPL ?
It depends if your lisp code + abcl is a derived work of abcl or not.
AFAIUI,
If your lisp code is 100% conforming code, and therefore can be run unchanged on other CL implementations, you have a good argument that it doesn't make a derived work of abcl, and therefore it's not covered by the GPL.
On the other hand, if your lisp code uses ABCL specific features, then it will probably constitute a derived work of ABCL, and will be covered by the GPL.
By analogy, if I use a GCC specific feature to compile a closed-source, commercial product, I have to release that product under the GPL? That is a surprising conclusion to me.
Well, that's definitely not the intent of the GNU Classpath license, because the license is applied to the entire api provided by code in that project -- it's not restricted to specific parts of the Java API, or at least, the file doesn't mention it.
Also, I know that the Subversion project uses GCC specific pragma's yet its Apache license is undisputed.
The ABCL Java FFI is part of ABCL's API, so the intent is and IMO always has been, for applications to integrate ABCL without impacting the license of the application itself. That's what the classpath exception is about and that's how you should interpret it.
I think we need a lawyer…
Or maybe we simply need common sense: there's very little purpose to having the classpath exception in place if you start applying the restriction that Pascal describes.