Licensing Issues

Pascal J. Bourguignon pjb at
Tue Jun 30 11:50:01 UTC 2015

Hamda Binte Ajmal
<hamda.binte.ajmal at> 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.


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.

If you want to use the java FFI of ABCL (which so far is specific to
ABCL), without releasing your lisp code, then you will have to do so
using a FFI portability library, allowing to call java in other CL
implemtations (cf. eg. 
).  Then, this Java FFI portability library will have to be free
software, since it will be (at least partially) a derived work of ABCL,
but the rest of your lisp code won't, because it will be possible to use
it independently of ABCL, by compiling your java code and calling it
thru your Java FFI portability library on another CL implementation.

Also, if you distribute your program, without your lisp or java sources,
you will have to distribute the fasl and class files, along with the
sources of this Java FFI portability library and a "makefile" (an asd
file or any other script) able to build the application from those
components.  Then a user will be able to substitute your privative
components with a free component of his choice, and will be able to
modify the free components (the Java FFI portability library and ABCL)
independently.  (The same can be done with C programs, distributing them
as .o or .a files, as this was done sometimes in the past, before shared
libraries were common, to allow linking with the system specific

__Pascal Bourguignon__       
“The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.” -- Carl Bass CEO Autodesk

More information about the armedbear-devel mailing list