根据 LGPL 代码许可证编译分发可执行 JAR



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

作为构建管理工具,我使用 Maven,它会生成一个"带有依赖项的罐子"。该项目依赖于 gnu.getopt,根据 LGPL 2 授权。

所以我的问题是:

  • 我是否可以在 LGPL 以外的其他许可证下发布该"带有依赖项的 jar"?(比如说,麻省理工学院,共享软件...
  • 如果没有:如何根据 LGPL 代码分发可执行的 JAR?

我没有

  • 寻找 GNU.getopt 的替代品。
  • 寻求诸如"咨询您的律师"之类的答案。
  • 想要皈依 Gnu 的生活方式...

哈哈,你不必转换为GNU的生活方式,尽管我强烈推荐它:)。你很幸运,GPL 和 LGPL(小 GPL)之间的区别在于,LGPL 基本上允许你做你所要求的事情,而 GPL 没有。从不使用 LGPL 的 GNU 理由来看:

GNU 工程有两个用于库的主要许可证。一个是GNU Lesser GPL;另一种是普通的GNU GPL。许可证的选择有很大的不同:使用宽松的GPL允许在专有程序中使用库;将普通 GPL 用于库使其仅适用于免费程序。

GNU希望最终将他们所有的库都更改为GPL,但是,现在,如果它说它使用LGPL,你很高兴。如果它使用了 GNU 许可证,则必须在符合 GNU 的许可证下许可您的软件。事实上,快速搜索此列表会发现:

外籍人士执照

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

编辑:记住那个IANAL!从那以后,我发现在包含GPL库时,您可能无法根据兼容的许可证进行许可:说许可证"与GPL兼容"是什么意思?

我不[...]寻求诸如"咨询您的律师"之类的答案。

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

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


但是,如果您乐于忽略该建议...

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


我喜欢GNU和FSF为软件工程社区所做的一切。但是企业更喜欢Apache许可证。

可能是这样,但是如果他们(企业)愿意使用Linux等,那么他们也可以接受你的代码是GPL。 如果他们做不到,他们可以付给你一些钱,以获得将你的代码嵌入到他们的闭源应用程序中的特权。

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

最新更新