0

我正在使用 Java 开发一个应用程序,使这个应用程序开源对我来说非常重要。我被两个许可证 Apachev2 和 GPL(v2/v3) 困住了。

  1. 我绝对不会为源代码收费。
  2. 我将把完整的源代码放在 Github 上,以提供源代码链接。

我正在为我的应用程序使用 Apache PDFbox ( http://pdfbox.apache.org/ ) 涉及处理 PDF 文件。这个 jar 包在 Apachev2 许可下获得许可。

我真的需要一些关于如何为我的应用程序选择许可证的见解和指导,并且随时告诉我其他更适合我当前情况的许可证。此外,我还需要知道我是否可以使用上述任何许可证以及 Oracle Java 编译器。谢谢。

4

1 回答 1

3

很难判断 Apachev2 还是 GPL2/3 最适合您。在很大程度上,这取决于你对开源政治的信念,以及你是否相信(并关心1)如果它是 GPL 的,有些人不会使用你的代码。

以下是一些资源:

但好消息是各种风格的 Apachev2 或 GPL 都适用于使用 PDFBox 的项目。

跟进:

我的意思是问天气,当我知道我将使用 Oracle JDK 编译它时,我可以将 GPL 许可证放在 Java 源代码上,我相信它不是开源的

没有适当的开源许可证会对您(或其他人)可以用来编译代码的编译器施加限制。GPL 也不例外。

GPL 确实对衍生作品施加了限制:衍生作品受 GPL 保护。但这没关系。通过编译源代码生成的二进制文件是源代码的衍生作品......但不是编译器的衍生作品。(或者至少不是在版权法中使用“衍生作品”的意义上。)

最后,虽然 Oracle Java 不是开源的,但 OpenJDK 是 100% GPL。


1 - FWIW,我不在乎。人们/组织/公司“不能”使用 GPL 的原因往往是自私的。

于 2013-05-05T08:44:57.450 回答