Ok, I'm not a copyright lawyer. I have spent a lot of time over the
past three decades looking at licenses, and talking them over with
lawyers, so I'd have no qualms acting on the advice below. But if
you're serious about this, you need to talk to a real copyright
lawyer.

On Sat, 27 Mar 2010 18:44:15 -0700 (PDT)
Eugen Dück <eu...@dueck.org> wrote:
> 
> 1) Can I GPL my Clojure project?
> 2) Can I GPL my Clojure project that also uses clojure-contrib?

Yes to both of those. They use the same license - the Eclipse Public
License. So the answers will be the same in all cases.

In particular, FLOSS license derive their power from copyright. Until
you start making *copies* of things that are covered by them, they
don't apply. Your Clojure code only has your copyright on it, not
anyone elses. So you can license and distribute your code however you
please.

> 3) Can I ship clojure.jar (and clojure-contrib.jar) with my GPL app?

Yes. The mere act of including GPL'ed software on the media doesn't
cause create a derived work, so they can have distinct licenses. For
example, BSD-licensed systems regularly include GNU sources and
binaries in the distribution (usually distinguished so commercial
vendors can easily create GPL-free distributions).

> 4) Can I AOT clojure-contrib.jar (or parts of it) and ship the
> generated classes with my GPL app?

If I understand the AOT process correctly (I'm new to the Java world),
the answer is no. My assumption is that this creates a single jar that
you'd then ship, so the same rules would apply that apply to binaries:
it's a derived work, so you can only ship it by complying with both
the EPL and the GPL, which the FSF says isn't possible (see
http://www.gnu.org/licenses/license-list.html).

And to answer the critical question you didn't ask:

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.

Possibly you could use the LGPL; this is sort of backwards from it's
intended use, which is to allow binaries built against LPGL'ed
libraries to be distributed without requiring the source to be GPL'ed,
so I'm not sure.

You can, of course, distribute the jar file and sources under
different licenses. Depending on your reasons for wanting to use the
GPL, that may or may not meet your needs.

     <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