18

Why is jQuery released under MIT and not LGPL?

What are the benefits of using MIT compared to LGPL for a framework?

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
corgrath
  • 1,327
  • 2
  • 10
  • 11
  • 12
    Why should it be released under LGPL? –  Jun 06 '11 at 15:55
  • 1
    One could argue that MIT/BSD licenses do not force developers to give back to the open source community, while LGPL forces any modifications to be open source. However, as Mason Wheeler mentioned, if the idea is to spread it as much as possible with lesser rules, I can understand the argument. – corgrath Jun 06 '11 at 15:59
  • The question should be "Why is jQuery releasd under MIT and not [**CC0**](https://jquery.org/license/)?" – Pacerier Apr 12 '15 at 12:49

4 Answers4

28

In a very quick summary:

  • GPL: if you use my code in yours, you must distribute your code as I do for mine;

  • LGPL: if you modify my code, you must distribute your modifications. You can include unmodified LGPL code in proprietary code under certain conditions.

  • MIT: do what you want with my code excepted pretend that the code is yours

Then there is the fine prints which may confuse the matter and the political goals of the FSF -- but some use the (L)GPL without sharing those.

naught101
  • 1,210
  • 11
  • 15
AProgrammer
  • 10,404
  • 1
  • 30
  • 45
  • 4
    There's a lot more to the LGPL than that. That's actually a lot closer to a one-line description of the MPL. The LGPL also has restrictions on what kind of linking you can and can't do, and "linking" is kind of an indistinct concept when it comes to scripting languages such as JavaScript. – Mason Wheeler Jun 06 '11 at 18:40
  • @MasonWheeler, a good generalisation of LGPL's terms to non-linked languages or to programs themselves is to say that the LGPL covers the private interfaces of the protected thing. That is, under the LGPL, people may use the public interfaces however they please, but any use or modification of the private interfaces must be LGPL'd. For example, if jQuery were LGPL's, everyone would have free reign over its publicly documented API, but any modifications to it or usage of any internal, non-documented code would require the modifier/user to LGPL their modification/usage. – Jivan Pal Mar 09 '21 at 19:36
23

LGPL is "infectuous", which means if you use it, you risk having to (L)GPL your own work too. GPL (and, depending on the circumstances, LGPL as well) practically excludes usage in a closed-source project.

The question should really be worded the other way around: Why is product X licensed under (L)GPL rather than MIT / Apache / BSD / Mozilla? The latter are, IMO, much closer to the spirit of "free" software than the GPL family (after all, you can't force freedom on people).

tdammers
  • 52,406
  • 14
  • 106
  • 154
  • 8
    +1, Also GPL and to a lesser extent LGPL is a political position as well as a license. – Jeremy Jun 06 '11 at 16:13
  • 2
    You can use (L)GPL without caring about the politics, but yes, the author definitely has a political agenda. – tdammers Jun 06 '11 at 19:34
  • 6
    Its only "infectious" if you want to sell the software, just using it is fine, and, if you are distributing for free then GPL is just fine too. Also the the obligation to use the GPL license is restricted to GPL code that you amend. Just plain using it puts you under no obligation whatsoever. – James Anderson Jul 17 '12 at 06:14
  • 8
    @Jeremy non-GPL licenses have their own political positions. just because you ignore the politics doesn't mean it isn't there. –  Feb 04 '14 at 04:06
  • 6
    The first sentence is not clear. With **LGPL** software, if you "use it" as in *modify and redistribute* it, then yes, you have to license your modifications under the LGPL. If you "use it" as in *include an unmodified LGPL library* in your code, you **do not have to license your code LGPL**, but you do have to clearly state that it contains LGPL code. With the **GPL** you *do* have to use the GPL license, in both cases. – naught101 Feb 05 '15 at 04:00
  • 3
    Also, the GPL doesn't "force freedom on people" any more than a bill of free speech *forces* people to say what's on their mind. You can always write your own code that does the same thing and release it under any license you choose. – naught101 Feb 05 '15 at 04:04
  • 6
    "Force freedom on people"? Those are weasel words. When did RMS *ever* force anybody to use his code or modify it? LGPL/GPL offer a way to protect your own IP, not to dictate how other people use theirs. If you want to choose another way of licensing *your* IP, the GPL isn't stopping you. Those who *have* adopted the GPL are simply saying "OK, but keep *my* IP out of it." Don't they have that right? You have some funny ideas about freedom. – itsbruce Feb 05 '15 at 18:25
  • 1
    Hibernate is licensed LGPL. This didn't prevent it from being *practically used in closed-source projects* – Lukas Eder Mar 25 '16 at 08:10
  • @itsbruce The (A|L)?GPL only protects _copyright_, not the rest of the stuff that comes under the nebulous banner of IP. – wizzwizz4 Feb 21 '20 at 17:22
4

Well, the obvious one is that it's a more permissive license. It allows the library to be used more widely, without the restrictions on derivative works that the (L)GPL brings along with it. When the goal is to have lots of people use your library, and not to try to force developers to conform to a certain ideology, that can be a useful thing.

Mason Wheeler
  • 82,151
  • 24
  • 234
  • 309
2

The LGPL offers more benefits to the software creator, whereas the MIT offers more benefits to the software user.

If you want people to happily bundle your software with their software, choose the MIT license. If you want your software to be bundled separately and never as closely integrated with whatever package is using it, use the LGPL.

The LGPL is less restrictive than the GPL. If you write an extension to a program covered by the LGPL, you DO NOT HAVE TO RELEASE THE SOURCE. If you change the program itself, you have to release the changes. With the GPL, you need to release the source for the extensions. With the MIT license, you just have to acknowledge that you're using the code in your application.

Satanicpuppy
  • 6,210
  • 24
  • 28
  • 4
    The LGPL is intended to benefit the user - not the user of the LGPL'd code, but the user of the code written by the user of the LGPL'd code. The reason being that this second user will have the source code of the first user's modifications, because the LGPL requires that it be made available. – Tom Anderson Jun 06 '11 at 17:33
  • 1
    @tom: Both the GPL and the LGPL are focused on bringing code back into the OSS community, whereas the Apache, BSD, and MIT licenses are more about making code freely available for commercial products. – Satanicpuppy Jun 06 '11 at 17:49
  • 1
    That's another way of saying the same thing. But Stallman and the FSF have always couched the argument for the GPL in terms of the freedom of users - they talk about [four freedoms](http://www.gnu.org/philosophy/free-sw.html) which users of GPL'd software enjoy. The goal is the freedom of individuals, not the health of the community. – Tom Anderson Jun 06 '11 at 18:54