[jdom-interest] Imcompatibility with GPL

Jason Hunter jhunter at servlets.com
Thu Sep 28 10:48:32 PDT 2006

Henttonen Katja wrote:
> Hi!
> I tried to register a new free software project at Savannah and learned 
> that JDOM is not compatible with GPL and thus cannot be legally combined 
 > with GPL'ed libraries.

It's a matter of legal opinion whether two licenses are compatible.  You 
can ask programmers for their opinion, but it does just as much good as 
asking lawyers about Java code.

And in fact you can ask ten lawyers their opinion and get ten answers (I 
know, I have talked to many lawyers through my work at Apache).  They're 
all making educated guesses of what a judge would rule, so fundamentally 
everyone's just guessing what some random judge is going to think.

That said, let me tell you my thoughts about licenses.  :)

First, let's assume for the sake of argument the two licenses are so 
clearly incompatible that even a programmer can tell.  Let's assume the 
JDOM license has clauses that the GPL would violate which way from 
Sunday.  Now let's assume you don't care and you go ahead anyway. 
What's the risk?  The risk is that the owner of the project whose 
license you "wronged" (JDOM) is going to sue you.  And let me give you a 
hint, I'm not going to sue you for this.

OK, make sense?  When combining code with the GPL it's the license owner 
of the non-GPL code whose call it is if they're compatible, because 
they're the party who would be entitled to take legal recourse.  The 
owner of the GPL code didn't have their license changed -- their IP is 
still licensed as it was before; new obligations have been made on the 
non-GPL code that it follow the GPL rules, and so that's the party to 
ask about perceived compatibility.  Now people argue about this, but if 
I write a line of code under the GPL, you write a line of code under 
License X, and our friend thinks they're compatible and thus ships them 
both under the GPL (which is what happens if they're "compatible", it 
means the GPL is a superset of requirements so the more liberally 
licensed code can be GPL-ified) then I'm not out anything as the GPL 
code author.  It's you as License X author who has to decide if License 
X was violated in this action.

Now, the JDOM license is an Apache 1.1 license (they didn't have 2.0 
back then) with the acknowledgment clause removed.  (I don't care to 
require people to worry about stuff like that.  Just use it, be happy.) 
  The ack clause is what GPL folks usually pointed toward as an 
incompatibility (not that their opinion legally mattered).  Well, we 
don't have it.

We do have the clause that you can't use JDOM as a name in a derived 
product.  And that proved useful when dom4j forked because it was 
originally called "JDOM++".  That's just WRONG to fork a project and 
name it like that.  I complained, some said, "JDOM isn't a good enough 
trademark." and I replied, "It doesn't matter, it's in the license, and 
copyright law is a lot clearer and faster acting than trademark law." 
and it got a new name.  Obviously I'm not removing that clause because I 
believe very strongly in it.  So the license is what it is, except I'd 
like to move to Apache 2.0 someday.

I would not consider moving JDOM to a *GPL license.  People contribute 
here because they want to and because it's in all our best interest, not 
because of legal license arm twisting.  I think JDOM should be core 
infrastructure for all projects doing XML in Java, not just projects 
with certain licenses.  And I think the license should be so short and 
simple that even a programmer can tell they're OK in using it.


More information about the jdom-interest mailing list