我应该使用LGPL还是GPL

我正忙于编写一个应用程序,我不确定是否应该使用LGPL或GPL(或者别的什么)。 这是我的限制:

  • 我的应用程序是开源的。 只要他们的代码也是开源的,我并不关心人们如何使用我的代码。 如果他们想将我的源代码用于非开源应用程序,他们必须先与我联系。
  • 我正在使用GPL,LGPL和IDGAFL(又名“我不给予许可证”)的外部库。 对于大多数库,我直接将他们的源代码包含在我的应用程序中。 在极少数情况下,我使用他们预建的库并链接到它们。
  • 对于上述库:如果我链接到它们,我有一个包含所有源代码(包括库的代码)和.so / .dylib / .dll的存储库。
  • 我有一个可执行文件,与预构建的库一起发布。 在编译期间,非预构建库显然包含在可执行文件中。
  • 哪个许可证是最好的? 同样对于一些库,我更改了一些他们的源代码以适合我的应用程序。 这些对代码本身没有任何重大更改,但对包含语句,文件扩展名等的更改,例如:

    来自(原始图书馆):

    #include "libx/libx.hpp"
    

    到(我的更改):

    #include "external/libx.h"
    

    请注意不同的位置和扩展名。 这是否允许?


    如果您使用的是GPL库,则必须使用GPL。

    我现在找不到它,但它在GNU页面上。


    如果你正在链接到外部的GPLd库,你必须是GPLd。

    编辑(评论):用这个说法,如果你只是动态地链接到所说的GPLd库,并且不提供它们,那么你可以提出一个参数,一个不需要。 然而,这不是FSF的立场,但我所知道的任何人都从法律上来质疑他们的解释。

    http://en.wikipedia.org/wiki/GNU_General_Public_License#Libraries有一些讨论。


    上面的项目(1)将您锁定到GPL。 如果您使用LGPL,您允许其他人以他们可以编写商业软件或非GPL软件的方式与您的代码进行链接。 因此,基本上,如果您希望基于您的代码编写的所有内容都随后成为开源代码,那么您必须使用GPL。

    链接地址: http://www.djcxy.com/p/79737.html

    上一篇: Should I use LGPL or GPL

    下一篇: Commercial GPL: restrict source code access