我即将完成一个 Java 应用程序,其中包含多个库,例如 log4j 和 jdom。现在我对众多的许可证类型感到非常困惑。其中大多数包括这样的内容:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
所以我想只要这个 jar 包含 license.txt 就一切正常?
如果我提前将程序编译为 Windows native 可执行文件,会发生什么情况?最终用户将无法访问此 jar。 我是否必须列出我使用的库以及用户如何获取相应的许可证文件?
最佳答案
免责声明:IANAL
“开源软件”意味着您必须以某种形式向用户提供源代码的副本。因此,如果您的产品中包含OSS,则需要遵守许可证中的规则。
例如,如果您在代码中包含单个 GPL 库,那么您的产品必须作为 GPL 软件发布(即具有完整源代码,遵循 GPL 许可证,包括更改源的权限并创建衍生品)。
大多数框架的许可不太严格。对于许多 OSS 许可证,只要包含原始许可证的副本,在文档中的显着位置(+ 主页的 URL)使用它所使用的许可证名称来命名该库就足够了。
例如:
本产品中使用了开源软件
本产品使用以下开源软件:
关于java - 向公众分发产品时的外部图书馆许可证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839020/