2012-03-12 154 views
1

OpenJDK是在GPL下发布的,具有Classpath异常,允许将专有代码与它链接。OpenJDK和静态链接

假设一个人使用GCJ等编译器(我收集的内容有点粗糙,但没有任何技术上的原因,它无法更新),以便将程序与OpenJDK Java标准库静态链接。据我了解,同时基于自由软件基金会的立场,即GPL不静态和动态链接之间的区别,并在类路径例外措辞如下:

静态或动态链接这个库与其他模块的制作作为一个特殊的例外,该图书馆的版权所有者允许您将该图书馆与独立模块链接以生成可执行文件...

...这样没有任何法律问题,例如静态链接与通常的方式在OpenJDK JVM下运行Java程序具有完全相同的法律地位。它是否正确?

+0

鉴于其不大可能在技术上的工作,法律地位可能不是太重要。我怀疑你想用GCJ做什么都可以用OpenJDK来完成(支持的方式) – 2012-03-12 13:09:08

+0

好吧,我现在不想用GCJ做任何事情,只是考虑一些未来的选择 - 想要确保我不会最后一年会走向“哎呀,不管技术情况如何,这都是不行的,我一年前可以发现这一点。” – rwallace 2012-03-12 13:17:42

+0

我建议遵循YAGNI原则在这种情况下是最好的。 ;) – 2012-03-12 13:30:13

回答

1

我建议遵循YAGNI原则在这种情况下是最好的。

鉴于其在技术上不太可能工作,法律地位可能不太重要。我怀疑你试图用GCJ做什么都可以用OpenJDK完成(支持的方式)

如果有人以后建议你需要GCJ,这可能是最好的方法。问他们为什么,你可能会发现使用混淆器(使反编译更难),预热代码(以确保编译关键部分)或使用安装程序(因此他们不必担心首先安装JRE)将解决他们的关注。

(从评论转移,所以你有一个答案接受;)