[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.

Reply via email to