GPL合规性,Java和Java依赖性

时间:2015-02-15 00:38:09

标签: java maven gradle gpl

我正致力于以教育为中心的FOSS项目。我想确保任何想要使用它们的人,特别是教育工作者也可以公开获得任何衍生作品。据我了解,GPL和LGPL许可证以这种方式工作。

我的项目是使用Gradle构建脚本专门用Java编写的。我已经包含了每个类的许可证,自述文件和标题。话虽如此,我有几个问题:

  1. 这个问题更适合不同的stackexchange网站吗?
  2. 我还需要做些什么来确保我的合规性?
  3. GPL是否与Java兼容? Oracle二进制许可证下的Java部分是否与GPL不兼容?
  4. 由于我的源代码和二进制文件可以在github上的同一位置获得,这是否有资格作为提供源?或者我必须在每个罐子里提供所有来源吗?如果它是特定于平台的二进制文件怎么办? (我的理解是,由于垃圾箱和来源来自同一个github页面,它很重要)如果有人通过第三方获取副本,我应该在自述文件中添加一个指向github页面的链接吗?如果我链接到sourceforge上的(我的)二进制文件,我会失去合规性,因为他们没有提供源代码?
  5. 我通过maven使用了很多Apache Commons库。 Apache许可证是否与GPL兼容?
  6. 我需要提供构建项目所需的所有源代码,以及构建脚本。 Gradle中的maven存储库链接是否提供构建项目所需的所有源?对于记录,只要用户具有Internet连接,就可以编译项目并且可以在一个命令中导出javafx(平台相关)二进制文件。
  7. 我已经阅读了GPLv3的常见问题及其合规性的一般准则,但它非常强大,我想确保我做到了这一点。

    我很感激您拥有的任何信息,即使它只回答了我的一小部分问题。

    感谢。

1 个答案:

答案 0 :(得分:1)

  1. 这很好。
  2. 对我来说似乎很好。
  3. 如果您决定,GPL与写的内容兼容,无论您使用何种语言。这是关于你给予他人使用你写的东西的权利。它与Java定义或其实现无关。
  4. 提供GPL提到的来源是为软件用户提供访问它们的方式。例如,根据书面请求。如果你的软件提到用户可以下载用于编译他正在使用的软件的源的地方,那就没关系。
  5. 在您的情况下是的,但请记住,兼容性有一个方向:当您使用使用GPL许可的代码片段时,您无法通过Apache Commons许可证重新分发您的软件。请在此Stack Overflow answer
  6. 中了解相关信息
  7. 如果您使用此构建脚本来编译您的用户正在使用的软件,那么我会说是。