【问题标题】:OpenJDK and static linking [closed]OpenJDK 和静态链接 [关闭]
【发布时间】:2012-03-12 13:06:19
【问题描述】:

OpenJDK 是在 GPL 下发布的,但带有 Classpath 例外,它允许将专有代码与其链接。

假设要使用诸如 GCJ 之类的编译器(我认为它已经过时了,但没有技术原因不能更新它吗?)将程序与 OpenJDK Java 标准库静态链接。据我了解,基于 FSF 的立场,即 GPL 不区分静态和动态链接,以及 Classpath 例外中的以下措辞:

将此库与其他模块静态或动态链接是一种组合工作...作为一个特殊例外,此库的版权所有者允许您将此库与独立模块链接以生成可执行文件。 .

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

【问题讨论】:

  • 鉴于其在技术上极不可能工作,法律地位可能不太重要。我怀疑你试图用 GCJ 做的任何事情都可以用 OpenJDK 来完成(以受支持的方式)
  • 好吧,我现在并不想对 GCJ 做任何事情,只是在考虑一些未来的选择 - 想确保我不会在一年之后“哎呀,这是不管技术状况如何,我都不会去,一年前我就可以发现这一点”。
  • 我建议在这种情况下遵循 YAGNI 原则是最好的。 ;)
  • 我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。 See here 了解详情,help center 了解更多信息。

标签: java licensing gpl openjdk


【解决方案1】:

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

鉴于其在技术上极不可能发挥作用,因此法律地位可能并不太重要。我怀疑你试图用 GCJ 做的任何事情都可以用 OpenJDK 来完成(以受支持的方式)

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

(从 cmets 转移,所以你有一个可以接受的答案;)

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2010-12-29
    • 2013-06-04
    • 1970-01-01
    • 2011-05-08
    • 2010-09-15
    相关资源
    最近更新 更多