Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带插件的程序:带LGPL的GPL?_Java_Open Source_Licensing_Gpl_Lgpl - Fatal编程技术网

Java 带插件的程序:带LGPL的GPL?

Java 带插件的程序:带LGPL的GPL?,java,open-source,licensing,gpl,lgpl,Java,Open Source,Licensing,Gpl,Lgpl,我有两个不同的项目: 我想在GPL许可下发布的程序 插件API:插件是使用此API中的接口编写的,程序使用API与插件通信。我想用LGPL许可证发布插件API 一个问题是,我不希望插件必须公开其源代码。他们会被GPL许可证“感染”吗?它们将根据API进行编译,并且不需要程序编译的源代码 另一个问题是关于LGPL的“静态链接”有很多说法:程序和API都是用Java编写的。这有关系吗 不管怎样,我的基本问题是:用GPL发布程序,用LGPL发布公共API有意义吗?这是你的版权。简单的做法是添加文本,说

我有两个不同的项目:

  • 我想在GPL许可下发布的程序
  • 插件API:插件是使用此API中的接口编写的,程序使用API与插件通信。我想用LGPL许可证发布插件API
  • 一个问题是,我不希望插件必须公开其源代码。他们会被GPL许可证“感染”吗?它们将根据API进行编译,并且不需要程序编译的源代码

    另一个问题是关于LGPL的“静态链接”有很多说法:程序和API都是用Java编写的。这有关系吗


    不管怎样,我的基本问题是:用GPL发布程序,用LGPL发布公共API有意义吗?

    这是你的版权。简单的做法是添加文本,说明“我不认为插件API会导致插件的GPL感染”


    IANAL。

    如果您是从头开始编写应用程序,您可以根据需要对其进行许可。如果你想为插件的GPL做一个例外,这是有先例的。一个(比如类路径异常)就是您要寻找的。

    好问题。我添加了
    [gpl]
    [lgpl]
    标记。为什么不在lgpl下发布程序呢?如果你不能链接程序代码(或者它没有意义,因为有一个插件api),你为什么要阻止任何人在没有GPL的情况下这样做?或者GPL和LGPL之间还有其他我不知道的重要区别吗?@FRotthowe:我认为LGPL对程序过于宽容。我希望程序本身的修改器不能对程序进行专有的、重新命名的版本。也许我遗漏了一些东西。我想这在LGPL下也是不允许的——如果你更改了程序本身,你必须发布源代码,但是如果你只是链接到它,这不会影响你代码的许可证。也许我没有正确理解LGPL…?我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。有关详细信息,以及更多。有趣的是,我可以使用GPL和类路径例外,也许两者都可以。只要你拥有版权,如果你真的想要的话,你可以出售它。除了一个例外,你可以在你的网站上(或者无论如何)以GPL的形式发布它,你也可以销售改进的版本。请记住,当您接受贡献时,贡献者也是版权所有者,并且您将或多或少无法更改您的许可证(除非您的贡献者同意)。这是一个非常相似的情况