views:

96

answers:

2

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.

+3  A: 

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.

Nicolas Oury
+1  A: 

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.

Alex Stoddard
i wonder if "source code module" is a class file or jar file? i dont mix code within the same classes and want to within the same jar.
Arthur Ulfeldt
The problem is really not so much for your distribution but for a potential someone in the future deriving from your uberjar. They have different rights and responsibilities depending on what license is in force and how can they tell?
Alex Stoddard
If you own all the code in the project other than the clojure stuff you are also free to release it under multiple different licenses. Would applying just the EPL to the uberjar version work?
Alex Stoddard