GPL和LGPL开源许可限制

rsi*_*nha 102 licensing open-source

我无法理解开源的使用权限.我在某地读到GPL或LGPL强制要求使用GPL软件的软件也必须是开源的.我想创建一个使用一些开源图像识别库的应用程序.我可以出售这个应用程序,还是必须是开源的?

谢谢!

Rob*_*vey 76

LGPL允许您在应用程序中使用和分发开源软件,而无需发布应用程序的源代码.

如果您选择在您的应用程序中使用和分发GPL许可的开源软件,则GPL要求您发布应用程序的源代码.换句话说,您的申请还必须根据GPL许可.

  • 请注意LGPL声明使用的库必须是可替换的.因此静态链接是不可能的. (12认同)

tho*_*ter 44

  • GPL

    其他开发人员可以借用和修改代码并将其作为自己项目的一部分进行重新分发,前提是他们的整个项目也是根据GPL许可的.

    这可以防止代码在专有软件中使用.

  • LGPL

    其他开发人员可以借用和修改代码并将其作为自己项目的一部分进行重新分发,前提是LGPL下使用的部分根据LGPL重新许可.允许项目的其他部分有其他许可证.

    这允许代码用于其他专有软件.

LGPL还有许多其他条件需要满足才能将其分发到具有其他许可证的项目中.例如,它必须是任何可能的完成的软件的用户修改,重新编译或替换在LGPL下许可的软件部分,并使用相同的软件使用该修改的代码.如果您要发布包含某些LGPL代码的其他专有软件,满足此要求的一种方法是将LGPL代码放入单独的动态链接库中,并使用您的软件分发重新编译LGPL所需的头文件和文档.部分以这样的方式仍然可以与所提供的软件链接和使用.采取措施防止修改LGPL代码是不可接受的,例如模糊代码本身或API或头文件.

请注意,LGPL与GPL兼容:如果您愿意,您可以选择将代码"升级"为GPL并将其合并到我的第一个项目符号点中的GPL许可项目中.但是,您不能采用其他方式并将GPL许可代码重新许可为LGPL.


Jar*_*aus 27

IANAL,但概念相当简单.

首先,您和您的律师必须阅读GPLLGPL许可证.其次,您应该阅读GPL常见问题解答.据我了解,您可以考虑以这种方式使用GPL/LGPL库:

  • 如果您动态或静态地与GPL或LGPL库链接,则您已创建衍生作品.
  • 如果您使用的是GPL库,并且您与该库链接,则必须使用兼容许可证发布您的软件.
  • 如果您使用的是LGPL库,并且您与该库动态链接,则您的软件不必与兼容许可一起发布,但您仍必须遵守LGPL.
  • 如果您使用的是LGPL库,并且您静态链接到该库,则必须使用兼容许可证发布您的软件.
  • GPL/LGPL许可证的意思是"免费",如"言论自由",而不是"免费啤酒".您可以创建衍生作品并以大笔资金出售,但您必须遵守GPL/LGPL.

  • "首先,您和您的律师必须阅读GPL和LGPL许可证." - 现在杀了我 (25认同)
  • "直截了当".事实如此直截了当,你需要聘请律师,看看你是否可以_use_一些代码.这就是为什么开发人员不应该使用GPL许可证. (7认同)

ras*_*ani 9

如果您将GPL代码剪切并粘贴或链接到您的应用程序中,您的应用程序必须根据GPL许可,然后您需要发布代码.

但是,您仍然可以出售您的应用程序和afaik,唯一的例外是您将源代码发布给您的客户.

如果您链接的库是Lesser Gnu Public License又名LGPL,那么您不需要发布自己的应用程序代码,但是如果修改了lgpl'd代码,仍然需要释放所有修改.


txw*_*ger 7

GPL不禁止您销售软件.但是,您必须提供软件的来源.

使用问题有点复杂.GNU/Linux是在GPL下发布的.无论您的软件许可是什么,都没有禁止您编写在Linux下运行的软件.但是,您无法将Linux与软件一起分发.这通常是需要成为程序一部分的库的问题.这就是LGPL许可证的用途.您可以编译使用gcc编写的ac程序(因此使用gcc中的LGPL许可运行时例程库),并且仍然可以在没有GPL限制的情况下发布软件.

我认为这是它的一般要点.但是,这不是任何法律建议.对于法律建议,您必须聘请经过认证的律师,该律师可以为您提供适合您特定情况的法律建议.

希望这可以帮助.