我正在使用Java开发应用程序,对我来说这个应用程序是开源的非常重要。我遇到了两个许可证Apachev2和GPL(v2 / v3)。
我正在使用Apache PDFbox(http://pdfbox.apache.org/)来处理PDF文件。此jar包根据Apachev2许可证授权。
我真的需要一些关于如何为我的应用程序选择许可证的见解和指导,也可以随时告诉我其他许可证,这些许可证对我目前的情况更好。 另外,我需要知道是否可以使用Oracle Java编译器使用上述任何许可证。感谢。
答案 0 :(得分:3)
很难说Apachev2或GPL2 / 3是否最适合您。在很大程度上,这取决于你对开源政治的看法,以及你是否相信(并且关心 1 ),如果是GPL,有些人不会使用你的代码。< / p>
以下是一些资源:
开源倡议网站提供了许多流行的开源许可证的信息:http://opensource.org/licenses
GNU网站上有很多关于GPL各种风格的资料,它们的含义以及与其他开源许可证的兼容性:http://www.gnu.org/licenses/licenses.html
但好消息是Apachev2或各种风格的GPL都适合使用PDFBox的项目。
<强>后续:强>
我想问天气我可以在Java源代码esp上放置GPL许可证当我知道我要用Oracle JDK编译它时我认为不是开源的
没有适当的开源许可证会对您(或其他人)可用于编译代码的编译器施加限制。 GPL也不例外。
GPL确实对衍生作品施加限制:衍生作品由GPL承保。但那没关系。通过编译源代码生成的二进制文件是源代码的衍生作品......但不是编译器的衍生作品。 (或者至少不是“版权法”中使用“衍生作品”的意思。)
最后,虽然Oracle Java不是开源的,但OpenJDK是100%GPL。
1 - FWIW,我不在乎。人/组织/公司“不能”使用GPL的原因往往是自私自利。