BSD / LGPL / GPL / Apache许可证,.jars嵌入在.deb中?

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

  • Google Gson(Apache许可证)
  • HSQLDB(基于BSD)
  • 休眠(LGPL)
  • (等等)
  • 尽管我还没有准备好发布或出售这个想法/项目/软件,但我还是想知道什么是允许的,以及这些通用许可证通常不允许的内容。 例如,我听说GPL是“最糟糕的”(甚至不允许引用/动态链接的库,但没有释放所有内容),但我不知道它是否属实,而且我对其他知识也不太了解许可证。

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

  • 将所有依赖JAR打包到.deb包中,然后使用定制存储库通过apt进行分发和安装。
  • 仅将我的代码打包到.deb中,并让用户自己安装依赖的JAR(并在启动我的应用程序时指定JAR的类路径)。
  • 销售安装了我的软件的预配置盒子,以及Linux发行版和所有相关的JAR(只收取实际的硬件成本,任何额外的费用将用于软件)。
  • 提前致谢!


    只是要清楚 - 我不是律师,所以你的里程可能会有所不同。 如果你打算从这个赚钱...请律师处理你的执照。 但是,这是我对GPL / LGPL的理解

    所有这些场景都被视为释放二进制文件,因此无论您使用GPL / LGPL绑定的方法是否与所有这些方法相同。

    在GPL下,当你释放二进制文件(这里是JAR文件)时,你实际上必须发布你的源代码。 您始终可以收取软件的副本 - 您只需要使用它发布源代码即可。 此外,您的代码在这种情况下将被要求在GPL下发布。

    根据LGPL,就我的理解而言,只要您赋予用户将新共享库替换为新版本的权利,就应该将其与共享库(库JAR)绑定。 事实上,只要包含许可证并且存储库的来源可用,就可以将包中的共享库捆绑在一起。

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


    您应该阅读每个许可证并检查您的预期用途。 你列出的大多数不应该为你引入太多的额外工作。 如果您不想发布您创建的派生或复合工作的源代码,则必须小心不要使用具有copyleft的许可证下的任何代码,因为这些代码通常需要完整(GPL)或部分(LGPL)。 可能还有类似于类路径例外的情况,某些代码在GPL系列下获得许可,所以它实际上取决于具体条款。

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

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

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

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

    上一篇: BSD/LGPL/GPL/Apache License, .jars embedded in .deb?

    下一篇: which open source license to use for libraries depending on other libraries