java - 向公众分发产品时的外部图书馆许可证

标签 java software-distribution

我即将完成一个 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/

相关文章:

java - 动态以格式化表格式打印HashMap

java - Mysql数据导出工具

android - 有没有办法设置允许一组用户下载我的 android 应用程序的最高版本?

haskell - 如何进行 i18n 并创建 Haskell 程序的 Windows Installer?

python - 如何向用户发布 python 程序

java - 如何防止客户端发送文件后服务器接收到空输出(多线程java套接字)

java - 有 2 个 SetContentView

java - 将具体的 EnumMap 对象列表传递给通用 EnumMap 参数列表会导致编译错误

python - 为什么有些 Python 模块必须是 "compiled"?

java - 为软件分发创建多平台 CD