views:

387

answers:

6

I'm considering using a jQuery plugin in a commercial project. The plugin (datepicker) is "dual licensed":

Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.

Now the MIT license is pretty permissive license, allowing me to use this code in a closed-source project. However, the GPL is a viral license, requiring me to license my software with the GPL or a more permissive license.

When software is licensed under two or more different license, do I have to comply with all the licenses or just one? How do you reconcile licenses if they conflict?

A: 

Now I'm no lawyer, but standard legal practice would be compliance with the most-restrictive of the licenses.

UPDATE: This really isn't as simple as some in this thread are contending. See the "License compatibility and combination" section of this article. Excerpt:

When two licenses A and B are combined, the following things can happen:

  • (1) A subsumes B.
  • (2) B subsumes A.
  • (3) A adds to B so that you must observe the requirements of both.
  • (4) A and B clash — they cannot both be satisfied.
pianoman
That's just wrong. When something is offered under multiple licenses, that means you can pick under which you want to use it. Which one is more restrictive is irrelevant.
ykaganovich
@ykaganovich Unless the licensing description is more specific, this is ambiguous. See **David Thornley's answer** above.
pianoman
dual licensing does not imply licenses A and B are combined. Licenses are combined when various components that comprise a product are licensed differently. Dual licensing means the product is released under two different licenses.
ykaganovich
A: 

In my opinion - to be safe, it is best to use the more restrictive license. That way, should anyone protest, you would not be in violation of that (the more restrictive) license.

Some might argue the other case - that by having a more restrictive license AND a less restrictive license allows the less restrictive license to "open the door", so to speak.

In the real world, there are examples that go both ways. Again, my advice is tending towards the risk-averse approach (a.k.a. cover yourself).

Cheers,

-R

Huntrods
It's not a matter of opening the door; it's a matter of picking whichever license is suitable from the list of available ones.
ykaganovich
A: 

There are two possible definitions of "dual-licenses".

One is that you have to adhere to the provisions of both licenses, which in this case would effectively mean you keep the license and attribution information and treat it according to the GPL. That's what I'd guess here. It's pretty common to take software under a less restrictive license it and put a changed version under another, more restrictive, license.

One is that you may use either license, at your option. Perl, for example, was traditionally available under either the GPL or the Artistic License, your choice, and the boilerplate the FSF (authors of the GPL family) suggests allows use under the current or any later version of the GPL, at your option. If it meant this, it would probably say so, and explicitly give you a choice.

One possibility would be to try to find the version under the MIT license, which presumably was the original. You might have to do more work to it, but you wouldn't be using somebody else's code in a way that person didn't want.

David Thornley
Dual-licensed *always* means the latter, that you may choose either license at your option. Do you have any example where "dual-licensed" is used to mean that you must adhere to both?
ShreevatsaR
Not specifically, but I don't trust people to use exactly the standard terminology. The two licenses listed are also the sort that I'd expect to find as two licenses that both had to be kept, and it isn't clear why something would be dual-licensed under MIT and GPL in the usual sense. Basically, I'm suspicious.
David Thornley
+1. I'm suspicious too of this. Its almost as if there should be a new type of license which can combine other licenses. Call it the And License, the Or License, and the XOR License. Lets you combine two or more licenses using the specified logic.
Will
"I am suspicious" is not sufficient reason to sow doubts and muddle the issue. :-) Dual-licensed has a well-defined meaning; it is always used for "OR". [ http://en.wikipedia.org/wiki/Dual-licensing ] If you don't trust words to mean what they mean, all bets are off :p (I do agree it's strange that the author said 'dual-licensed under MIT and GPL", but a simple plausible explanation is that he didn't want to think much about licenses and just picked both.)
ShreevatsaR
To clarify: the terms of the MIT license are a strict subset of the terms of the GPL, so MIT 'AND' GPL = GPL; MIT 'OR' GPL = MIT. For a clarification specific to this case, see comment 8 (by the author of datepicker) at http://marcgrabanski.com/article/google-uses-ui-datepicker
ShreevatsaR
Dual-licensed has two possible meanings, and is normally used to mean you can pick either of the licenses. However, this isn't obvious to everybody, and I don't think it's one of those "everybody knows" things. If the author didn't want to decide between MIT and GPL, so licensed under both, the author might have been careless about "dual licensed".
David Thornley
+6  A: 

Dual-licensed is supposed to mean that you have been given two different licenses to use the software, and you can pick which license you want to use. It is one or the other; you cannot pick and chose terms from different licenses.

It is usually used in situations where a user might want to integrate the software with GPL-licensed stuff, and the original license isn't GPL comptatable. Thus one of the two licenses is typically a fully GPL-compatible license.

T.E.D.
The first paragraph is correct. The second paragraph is incorrect, in that you may not take a GPL-licensed product and release it under a less-restrictive license like MIT, regardless of what other licenses you release it under.
ykaganovich
@ykaganovich: I agree with your point, but I don't think I said otherwise. It seems pretty clear that if you integrate w/ GPL like this, any redistrubution of the integrated whole would have to be under the GPL-compatible license
T.E.D.
What T.E.D. says makes sense. Seems to me that you can't include non GPL'd code that's owned by someone else in a project that's licensed with the GPL. You can't force someone else to open their source, and the GPL requires all your source is open, not just the bits of the binary you own. In this case, mixing a very open license (do what you want) with a very restrictive one (you must do this) makes sense in this scenario.
Will
+2  A: 

In dual licensed projects that I have seen, the purpose was so that people could use the software under whichever license met their needs. However, just stating "dual licensed" is ambiguous in this regard.

James M.
+10  A: 

A license is what gives you rights to use a library. Dual licenses means that you can pick either license.

The reason you release something under dual licensing is so that people can use either of the licenses when they use your software. E.g. many libraries are released under GPL as well as a commercial license, so that commercial applications can pay for using the library, while opensource projects can use them freely.

This is different than having different parts of the application being covered by different licenses, which also happens a lot when different parties have the copyright to different parts of the application. For example, a commercial application might use an LGPL library; in that case, the library will be included and redistributed under the original LGPL license.

In case of JQuery, I honestly don't know what they're thinking, because MIT license is compatible with GPL, which means you can always use a library that's licensed under MIT and reditribute the product under GPL. So I don't know why they felt the need to also release it under GPL explicitly.

ykaganovich
+1 and answer for that link.
Will