views:

129

answers:

4

I am wondering what the point of dual licensing is whenever the two licenses in question are both open source licenses.

For instance, jQuery provides their library under either the MIT or GPL license. What is the point of doing this?

Also, I've seen http://stackoverflow.com/questions/1174271/what-happens-when-open-source-software-has-two-or-more-licenses as a possible duplicate, but they don't answer why jQuery is actually licensed this way.

+1  A: 

It's slightly uneccessary - more a political statement of support for the GPL.
Or to make it obvious that you can include it in the GPL and so stop managers/lawyers worrying

MIT (or rather X11) licenced software is automatically GPL compatible,

Martin Beckett
A: 

Including code under different licenses in a project can really be a problem. A larger project could contain code under many different licenses. So offering multiple licenses can help the user to clean up this jungle.

h0b0
But I thought you could basically take MIT code and redistribute or otherwise treat it as GPL code because MIT is GPL compatible?
Earlz
@Earlz Explicit dual licensing changes it from "I thought you could" to "you definitely can".
Schwern
In special cases as the given example this may work. But I understood the question as general.
h0b0
@h0b0: I understood the question to be "Why MIT and GPL?", when offering under MIT would do the same thing.
David Thornley
@David, yes, this is what I'm asking.
Earlz
+3  A: 

Dual licensing is usually about removing as many licensing barriers from using your software as possible.

Roughly the free software world splits into GPL and BSD style. GPL being about viral freedom, BSD being about totally free use. Dual licensing your software both GPL and BSD eliminates licensing from consideration of use. You just use whichever one fits your style. This can stop licensing wars before they start. There is no question of whether your project is GPL compatible, you declare it up front.

The advantage of dual licensing comes out when you start bundling software together. Can GPL'd software be bundled in a BSD licensed project? What about vice-versa? These are difficult questions and dual licensing makes them go away.

Dual licensing a project as both GPL and BSD defangs the GPL. Its viral freedom clauses are effectively unenforceable because the user can simply use it under the BSD terms. Depending on which side of the Free Software fence you sit this is a good or bad thing.

Finally, dual licensing causes some issues when pulling in code from other projects. You must make sure that the code you're copying qualifies for both licenses. Generally when copying code it has to qualify for the more permissive of the two licenses. JQuery cannot pull in GPL licensed code, or they'd be violating the GPL by offering GPL code under the more permissive MIT license. They can pull in MIT licensed code, since you can redistribute MIT licensed code under the GPL. They may not be able to pull in new BSD licensed code since the MIT license does not have a "no endorsement" clause, and is thus more permissive, but likely nobody really cares about that clause.

That said, I Am Not A Lawyer.

Schwern
Thing is, BSD-style software can be incorporated into GPLed projects (although not vice versa), so adding GPL licensing does nothing. I can take MIT code and slap a GPL on it.
David Thornley
@David In the case of dual MIT/GPL its largely peace of mind.
Schwern
@David Thornley: you still need to keep the MIT license though, and if the MIT license was incompatible with GPL, you couldn't. But it is (the additional requirements you add to some MIT-licensed code by adding the GPL to it are permitted by the original license). But yes, the GPL is the "problem" here. However, as short as the MIT license is, there's enough programmers who use or would like to use open source in their closed-source *enterprise* applications who just can't read it. Moreover, there's enough zealots who wouldn't use a (only) BSD/MIT-licensed library in their GPL project.
just somebody
@just somebody: Sure, I need to keep a MIT license on MIT-licensed code, but that doesn't stop me from making it MIT and GPL, which for practical purposes is GPL with some extra words required. Nor have I seen any reluctance to take MIT-licensed code and use it in a GPLed project. BTW, I don't think either license is a problem, but the combination.
David Thornley
A: 

With a GPL licensed version:

  1. Open Source advocates and developers or products are happy to include it.
  2. You can accept contributions to the product by outsiders
  3. You can argue the product has the traits of Open Source software, e.g. bug fixes and free world wide security white box testing

With a closed source license:

  1. Sell it to companies at a profit for money. In exchange they can make code changes without having to "open source" them when the redistribute the product.

Dual licensing gives you the best of both worlds.

--

One final issue is that your product can be mixed with similar licenses. For example GPL source code can only be statically linked to other GPL binaries I believe. Multiple licenses enables greater binding of different pieces of software.

Philluminati
Wrong sort of dual licensing. Using the GPL and selling proprietary licenses makes sense; using GPL and MIT doesn't to me.
David Thornley
You cannot accept contributions from outsiders under the GPL and then license them under the other license (in this case MIT). You must be explicit about the license under which you're accepting submissions, and that must agree with *all* licenses under which you later distribute.
Roger Pate