Java將每半年發布一個版本
Oracle 近日宣布,他們將 Java 的發布頻率改為每六個月一次。
JCP 執行委員會在八月份的會議上提到了這一說法,隨后,Oracle 發言人 Donald Smith 在他的博客中確認了這一消息。該決定將在 Java 9 正式發布之后開始實行,也就是說,Java 的下一個發布日期是 2018 年初。
除了發布周期,Oracle 還宣布了在 Java 的構建和發布方式方面所發生的主要變化。Oracle 將把 OpenJDK 的二進制包作為面向開發者的主要版本,取代之前的 Oracle JDK。
OpenJDK 將采用 GPLv2 許可(包括“類路徑例外”)免費發行,移除了之前在 Oracle JDK 上存在的一些限制。Oracle JDK 仍然會繼續存在,但需要與 Oracle 簽訂協議才能獲得 Oracle 提供的長期支持。
Java 首席架構師 Mark Reinhold 說,為了避免出現像 Java 8 和 Java 9 那樣的延期情況,所有決定實行新的發布周期。
Java 當前的發布周期為兩年一次,Java 9 因為模塊化系統(Jigsaw)問題一再延期,已經比預期晚了 18 個月。之前,Java 8 也因為安全問題延期了 8 個月左右。Java 9 的 GA 版本將在 9 月 21 號發布。
新的發布周期嚴格遵循時間點,將在每年的 3 月份和 9 月份發布,相應的版本號為 18.3、18.9、19.3 等。與現在的發布周期不同,新的發布計劃不會為了等待某個主要特性完成而延期。如果一個特性還沒有完成,它就不會被合并到發布用的代碼倉庫里。如果錯過了一個版本,就要等待下一次發布。
新的發布周期旨在避免未完成的里程碑特性(比如 Java 8 的 Lambda 或 Java 9 的模塊化系統)造成發布延期,讓其他一些有用的特性也無法與開發者見面。
除了新的發布周期,Oracle 將會繼續每個季度發布更新版本,時間分別為 1 月份、4 月份、7 月份和 10 月份。也就是說,在下一個大版本發布之前,當前版本都會有兩個更新版本。更新版本只包含安全問題修復或回歸錯誤的修復。
Reinhold 說:
開發者希望加快速度,這樣他們就能夠盡快地在生產環境中使用新的特性。
對于沒有必要快速升級 Java 版本的企業和組織來說,Oracle 建議他們簽訂每三年一次的長期支持(Long Term Support,LTS)協議。他們因此可以獲得由 Oracle 提供的至少三年的支持,還有可能更長時間,這要取決于市場的反應。
Oracle 建議第一個 LTS 版本為“18.9”,不過這需要與其他的 OpenJDK 貢獻者討論過后才能最終確定。Java 8 被作為一個特別的 LTS 版本,支持日期截止到 2025 年。
Smith 說:
OpenJDK 是開發者了解和使用 Java SE 平臺最主要的渠道,而 Oracle JDK 繼續作為 Oracle 收費用戶的 LTS 版本。
倫敦 Java 社區的負責人 Martijn Verburg 也發表了他對新發布周期的看法:
新的 Java 發布周期對于 Java 生態系統來說是一件好事情。Java 9 的 Jigsaw 和孵化模塊問題促成了這一局面的發生。
Oracle 確實面臨著發布方面的巨大挑戰,不過 OpenJDK 社區擁有足夠的知識來幫助一起解決挑戰。
我希望看到中間會有所突破,不過對常規的發布周期仍然很期待。其他實現者可以更早地訪問到規范的草案,這樣他們就可以更早、更經常地發布版本。
Oracle 的 Java 發布速度經常受到詬病,Java 被廣大的企業組織所采用,并已成為大量開源平臺和語言的基礎,而這樣的發布速度讓 Java 處于很尷尬的境地。新的 Java 發布周期恰好滿足了廣大用戶的期望,不過這仍然需要等待 Java 開發者和 Oracle 用戶的反饋。
來自: InfoQ