GPL遵从性、Java和Java依赖性

GPL遵从性、Java和Java依赖性,java,maven,gradle,gpl,Java,Maven,Gradle,Gpl,我正在做一个以教育为中心的自由和开放源码软件项目。我想确保任何衍生作品也向任何想要使用它们的人公开,特别是教育工作者。据我所知,GPL和LGPL许可证是以这种方式工作的 我的项目是专门用Java编写的,带有Gradle构建脚本。我已经包括了每个类的许可证、自述文件和标题。尽管如此,我有几个问题: 这个问题是否更适合不同的stackexchange站点 我还需要做些什么来确保自己的合规性 GPL与Java兼容吗?Oracle二进制许可下的Java部分是否与GPL不兼容 既然我的源代码和二进制文件可

我正在做一个以教育为中心的自由和开放源码软件项目。我想确保任何衍生作品也向任何想要使用它们的人公开,特别是教育工作者。据我所知,GPL和LGPL许可证是以这种方式工作的

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

  • 这个问题是否更适合不同的stackexchange站点
  • 我还需要做些什么来确保自己的合规性
  • GPL与Java兼容吗?Oracle二进制许可下的Java部分是否与GPL不兼容
  • 既然我的源代码和二进制文件可以从github上的同一位置获得,那么这是否符合提供源代码的条件?或者我必须在每个jar中提供所有源代码吗?如果它是特定于平台的二进制文件呢?(我的理解是,既然bin和source来自同一个github页面,那么就很重要了)我应该在自述中添加指向github页面的链接,以防有人通过第三方获得副本吗?如果我链接到sourceforge上的(我的)二进制文件,我会因为它们不提供源代码而失去法规遵从性吗
  • 我通过maven使用了许多ApacheCommons库。Apache许可证是否与GPL兼容
  • 我需要提供构建项目所需的所有源代码,以及构建脚本。Gradle中的maven存储库链接是否算作提供了构建项目所需的所有源代码?记录在案的是,只要用户具有internet连接,就可以通过一个命令编译项目并导出javafx(依赖于平台的)二进制文件
  • 我已经阅读了GPLv3的常见问题解答及其合规性的一般指导原则,但内容非常丰富,我想确保我的理解是正确的

    如果您能提供任何信息,我将不胜感激,即使它只回答了我的一小部分问题

    谢谢

  • 这里很好
  • 我觉得很好
  • GPL与您决定编写的任何内容兼容,无论您使用何种语言。这是关于你给予他人使用你所写内容的权利。这与Java定义或其实现无关
  • 提供GPL提到的源代码是为软件用户提供一种访问它们的方式。例如,应书面要求。如果你的软件提到某个地方,用户可以下载用来编译他正在使用的软件的源代码,那就好了
  • 在您的情况下是的,但请记住兼容性有一个方向:当您使用使用GPL许可的代码片段时,您不能通过Apache Commons许可重新分发您的软件。请阅读这篇文章
  • 如果您使用这个构建脚本来编译用户正在使用的软件,那么我会说是的

  • 部分回答您的问题:FSF有一个页面列出与GPLv3兼容的许可证,Apache许可证版本2就是这样一个许可证,所以至少您在这方面不会有问题。我投票结束这个问题,因为它是关于许可证或法律问题,而不是编程或软件开发。关于细节,还有更多。彻底而直截了当。非常感谢你。