我有一个在 GPLv3 下发布的项目,需要 clojure.jar 和 clojure-tontrib.jar 才能运行。我真的很想和他们一起运送一个大 jar 文件。(也许还有 license.txt)
- 如果这符合许可证,有谁知道明确的法律解释*?
- 我可以在我的 license.txt 中指定这个来解决任何冲突吗?
- 你能指出一些已经在这样做的项目吗?
*我不是在寻求法律建议,也不会解释任何回应。
免责声明:我不是律师。这个答案根本没有任何保证。
来自http://www.gnu.org/licenses/gpl-faq.html:“如果您希望您的程序链接到系统库异常未涵盖的库,您需要提供执行此操作的权限。以下是两个您可以使用的示例许可证通知;一个用于 GPLv3,另一个用于 GPLv2。在任何一种情况下,您都应该将此文本放在您授予此权限的每个文件中。
只有程序的版权所有者才能根据这些条款合法地发布他们的软件。如果您自己编写了整个程序,那么假设您的雇主或学校不主张版权,那么您就是版权所有者——因此您可以授权例外。但是如果你想在你的代码中使用其他作者的其他 GPL 覆盖程序的一部分,你不能为他们授权例外。您必须获得这些程序的版权所有者的批准。"
之后,每个文件中都有一个示例许可证。如果您使用其他人的 GPL 代码(例如,一个库),您将无法在他们更改许可证的情况下做任何事情。
Clojure 在 Eclipse Public License (EPL) 1.0 下获得许可
Eclipse 基金会对 EPL 和 GPLv3 之间不兼容的解释(仅供参考)对您的场景来说似乎非常令人沮丧:
http://www.eclipse.org/legal/eplfaq.php#GPLCOMPATIBLE
EPL 和 GPL 在任何组合中都不兼容,其结果将被视为:(a) 衍生作品(Eclipse 将其解释为与美国版权法中该术语的定义一致)或 (b) 基于GPL 代码,因为该短语在适用的 GPLv2、GPLv3 或 GPL 常见问题解答中使用。此外,您不得在任何情况下合并 EPL 和 GPL 代码,其中这些许可证下的源代码都是相同的源代码模块。[强调我的]
根据自由软件基金会的立场,您不得在根据这些许可提供的代码之间存在链接的任何情况下组合 EPL 和 GPL 代码。以上适用于 GPL 版本 2 和 GPL 版本 3。”
看起来 uberjar 显然不是一种选择。我不知道您专门从 GPLv3 中排除的单独的 clojure jar 是否可以工作。