OpenJDK在GPL下发布,带有Classpath异常,允许专有代码与之链接。
假设有一个人使用GCJ这样的编译器(我收集的是bitrotted,但没有技术上的原因,它无法更新?)将程序静态链接到OpenJDK Java标准库。据我所知,基于FSF的立场,即GPL不区分静态链接和动态链接,以及类路径异常中的以下措辞:
静态或动态地将此库与其他模块链接正在进行组合工作...作为特殊例外,此库的版权所有者允许您将此库与独立模块链接以生成可执行文件。 的
...这没有法律问题,这种静态链接与以常规方式在OpenJDK JVM下运行Java程序具有完全相同的法律地位。这是对的吗?
答案 0 :(得分:1)
我建议遵循YAGNI原则在这种情况下是最好的。
鉴于技术上的工作极不可能,法律地位可能并不太重要。我怀疑无论你想用GCJ做什么都可以用OpenJDK(以支持的方式)完成
如果有人后来建议您需要GCJ,这可能是最好的方法。问他们为什么,你可能会发现使用混淆器(使反编译更难),预热代码(以确保关键部分被编译),或使用安装程序(因此他们不必担心安装JRE首先)将解决他们的担忧。
(从评论转移,所以你有一个接受的答案;)