GPL的优缺点是什么?[关闭]


31

我正在寻找一些开源软件的许可,并正在寻找GPL。使用此许可证的利弊是什么?



6
不是重复的。这个问题只集中在GPL上,而不是“高视角”观点。
goodguys_activate

1
我倾向于一个极端或另一个极端:AGPL或WTFPL。
TRiG 2010年

让我们对此进行透视。如果Microsoft首先提出该许可证并保持所有规定完全相同,则该许可证将没有相同的名称。FOSS和GLP并非如此。阅读他们的宣言。他们不是关于无政府状态,而是关于控制权。
Andrew T Finnell 2012年

Answers:


45

好吧,我的GPL利弊清单:

优点

  • 这使人们不得不思考是否真的购买开放源代码。您是否准备好靠它生活,并让其他人使用您所写的内容,而不是仅仅因为您能从中受益而喜欢它?
  • 它可以确保当开源社区开发出某种东西时,它仍然是开源的。别人没有机会承担别人一直在做的所有工作,将其重新包装并出售。

缺点

  • 对于大多数公司而言,这是完全不可以的。他们承受不起使用GPL许可的代码进入其产品的风险,因此几乎所有中型公司都有明确禁止GPL许可的代码的条款。
  • 它使人们远离开源。
  • 真的公平吗,因为我在我的应用程序中使用了您的“开源图像选择器”控件,所以我的整个应用程序现在也必须是“开源”了吗?即使我改进了图像选择器并将该代码贡献回社区?对于许多开发人员而言,这些术语过于繁琐。
  • 许多人并不了解GPL的严格条款,因此将其用作他们听说过的许可证,却没有意识到他们对要使用它的任何其他人施加了什么限制。
  • 它极具病毒性。如果您的项目包含一个组件,而该组件包含一个组件,该组件包含一个GPL下的组件(phe!),那么您的整个项目也将受到GPL的约束。

最终,对我而言,弊大于利。对我而言,它充满了开源福音传教士的风范,他们试图欺骗世界使其走向开源,而不是说服全世界。


9
对于某些缺点,+ 1,我同意,对于这些缺点太“严格”了。MIT许可证是一个不错的选择。
鲁克

16
如此透明的FUD:“对于大多数公司组织来说,这是完全不可以的;它们承受不起使用GPL许可的代码进入其产品的风险,因此,几乎所有中型公司都有明确禁止GPL许可的代码的条款。 ”。自从至少2004年以来,GPL许可的代码和项目在《财富》 500强中就一直没有争议,实际上,许多大型公司(例如Google,IBM,Oracle等)都将大部分业务作为其基础。

13
软件产品公司(通常不能使用GPL代码)与内部使用软件的公司(GPL基本上没有效果)之间存在差异。后者比前者更多。
David Thornley,2010年

9
顺便说一句,GPL被设计为社会运动的推动者,但是其目的是创建一个将始终保持免费并且将变得越来越诱人使用的免费软件存储库。据我所知,这并不是试图将开发人员欺骗为任何东西。此外,GPL背后的人Richard Stallman反对与开源软件(而不是自由软件)的所有联系。
David Thornley,2010年

4
David Thornley的经历基本上与我的相符。我从未听说过一家公司不会将GPL代码用于内部使用。哎呀,每个人都在几十个地方拥有Linux。但是,许多开发用于分发的软件的公司都不允许在其开发代码库附近的任何地方使用GPL代码。LGPL通常还可以,但并非总是如此。
大卫·史瓦兹


2

FWIW我个人有一个大型开源项目,我是首席开发人员,而我采用了多种许可模式,正是因为GPL阻止了某些人使用我的代码。我的代码是根据您自己选择的许可模型许可的,并且允许以下任何许可-GPL,LGPL,MIT

LGPL允许人们在未修改的情况下将您的代码/库/可执行文件原样包含在他们的产品中。这对于构建可能需要您的产品运行但不需要更改产品功能的商业/封闭源产品的公司而言非常有用。

MIT许可证本质上是一种许可性许可证,使人们可以根据自己的意愿修改您的工作并将其重新用于自己的工作。如果您怀疑用户可能想要执行此操作,并且您不介意没有访问权限,则可以使用此功能。


2

选择GPL是思想上的步骤:

您正在为自由软件开发人员提供好处,因为他们可以使用您的库,而商业播放器则不能(至少只要他们不想将其产品发布为GPL)。公司必须付钱给工人来编写具有相同功能的库。您正在以这种方式推广免费软件。

选择较少限制的许可证,例如MIT更为实用:

您可以在为钱进行编码时(作为自由职业者,作为雇员)自己使用图书馆。但是,每个人都可以,因此,您可以通过这种方式帮助公司省钱,尽管没有钱就已经很富有。


+1 GPL是一个意识形态/哲学决定,而不是技术决定。这是好事还是坏事取决于哲学问题,并且取决于每个项目或团队来决定。
Andres F.

1

对于自由许可的开源项目(例如X11,PostgreSQL,Haskell),GPL和LGPL适得其反。不能在此类项目中使用GPL代码,这不是因为GPL禁止它或X11许可证禁止它,而是因为此类项目不想将其整个产品的有效许可证“升级”到GPL。


0
  • 好处:您在法律上保证人们可以向您提供他们的更改/贡献。
  • 费用:许多商业用户无法使用您的代码。他们不会使用您的代码,因此永远不会做出贡献。请参阅此线程,以解释为何libcinder人员不能使用(L)GPL代码。当LGPL需要静态链接库时,即使LGPL也会出现问题。

我认为这仅适用于非SaaS场景...而且我可能需要找到我的叉子,并要求他们与我共享副本。
goodguys_activate

的确如此,对于SaaS来说就是AGPL。识别违规不是一件容易的事
但是一旦

您的利益是错误的:如果我编辑软件并自己使用,则您无权查看我的编辑。如果我将其分发给没有共享兴趣的组也是如此。该用户必须看到源,不是每个人的权利。
K.Steff
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.