[Format recovered from top posting.] On Mon, 29 Mar 2010 17:36:42 -0400 Aaron Cohen <remled...@gmail.com> wrote: > On Mon, Mar 29, 2010 at 5:24 PM, Phil Hagelberg <p...@hagelb.org> wrote: > > On Sat, Mar 27, 2010 at 9:55 PM, Mike Meyer > > <mwm-keyword-googlegroups.620...@mired.org> wrote: > >> 5) Can I distribute a jar file for my Clojure project under the GPL? > >> > >> No. When you compile your code, code from clojure (and clojure-contrib > >> if you use it) will be included in the resulting jar file. In > >> particular, any macros you use will expand in place in your > >> code. Either of these make it a derived work, so you have to comply > >> with both licenses, which you can't do. > > I think this only matters if you're shipping .class files by way of > > AOT. If you ship a jar full of .clj files then you're distributing > > before anything is compiled, so the derivation is done by whoever runs > > the code. In that case you shouldn't be responsible.
Yup, that would work. If your jar file only contains your own code, then your license is the only one that needs apply. As I said, I'm new to java; I still think "shared library" when I hear "jar file" - apparently incorrectly. > If you're distributing the jar file you own copyright to it and you > can grant any kind of permissions you want. So you may need to grant > your user's explicit permission to link your code against specific > jars (such as Clojure and Clojure-Contrib), but it's hardly > impossible. Well, you own *a* copyright to it. However, if it includes any other works, then the copyright holder for those works *also* owns a copyright to it. In which case, you're only allowed to distribute it if all copyright holders agree, which for things covered by floss licenses means the licenses are compatible. If you compiled clojure code to put into the jar, then you've incorporated parts of any macros you use. > The GPL v3 has a specific recommended form for adding "Additional > Permissions", it's also possible if you stick to GPLv2, but you're a > little more on your own when it comes to the proper way of saying > precisely what you intend. See > http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs Always possible. > I also think that it's possible that "clojure.jar" might fall under > the "System Libraries" exception that is built into both GPLv2 and > GPLv3, but I'm no lawyer. I doubt clojure-contrib would. I suspect functions would, but macros wouldn't. The bison templates weren't (until they moved to LGPL), even though they just provided APIs that matched awk APIs (and prevented me from distributing an otherwise free stat package around '98...). With Macros, like the template, actual bits of the authors code *must* be compiled into the derivative product, whereas libraries could - at least in theory - be replaced by a different implementation of the same library without ever having access to any source but the caller. <mike -- Mike Meyer <m...@mired.org> http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.