为什么jQuery是在MIT而不是LGPL下发布的?


18

为什么jQuery是在MIT而不是LGPL下发布的?

与LGPL相比,使用MIT有什么好处?


12
为什么要在LGPL下发布?

1
有人可能会争辩说,MIT / BSD许可证不会强迫开发人员回馈开源社区,而LGPL会迫使任何修改都是开源的。但是,正如梅森·惠勒(Mason Wheeler)提到的那样,如果想法是用较少的规则尽可能多地传播它,那么我可以理解这一论点。
corgrath 2011年

问题应该是“为什么jQuery在MIT而不是CC0下发布?”
Pacerier,2015年

Answers:


16

LGPL是“传染性的”,这意味着如果您使用LGPL,您也有可能必须(L)GPL您自己的工作。GPL(以及视情况而定,还有LGPL)实际上不包括在封闭源代码项目中使用。

这个问题实际上应该用另一种措辞来表达:为什么产品X是根据(L)GPL而不是MIT / Apache / BSD / Mozilla来许可的?后者,IMO,比GPL系列更贴近“免费”软件的精神(毕竟,您不能强迫人们自由)。


6
+1,也是GPL,在较小程度上,LGPL是政治职位和执照。
杰里米

4
如果您想出售该软件,仅使用它,它就是唯一的“传染性”,而且,如果您免费分发,那么GPL也很好。同样,使用GPL许可证的义务仅限于您修改的GPL代码。仅仅使用它就不会让您承担任何义务。
詹姆斯·安德森

6
@Jeremy非GPL许可证具有自己的政治立场。仅仅因为您无视政治并不意味着它就不存在。
Rudolf Olah 2014年

3
第一句话不清楚。对于LGPL软件,如果像修改和重新分发一样“使用” 它,那么是的,您必须根据LGPL许可您的修改。如果您像在代码中包括未修改的LGPL库那样“使用”它,则不必许可您的代码LGPL,但必须明确声明它包含LGPL代码。随着GPL,你必须使用GPL许可证,在这两种情况下。
naught101

3
此外,GPL不会“强加于人的自由”,而只是言论自由法案迫使人们说出自己的想法。您始终可以编写自己的代码来执行相同的操作,并根据您选择的任何许可证将其释放。
naught101

26

快速总结:

  • GPL:如果您在自己的代码中使用我的代码,则必须像我一样分发我的代码;

  • LGPL:如果您修改我的代码,则必须分发您的修改。在某些情况下,您可以将未修改的LGPL代码包含在专有代码中。

  • 麻省理工学院:用我的代码做你想做的,但假装代码是你的

然后是一些精美的印刷品,可能会混淆此事和FSF的政治目标-但有些人使用(L)GPL却没有分享它们。


4
LGPL所能提供的不仅是这些。实际上,这与MPL的单行描述非常接近。LGPL还对您可以和不能进行的链接类型有所限制,并且在涉及诸如JavaScript之类的脚本语言时,“链接”是一个模糊的概念。
梅森惠勒

5

好吧,显而易见的是,它是一种更宽松的许可证。它允许该库得到更广泛的使用,而不受(L)GPL带来的衍生作品的限制。当目标是要有很多人使用您的库,而不是试图强迫开发人员遵循某种意识形态时,这可能是有用的。


1

LGPL为软件创建者提供了更多好处,而MIT为软件用户提供了更多好处。

如果您希望人们将您的软件与其软件愉快地捆绑在一起,请选择MIT许可证。如果您希望软件单独捆绑在一起,并且永远不要与使用它的任何软件包紧密集成在一起,请使用LGPL。

LGPL的限制不如GPL。如果您为LGPL涵盖的程序编写扩展程序,则不必释放源。如果更改程序本身,则必须释放更改。使用GPL,您需要释放扩展的源。有了MIT许可证,您只需要确认您在应用程序中正在使用代码即可。


4
LGPL旨在使用户受益-不是LGPL代码的用户,而是LGPL代码的用户编写的代码的用户。原因是该第二用户将拥有第一用户修改的源代码,因为LGPL要求它可用。
汤姆·安德森

1
@tom:GPL和LGPL都致力于将代码带回到OSS社区,而Apache,BSD和MIT许可证更多地是关于免费为商业产品提供代码。
Satanicpuppy 2011年

1
这是说同一件事的另一种方式。但是Stallman和FSF一直在就用户自由方面提出GPL的论点-他们谈论了GPL软件用户享有的四个自由。目标是个人的自由,而不是社区的健康。
汤姆·安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.