1. 程式人生 > >JDK 11 是釋出了,但收費嗎?

JDK 11 是釋出了,但收費嗎?

自 9 月 26 日,Oracle JDK 11 正式版本釋出以來,一直被大家所看好,因為它是繼 6、7、8之後,第一個長期支援的版本「見下圖」,而 9 、10 估計多半會夭折了。。。

對於這次的釋出,我主要關注的就兩個問題:

1、穩定嗎?

2、收費嗎?

後面的文字主要圍繞這兩個話題展開的。

一、穩定嗎?

其實,對於企業使用者來說,穩定可靠才是最重要的。那麼剛剛釋出的 JDK 11 到底穩定性如何呢?

如果你是付費使用者,其實不用擔心這個問題。

對於大多數的非付費使用者來說,就得要考慮了,只有考慮清楚風險後,才敢遷移。

首先,這次有 OpenJDK 社群的站臺「長期支援」,Oracle 提供了免費的 OpenJDK build,並承諾「維護 6 個月」。

再者,Andrew Haley 等社群專家也已經明確保證,會組建並領導「JDK-11-updates」專案,而且還做了相應的保證「見下圖」。

就我看來,如果想遷移到 JDK 11 的企業,毫無疑問,前期肯定還是有試錯成本的。因此,建議在新的專案中引入 JDK 11,不要亂動穩定的老業務。。。

二、收費嗎?

其實關於 Oracle JDK 收費的問題,我記得 16 年,大家都在知乎上面討論過,當時 R 大給出了完美的回答。

Oracle提供的 Java SE Advanced 系列的產品是收費的,只有在「通用計算」使用範圍內是完全免費的。

這裡的「通用計算」如何界定?比如,如果你使用了 -XX:+UnlockCommercialVMOptions 的功能,那麼就得要收費;或者你將 Oracle Java SE 系列產品在「特殊嵌入式計算系統」中使用也會收費。

時隔兩年,JDK 又將是如何收費的呢?

我們先來看一張圖。

從上圖中,我們可以知道:Oracle 將繼續提供JDK 8 免費的公共更新和自動更新,支援個人使用者到 2020 年 12 月底,支援商業使用者到 2019 年 1 月;換句話說如果想 Oracle 後續繼續為你提供 JDK 8 的支援,那麼則需要付費。

那麼,最新的 JDK 11 又是如何收費的呢?

Oracle 將釋出兩個不同版本,分別為 Oracle JDK 和 OpenJDK 「除了所附帶的許可檔案不一樣,剛釋出的版本幾乎完全相同」。

對於 Oracle JDK 來說,支援 BCL 協議,開發人員可以免費使用,但不能用於生產,如果全額付費的話,可支援到 2026 年 9 月。

對於 OpenJDK 來說,支援 GPL 協議「一般只支援到釋出的前 6 個月內」,可以用於公司使用,因此,對於JDK 11 來說,應該有JDK 11.0.0,然後是兩個安全補丁 11.0.1 和 11.0.2 。如果你要繼續使用 Oracle 的 OpenJDK 構建和安全補丁,那麼您將必須在釋出後的一個月內遷移到 JDK 12,見如下圖綠色的部分為免費支援版本。

在此,不得不說 Oracle 太雞賊了。。。

那問題來了,還有那些可構建 JDK 的產品可供選擇呢?

AdoptOpenJDK

官網地址:adoptopenjdk.net

它同樣支援 GPL 協議且免費 ,與 Oracle OpenJDK 不同的是,它將在 JDK 11 等主要版本中持續更長的時間。第一次瞭解它是在 reddit 的一個話題中「見下圖」。

最近,AdoptOpenJDK 開發團隊表示 JDK 11 版本將在下一個主要版本釋出一年後繼續使用4年,並且他們將提供持續構建 OpenJDK 的源儲存庫中建立和釋出的安全修補程式。

這裡,還需要提一下,AdoptOpenJDK 除了標準的 OpenJDK 構建之外,還可以使用 OpenJ9 進行構建。 OpenJ9 最初是 IBM 的 JVM,但 OpenJ9 現在是 Eclipse的開源。

Red Hat OpenJDK

Red Hat 通過 Red Hat Enterprise Linux「RHEL」提供 OpenJDK 的構建,這是一個付費的商業產品。他們向 OpenJDK 提供非常多的安全補丁,Red Hat 已經運行了 Java 6 和 7 的安全更新專案。Red Hat 構建更好地整合到作業系統中,因此它不是純粹的 OpenJDK 構建。

IBM

IBM 為 Java 8 及更早版本提供並支援 JDK。他們還使用 OpenJ9 為 AdoptOpenJDK 構建提供商業付費支援。

Azul Zulu

官網地址:zulu.org

這款產品是通過 R 大瞭解的,它的核心部分就是原汁原味的 OpenJDK ,沒有任何額外的改動—— Azul 有時候也會對 OpenJDK 做 bug fix,但這些都是通過提交回到 OpenJDK 去然後再進入到 Zulu Java SE 產品中的。

只有在希望購買 Azul 的技術支援的時候,Zulu 的商業技術支援部分才是收費的;不購買收費的技術支援的話,Azul 也有為 Zulu 提供免費的社群技術支援。

SAP

官網地址:sap.github.io/SapMachine

SAP 根據 GPL+CE 協議為 Jdk 10 及更高版本提供 JDK。他們還有一個商業的閉源 JVM,目前,沒有找到任何有關支援它的資訊。

這裡為各位讀者列舉了不少可供參考的構建方案,有收費的,有免費的,具體怎麼選擇,還是看個人吧。

反正,我一直認為免費的反而最貴。。

歡迎在下方評論留下你的意見。
歡迎Java工程師朋友們加入Java進階高階架構群:855355016

本群提供免費的學習指導 架構資料 以及解答

不懂得問題都可以在本群提出來