Oracle近日宣布,他們將Java的發(fā)布頻率改為每六個(gè)月一次。
JCP執(zhí)行委員會(huì)在八月份的會(huì)議上提到了這一說(shuō)法,隨后,Oracle發(fā)言人Donald Smith在他的博客中確認(rèn)了這一消息。該決定將在Java 9正式發(fā)布之后開(kāi)始實(shí)行,也就是說(shuō),Java的下一個(gè)發(fā)布日期是2018年初。
除了發(fā)布周期,Oracle還宣布了在Java的構(gòu)建和發(fā)布方式方面所發(fā)生的主要變化。Oracle將把OpenJDK的二進(jìn)制包作為面向開(kāi)發(fā)者的主要版本,取代之前的Oracle JDK。
OpenJDK將采用GPLv2許可(包括“類(lèi)路徑例外”)免費(fèi)發(fā)行,移除了之前在Oracle JDK上存在的一些限制。Oracle JDK仍然會(huì)繼續(xù)存在,但需要與Oracle簽訂協(xié)議才能獲得Oracle提供的長(zhǎng)期支持。
Java首席架構(gòu)師Mark Reinhold說(shuō),為了避免出現(xiàn)像Java 8和Java 9那樣的延期情況,所有決定實(shí)行新的發(fā)布周期。
Java當(dāng)前的發(fā)布周期為兩年一次,Java 9因?yàn)槟K化系統(tǒng)(Jigsaw)問(wèn)題一再延期,已經(jīng)比預(yù)期晚了18個(gè)月。之前,Java 8也因?yàn)榘踩珕?wèn)題延期了8個(gè)月左右。Java 9的GA版本將在9月21號(hào)發(fā)布。
新的發(fā)布周期嚴(yán)格遵循時(shí)間點(diǎn),將在每年的3月份和9月份發(fā)布,相應(yīng)的版本號(hào)為18.3、18.9、19.3等。與現(xiàn)在的發(fā)布周期不同,新的發(fā)布計(jì)劃不會(huì)為了等待某個(gè)主要特性完成而延期。如果一個(gè)特性還沒(méi)有完成,它就不會(huì)被合并到發(fā)布用的代碼倉(cāng)庫(kù)里。如果錯(cuò)過(guò)了一個(gè)版本,就要等待下一次發(fā)布。
新的發(fā)布周期旨在避免未完成的里程碑特性(比如Java 8的Lambda或Java 9的模塊化系統(tǒng))造成發(fā)布延期,讓其他一些有用的特性也無(wú)法與開(kāi)發(fā)者見(jiàn)面。
除了新的發(fā)布周期,Oracle將會(huì)繼續(xù)每個(gè)季度發(fā)布更新版本,時(shí)間分別為1月份、4月份、7月份和10月份。也就是說(shuō),在下一個(gè)大版本發(fā)布之前,當(dāng)前版本都會(huì)有兩個(gè)更新版本。更新版本只包含安全問(wèn)題修復(fù)或回歸錯(cuò)誤的修復(fù)。
Reinhold說(shuō):開(kāi)發(fā)者希望加快速度,這樣他們就能夠盡快地在生產(chǎn)環(huán)境中使用新的特性。
對(duì)于沒(méi)有必要快速升級(jí)Java版本的企業(yè)和組織來(lái)說(shuō),Oracle建議他們簽訂每三年一次的長(zhǎng)期支持(Long Term Support,LTS)協(xié)議。他們因此可以獲得由Oracle提供的至少三年的支持,還有可能更長(zhǎng)時(shí)間,這要取決于市場(chǎng)的反應(yīng)。
Oracle建議第一個(gè)LTS版本為“18.9”,不過(guò)這需要與其他的OpenJDK貢獻(xiàn)者討論過(guò)后才能最終確定。Java 8被作為一個(gè)特別的LTS版本,支持日期截止到2025年。
Smith說(shuō):OpenJDK是開(kāi)發(fā)者了解和使用Java SE平臺(tái)最主要的渠道,而Oracle JDK繼續(xù)作為Oracle收費(fèi)用戶(hù)的LTS版本。
倫敦Java社區(qū)的負(fù)責(zé)人Martijn Verburg也發(fā)表了他對(duì)新發(fā)布周期的看法:新的Java發(fā)布周期對(duì)于Java生態(tài)系統(tǒng)來(lái)說(shuō)是一件好事情。Java 9的Jigsaw和孵化模塊問(wèn)題促成了這一局面的發(fā)生。Oracle確實(shí)面臨著發(fā)布方面的巨大挑戰(zhàn),不過(guò)OpenJDK社區(qū)擁有足夠的知識(shí)來(lái)幫助一起解決挑戰(zhàn)。我希望看到中間會(huì)有所突破,不過(guò)對(duì)常規(guī)的發(fā)布周期仍然很期待。其他實(shí)現(xiàn)者可以更早地訪(fǎng)問(wèn)到規(guī)范的草案,這樣他們就可以更早、更經(jīng)常地發(fā)布版本。
Oracle的Java發(fā)布速度經(jīng)常受到詬病,Java被廣大的企業(yè)組織所采用,并已成為大量開(kāi)源平臺(tái)和語(yǔ)言的基礎(chǔ),而這樣的發(fā)布速度讓Java處于很尷尬的境地。新的Java發(fā)布周期恰好滿(mǎn)足了廣大用戶(hù)的期望,不過(guò)這仍然需要等待Java開(kāi)發(fā)者和Oracle用戶(hù)的反饋。
標(biāo)簽:
Java
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn