根据LGPL代码许可证,可靠地分发可执行JAR

时间:2011-05-20 15:40:09

标签: java maven licensing executable-jar lgpl

我有一个Java项目,我不想在Gnu许可下发布。 (麻省理工学院,但没关系。)

作为构建管理工具,我使用Maven,它会生成“jar-with-dependencies”。 该项目依赖于gnu.getopt,根据LGPL 2获得许可。

所以我的问题是:

  • 我是否可以在另一个许可证下发布“jar-with-dependencies”而不是LGPL? (说,麻省理工学院,共享软件...)
  • 如果不是:我如何根据LGPL代码分发可执行JAR?

我不

  • 寻找gnu.getopt。
  • 的替代品
  • 寻求“咨询律师”等答案。
  • 想要转变为Gnu的生活方式......

2 个答案:

答案 0 :(得分:5)

哈哈,你不必转换成GNU的生活方式,尽管我强烈推荐它:)。你很幸运,GPL和LGPL(较小的GPL)之间的区别在于LGPL基本上允许你做你正在问的GPL没有。来自GNU rationale for not using the LGPL

  

GNU Project有两个用于库的主要许可证。一个是GNU Lesser GPL;另一种是普通的GNU GPL。许可证的选择有很大的不同:使用较小的GPL允许在专有程序中使用该库;使用普通的GPL库只能用于免费程序。

GNU希望最终将所有库更改为GPL,但是现在,如果它说它使用了LGPL,那么你就可以了。如果它使用了GNU许可证,则必须在GNU-compliant licence下许可您的软件。事实上,快速搜索此列表会显示:

  

外籍人许可证

     

这是一个简单,宽松的非copyleft免费软件许可证,与GNU GPL兼容。它有时被模糊地称为MIT许可证。

编辑:请记住IANAL!我发现在包含GPL库时,您可能无法使用兼容许可证进行许可:What does it mean to say a license is “compatible with the GPL?”

答案 1 :(得分:1)

  

我不[...]寻求像“咨询你的律师”这样的答案

您不应该依赖不合格的人提供法律建议。

如果您不想与律师交谈,请自行研究并承担风险。在这种情况下,许可证的语言相当清晰,FSF提供了广泛的解释性信息。但是你需要记住,法律语言并不总是意味着外行人认为这意味着......


但如果你乐意忽视这个建议......

我的理解是LGPL意味着您可以将它与非GPL代码一起使用,前提是:1)您为库所做的任何更改分发源,以及2)将JAR文件保持独立以便人们可以升级该库独立于您的代码。


  

我喜欢GNU以及FSF为软件工程社区所做的一切。但是像Apache License这样的企业更好。

可能是这样,但如果他们(企业)愿意使用Linux等,那么他们也可以使用你的代码作为GPL。如果他们不能,他们可以支付一些钱,以便将代码嵌入他们的闭源应用程序中。

另一方面,对于以这种方式使用代码的人来说,您可能没有任何问题。