2012-03-12 152 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)將解決他們的關注。

(從評論轉移,所以你有一個答案接受;)