設置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

下月起Oracle要對JDK8收費了,怎么辦?

2018/12/26 16:24:42 來源:IT之家 作者:劉欣 責編:阿迷

本文授權(quán)轉(zhuǎn)載自微信公眾號“碼農(nóng)翻身”(ID:coderising),作者:劉欣

原標題:從明年1月開始,Oracle要對JDK8就要收費了,怎么辦?

JDK8從2019年1月開始就要收費了,怎么辦呢?

其實這個問題本身就是有問題的,因為收費的并不是JDK8 ,而是JDK8后續(xù)的update (更新) 。

什么是update?如果你下載過JDK,就會看到那些8u191, 8u192這樣的東西,191,192就是update的編號。

這些update中通常會包含對JDK bug的fix,或者一些功能的改變,增強,拿update 172為例:

1.這個update修改了下面兩個方法的文檔,讓文檔描述和方法的實現(xiàn)一致:

java.awt.Toolkit.getImage(URL u)

java.awt.Toolkit.createimage(URL u)

2.增加了在Windows8及以上版中,對Swing/AWT文本組件自動顯示觸摸鍵盤的功能

3. 36個Bug Fix

假設JDK 8u192是2018年的最后一個update ,你下載并且安裝了,那可以繼續(xù)免費使用下去,沒有任何問題。

但是從2019年1月開始,如果你還想獲取JDK的update ,對不起,你需要付費訂閱。

這個訂閱服務的價格是這樣的:

對于PC,每用戶每月是2.5美元,對于服務器/云部署,每個processor每月是25美元,當然,數(shù)量多的話可以打折。

Oracle為什么要這么干呢?

我推測有兩個原因,第一個原因可以理解:Oracle JDK8 2014年3月發(fā)布,到2019年1月正式進入“End of Public Updates”,這個版本Oracle支持了將近5年時間,一個版本的軟件不可能無限期地支持下去,那樣維護成本太高。

第二個原因可能是沒有多少人購買它的Java SE Advanced, Java SE Advanced Desktop或者Java SE Suite,這三個家伙是什么東西? 我們稍后解釋。

你也許注意到了,我剛才再說JDK的時候,特別加上了Oracle這個詞,這是因為Java虛擬機的規(guī)范是開放的,任何人都可以去實現(xiàn)。

老劉在2017年編程提高群第一季中,不就和大家一起實現(xiàn)了一個極為簡單的版本嗎?當然那不能稱為JVM,只實現(xiàn)了對Class文件的解析,和一個能實現(xiàn)順序,分支,循環(huán),多態(tài)的簡單執(zhí)行引擎。

其實現(xiàn)在的JDK提供者非常多,不像微軟的.NET,獨此一家,別無分號。

Open JDK

這個不多說,免費的開源實現(xiàn),以GPL License發(fā)布,很多Linux發(fā)行版中都會包含這個Open JDK。

參與開發(fā)的大佬們有Oracle, RedHat (已被IBM收購),Azul System, IBM , Apple , SAP。

Oracle JDK

就是我們常說的Java JDK,也是最常用的一個,是Oracle公司(收購了開發(fā)Java的Sun公司)對Java SE的實現(xiàn)。

如果更詳細分的話,可以分為Oracle JDK和Oracle JRE。

比如你想玩Minecraft這樣需要Java的游戲,那只需要從java.com下載一個JRE就夠了。

如果你想基于Java做開發(fā),那就需要從Oracle Technology Network(OTN)網(wǎng)站上下載JDK了。

其他公司提供的JDK

有實力的大公司,都有可能開發(fā)自己的JDK,比如IBM,肯定要為自家的操作系統(tǒng)AIX,還有z/OS開發(fā)SDK。

我在IBM工作的時候,根本就沒有用過Oracle JDK,公司也不讓用啊。

HP,SAP也有自己的JDK ,可以為自己的硬件和軟件做定制。

Oracle Java SE Advanced, Java SE Advanced Desktop, Java SE Suite

這名字老長了,也有點費解,簡單來說,這是個收費的服務,是Oracle為企業(yè)級用戶提供的高級工具和功能,可以監(jiān)控、部署、管理企業(yè)級的Java程序,與此同時,你還可以下載那些老版本的JDK及其update。

換句話說,如果你購買了這個服務,自然就不用擔心什么JDK update收費的問題。

但是問題在于,到底有多少公司再使用這個服務?如果你的公司在使用,歡迎告知。

所以我猜測Oracle耍了一點小手段,以后不要這個收費的服務了,把這些高級的功能加上JDK update打包,統(tǒng)一成一個新的服務,就是之前說的訂閱服務。

總結(jié)一下

如果你的公司已經(jīng)買了這個Java SE Advanced(或者Advanced Desktop),Java SE Suite的License,什么都不用擔心,你很安全。

如果你的公司正在使用Oracle JDK 8并且還想在2019年1月之后獲得那些更新和支持,你需要購買Orace的訂閱服務。

如果你的公司一直在在升級你的Oracle JDK,比如說已經(jīng)升級到JDK9了,你什么服務都不用購買,因為那個訂閱服務主要解決的是老版本的Update的問題。

或者可以選擇一個沒有public update的Oracle JDK,這也很常見,很多JDK已經(jīng)非常穩(wěn)定了,比如Oracle JDK 7發(fā)布日期是2011年7月, “End of Public Updates”是2015年4月, 我估計現(xiàn)在還有不少公司還在使用JDK7這個已經(jīng)沒有public update的版本吧!

如果真的出現(xiàn)了巨大的安全漏洞,你又沒法升級JDK,那只好去購買訂閱服務去Fix了。

當然,你的公司也可以選擇純開源OpenJDK。

注意,我這里說的都是公司,都是商業(yè)用途,如果只是個人學習Java的話,沒什么影響!

后記:這篇文章是我從網(wǎng)絡上查閱資料,綜合分析后寫的,如果有不正確的地方,歡迎批評指正。

參考資料:

Oracle Java SE and Oracle Java Embedded Products

Java SE 概覽

Java SE Offerings

How to Prep for New Updates to Oracle Java SE 8 Licensing

End of Public Updates is a Process, not an Event

更多內(nèi)容可關(guān)注作者微信公眾號“碼農(nóng)翻身”(ID:coderising)

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:java,OracleJDK

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應用 魔方 最會買 要知