Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can I ship a 'lein uberjar' containing some gpl3 classes? [closed]

I have a project that I have released under the GPLv3 that requires clojure.jar and clojure-tontrib.jar to run. I would really like to ship one big jar file with all of them. (perhaps with a license.txt also)

  • Does anyone know of a clear legal explanation* if this is in keeping with the licenses?
  • can i specify this in my license.txt to workaround any conflicts?
  • can you point me to some project that is already doing this?

*I'm not looking for legal advice, and wont interpret any response as such.

like image 432
Arthur Ulfeldt Avatar asked Oct 04 '10 19:10

Arthur Ulfeldt


2 Answers

DISCLAIMER: I am not a lawyer. This answer comes with no warranty at all.

From http://www.gnu.org/licenses/gpl-faq.html: " If you want your program to link against a library not covered by the system library exception, you need to provide permission to do that. Below are two example license notices that you can use to do that; one for GPLv3, and the other for GPLv2. In either case, you should put this text in each file to which you are granting this permission.

Only the copyright holders for the program can legally release their software under these terms. If you wrote the whole program yourself, then assuming your employer or school does not claim the copyright, you are the copyright holder—so you can authorize the exception. But if you want to use parts of other GPL-covered programs by other authors in your code, you cannot authorize the exception for them. You have to get the approval of the copyright holders of those programs. "

There are an example license to include in each file after that. If you use someone else GPL code (a library, for example), you cannot do anything without them changing their license.

like image 182
Nicolas Oury Avatar answered Sep 23 '22 14:09

Nicolas Oury


Clojure is licensed under the Eclipse Public License (EPL) 1.0

The interpretation of incompatibility between the EPL and GPLv3, as provided for informational purposes only, by the Eclipse foundation, appears strongly discouraging to your scenario:

http://www.eclipse.org/legal/eplfaq.php#GPLCOMPATIBLE

The EPL and the GPL are not compatible in any combination where the result would be considered either: (a) a derivative work (which Eclipse interprets consistent with the definition of that term in the U.S. Copyright Act ) or (b) a work based on the GPL code, as that phrase is used in the GPLv2, GPLv3 or the GPL FAQ as applicable. Further, you may not combine EPL and GPL code in any scenario where source code under those licenses are both the same source code module. [emphasis mine]

Based upon the position of the Free Software Foundation, you may not combine EPL and GPL code in any scenario where linking exists between code made available under those licenses. The above applies to both GPL version 2 and GPL version 3."

It would appear that an uberjar is expressly not an option. I don't know if separate clojure jars specifically excluded from the GPLv3 by you would work.

like image 36
Alex Stoddard Avatar answered Sep 25 '22 14:09

Alex Stoddard