My understanding of permissive licenses (MIT, BSD) is that they allow a user to re-license the software, provided that they attribute moderate portions to the original author. Is there a reason why anybody would dual-license with something like MIT and GPL, if the MIT license would allow any person to take the code and license it as GPL? I know JQuery does this, but I don't understand why. Am I misunderstanding the MIT license or is it just redundant?


3 Answers 3


Even if technically a permissive license is compatible with the GPL, sometimes explicitness pays. Do you really want some company with uber-anal lawyers to prevent its employees from using your permissively licensed code on the one in a million chance that some tiny detail of the license you chose makes it technically incompatible with the GPL (even though that's not what you intended)? If not, then unless your permissive license is very widely considered compatible with the GPL, you should dual license it.

  • So then a followup: Since MPL (Mozilla) is incompatible with GPL and many people dual license MPL/GPL, would it make sense to Tri-license MPL/GPL/Apache if you wanted Apache, but like the above, wanted to explicitly allow GPL and MPL? Commented Apr 8, 2011 at 0:35

It is most likely just redundant. There are several versions of the MIT license, and some of them were incompatible with the GPL v2 due to the attribution clause in the MIT license. Licensing under several popular licenses allows the code to be used without having to worry about licensing compatibilities.

  • 3
    Do you have a reference for this? It sounds like the BSD license, with its advertising clause, (long since retired.) I hadn't heard this for MIT and attribution. Commented Apr 23, 2012 at 20:57
  • Oops, you are correct.
    – FigBug
    Commented Apr 23, 2012 at 22:48

Sometimes it's a case where they changed to a more permissive license, and they keep the old license around just for people who are already using it under the old license. It can be a big deal for people to switch.

For instance Qt added LGPL (v2) but still has GPL (v3). They do say that you must choose a license when you begin. You can't choose one and then switch later. I'm not sure why that is...

  • Regarding Qt: GPL v3 was added after LGPL v2. They use GPL to make some previously commercial-only modules open source, while still forcing commercial users to buy the commercial license if they want to use these modules. "You can't choose and switch later" is about commercial licenses only, in order to prevent potential customers from developing with open source and later switching to commercial licenses for the same code.
    – FourtyTwo
    Commented Oct 16, 2019 at 5:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.