【问题标题】:BSD/LGPL/GPL/Apache License, .jars embedded in .deb? [closed]BSD/LGPL/GPL/Apache 许可证,.deb 中嵌入的 .jars? [关闭]
【发布时间】:2012-02-06 22:42:27
【问题描述】:

我正在开发一个业余 Java 项目,该项目被打包成一个 .deb 文件,其中包含几个具有不同许可证的不同 JAR,例如:

  • Google Gson(Apache 许可证)
  • HSQLDB(基于 BSD)
  • 休眠 (LGPL)
  • (等)

尽管我还没有准备好发布或销售这个想法/项目/软件,但我仍然想知道这些通用许可证一般允许什么和不允许什么。例如,我听说 GPL 是“最糟糕的”(甚至不允许引用/动态链接库而不发布所有内容),但我不知道这是不是真的,我真的不太了解其他许可证。

例如,如果我要出售我的软件,是否允许以下​​任何一种情况:

  1. 将所有依赖的 JAR 打包到一个 .deb 包中,然后由 apt 使用自定义存储库分发和安装。
  2. 仅将我的代码打包在 .deb 中,让用户自行安装依赖的 JAR(并在启动我的应用程序时指定 JAR 的类路径)。
  3. 出售安装了我的软件的预配置盒子,以及 Linux 发行版和所有相关 JAR(仅收取实际硬件成本,任何额外费用将由软件收取)。

提前致谢!

【问题讨论】:

标签: licensing gpl lgpl deb


【解决方案1】:

您应该阅读每个许可,并根据您的预期用途进行检查。您列出的大多数内容不应该为您带来太多额外的工作。如果您不想发布您创建的衍生作品或复合作品的源代码,则必须小心不要在具有 copyleft 的许可下使用任何代码,因为这些代码通常需要完整(GPL)或部分(LGPL)。也可能有类似于classpath exception 的东西,其中一些代码在 GPL 家族下获得许可,所以这真的取决于具体条款。

Apache 或 BSD-Like 许可证没有 copyleft(但它们也有您必须遵守的条款)。

您可以做的最好的事情是仔细阅读每个许可证,并澄清您对同行和法律支持的具体问题。

否则,您可以考虑将您的软件也作为免费软件发布,这通常对整个社区都有好处。但这是你的决定。

【讨论】:

  • 谢谢。你的回答同样好,但 Rangeranger 是第一个。你得到了赞成:)
【解决方案2】:

请明确一点 - 我不是律师,因此您的里程可能会有所不同。如果您打算从中赚钱...请律师处理您的许可证。但是,这是我对 GPL/LGPL 的理解

所有这些场景都被认为是发布二进制文件,因此无论您受 GPL/LGPL 约束的方法如何,都以相同的方式对它们进行约束。

根据 GPL,您实际上必须在发布二进制文件(在本例中为 JAR 文件)时发布源代码。您可以随时为您的软件副本收费——您只需要随它一起发布源代码。此外,在这种情况下,您的代码将需要在 GPL 下发布。

根据我的理解,在 LGPL 下,您应该可以将其与共享库(库 JAR)捆绑在一起,只要您让用户能够将这些共享库替换为较新的版本。实际上,只要包含许可证并且库的源代码可用,您就可以将共享库捆绑到您的包中。

google/bsd 许可证通常比 LGPL 更宽松,但我没有足够的知识给你一个粗略的细分。

【讨论】:

  • 对于上述三人组:不,#2 与其他情况没有什么不同。特别是在 GPL 下,如果您链​​接到该软件,您必须发布您的源代码。解决此问题的唯一“半合法”方法是调用可执行文件,但如果可以证明您的软件完全依赖于 GPL 的可执行文件 - 可能存在法律问题。
  • 谢谢,这是我正在寻找的粗略演练。 hakre 填补了空白 :)
猜你喜欢
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
相关资源
最近更新 更多