簡體   English   中英

Oracle JDK不是開源項目嗎?

[英]Is Oracle JDK not an open source project?

我從技術上閱讀了Oracle JDK和Open JDK之間的主要區別是什么?

“ Oracle JDK是OpenJDK的實現,不是開源的”

但是JDK源代碼是公開可用和免費的。 對 。 那么它為什么不開源呢? 在這里將oracle JDK判定為開放源代碼可能是錯誤的,因為源代碼可能是免費的,但是否不允許進一步修改/擴展和重新分發它,為什么它不是開放源代碼?

但是[Oracle] JDK源代碼是公開可用和免費的。 對?

嚴格來說,不是

1)Oracle JDK的完整源代碼不可用。 JDK源代碼ZIP文件僅包含公共類庫API的源代碼。 不是某些“內部”類。 不是JDK / JRE工具鏈。 不是JVM運行時本身。 例如JIT編譯器,GC實現,驗證器等。

2)對於可用的子集,您需要接受Oracle許可證。

3)可用的源代碼在版權標頭中指出它是Oracle(或Sun)專有的。

那么為什么它不是開源的呢?

往上看。

可能是我錯了,因為源代碼可能可用且免費,但不允許對其進行進一步的修改/擴展和重新分發,這就是為什么它不是開放源代碼的原因?

這是原因之一。

開源不僅意味着免費提供源代碼。 它也可以不受任何限制地使用。

(並且,如果您需要Oracle JDK的完整源代碼,那么它不是免費提供的,並且條款和條件有嚴格的限制。)


相比之下,GPLv2涵蓋了OpenJDK代碼庫(帶有“類路徑異常”,這一點闡明了為使用OpenJDK JVM /類庫而構建的應用程序不受GPL的限制。)包含在OpenJDK中的所有內容都可以作為源代碼使用。代碼...無需簽署任何內容。

當然,GPL對您的工作有限制,但這些限制是為了使代碼自由(如自由)並保護最終用戶的權利。

OpenJDK是GPL v2許可下的開放源代碼,而OracleJDK使用Oracle二進制代碼許可協議( 此處此處的更多內容)。

當您說源代碼是免費提供的,但不允許您對其進行進一步的修改和重新分配時,您沒有錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM