在 Python、JavaScript 等一眾編程語言崛起風(fēng)靡之際,一代霸主 Java 風(fēng)采雖不及當(dāng)年,但仍橫掃了各大編程語言排行榜,也依舊是各大企業(yè)級應(yīng)用開發(fā)語言中的 NO.1。 TIOBE 2019 年 4 月編程語言 Top 5 不過,有不少網(wǎng)友發(fā)現(xiàn),即使如此,Java 之于其母公司 Oracle,地位似乎日趨愈下。而這也并非空穴來風(fēng),種種現(xiàn)實(shí)表明,Oracle 正在從其內(nèi)部逐步削弱 Java 品牌的存在。 紅帽接管 OpenJDK 8 和 OpenJDK 11 追溯到 2014 年 3 月和 2018 年 9 月,Oracle 分別推出了 Java 的兩個(gè)長期支持版本 JDK 8 和 JDK 11。 經(jīng)歷了多年的發(fā)展之后,Java 8 已成為開發(fā)者最常使用的 Java 版本。不過作為 Java 的掌控者 Oracle 也在此不久后,改變了使用 Java 的“游戲規(guī)則”: JDK 8:自 2019 年 1 月起,Java SE 8 公開更新將不向沒有商用許可證的業(yè)務(wù)、商用或生產(chǎn)用途提供; JDK 11:新版 Oracle JDK 不可以用在數(shù)據(jù)處理、商業(yè)、產(chǎn)品、或者內(nèi)部商業(yè)用途(需要購買 License),僅可免費(fèi)用于開發(fā)、測試、原型、演示。 簡而言之,開發(fā)者或企業(yè)想要使用 Java 8/11 中的 OracleJDK,要么付費(fèi),要么另選它法。在此情況之下,不少人被迫選擇了開源且免費(fèi)的 OpenJDK 版本,同時(shí)如阿里的 Dragonwell、亞馬遜的 Corretto 等 OpenJDK 發(fā)行版也紛涌而至。 不過,使用 OpenJDK 也有一定的缺點(diǎn),如它的源碼并不完整、開發(fā)者需要經(jīng)常升級等等,此外,Oracle 對 OpenJDK 的服務(wù)支持時(shí)長也有一定的期限,即維護(hù)時(shí)長到期后,Oracle 會直接放棄老版 OpenJDK 的 Bug 修復(fù)和安全更新。 近日,對于使用 OpenJDK 8 和 OpenJDK 11 的開發(fā)者和企業(yè)來說,有一件值得慶賀的事情。日前,全球知名的開源解決方案提供商紅帽(Red Hat)于官網(wǎng)正式宣布,“在 Oracle 轉(zhuǎn)型后,Red Hat 將成為 OpenJDK 8 和 OpenJDK 11 兩個(gè)項(xiàng)目的管理者。隨著這種角色轉(zhuǎn)變,Red Hat 也將遵循曾領(lǐng)導(dǎo) OpenJDK 6 和 OpenJDK 7 項(xiàng)目的道路,繼續(xù)對 Java 社區(qū)進(jìn)行支持?!?/p> 事實(shí)上,于 2014 年發(fā)布的 OpenJDK 8,Oracle 為其提供的五年支持已于今年初終止。紅帽在此時(shí)能將 OpenJDK 8 和 OpenJDK 11 的項(xiàng)目接手過來,這意味著開發(fā)者可以繼續(xù)免費(fèi)使用該 OpenJDK 的支持服務(wù)直到 2023 年 6 月和 2024 年 10 月。此外,紅帽也解釋道,之所以不會維護(hù) OpenJDK 9 或 OpenJDK 10,是因?yàn)檫@兩個(gè)是短期支撐版本,只有半年的支持時(shí)間。 Oracle 要放棄 Java? 那么,Oracle 將 OpenJDK 的管理權(quán)轉(zhuǎn)讓,到底為哪般? 或許 Oracle 不僅是想放手 OpenJDK,更想放棄的應(yīng)該是 Java。其實(shí),早在 2015 年,就有媒體報(bào)道,Oracle 內(nèi)部似乎正在針對 Java 實(shí)施“計(jì)劃中的報(bào)廢”戰(zhàn)略: 一位負(fù)責(zé) Java 的 Oracle 前高管發(fā)給 InfoWorld 的郵件中聲稱了解 Oracle 公司內(nèi)部信息。其表示,Oracle 正在成為一家與 Salesforce 競爭的云公司。其不再對 Java 感興趣,且 Oracle 不想給競爭對手更多資源,不想分享創(chuàng)新成果。Oracle 正在縮減對 Java EE (企業(yè)版)的投入,同時(shí)它也不希望別的公司接手 Java 或 Java EE,而且它正逐步將 JCP (Java Community Process) 打入冷宮?!癢ebLogic 的專利申請將會逐步完成,同時(shí),也會推出一個(gè)專利的微服務(wù)平臺?!盬ebLogic 是 Oracle 在2008年收購 BEA Systems 時(shí)得到的 Java 應(yīng)用服務(wù)器。 2017 年 9 月,Oracle 突然宣布將 Java EE 的支持和維護(hù)移交給 Eclipse Foundation,其中包括參考實(shí)現(xiàn)、技術(shù)兼容性工具包和“相關(guān)的項(xiàng)目說明文檔”等等。隨后,Eclipse 基金會更是為 Java EE 改名為 Jakarta EE。最終,這一事件的落地也標(biāo)志著 Oracle 已決心減少對 Java 的控制。 再到如今主流的 OpenJDK 8 和 OpenJDK 11 的管理權(quán)已正式被交到了紅帽手上,為此,來自 Ovum 基礎(chǔ)設(shè)施解決方案的杰出分析師 Michael Azoff 也表示道: 當(dāng)前領(lǐng)導(dǎo)和控制管理 Java 的是 Java SE 的所有者 Oracle。顯然,Oracle 希望改變,雖然它擁有 Java SE ,但它已將 Java EE 交給 Eclipse Foundation,后者已將其重命名為 Jakarta EE。 Red Hat 是 OpenJDK 的重要貢獻(xiàn)者,已經(jīng)加強(qiáng)了 OpenJDK 8 和 OpenJDK 11 的管理,它將于 Oracle JDK 融合。我猜測的是,我們可以期待在未來幾年內(nèi)有關(guān) Java 管理權(quán)移交的更多新聞,我相信 Red Hat 擁有一雙安全的手來承擔(dān)這一角色,它也更適合 Java 作為開源軟件,Red Hat 是開源軟件社區(qū)的領(lǐng)導(dǎo)者。 這樣看來,如果說 Oracle 對 Java EE 管理權(quán)的移交是放棄 Java 的第一步,那么這次對 OpenJDK 8 和 OpenJDK 11 的放手,也僅會是 Oracle 從內(nèi)部削弱 Java 品牌的第二步。 至于 Oracle 為何要這么做? 其實(shí),站在 Oracle 的商業(yè)立場,也不難理解其做法。畢竟如今是 AI 云的互聯(lián)網(wǎng)時(shí)代,想要在新的環(huán)境中走的更快更遠(yuǎn),必須減負(fù)前行。 此前,在今年 3 月,Oracle 也再次開啟了全球范圍內(nèi)的新一輪的裁員,彼時(shí) Oracle 執(zhí)行副總裁 Don Johnson 也向全員發(fā)送了一封標(biāo)題為“組織重組”的電子郵件。該郵件告知工作人員:將來公司的一切工作都將圍繞 Oracle 云基礎(chǔ)設(shè)施(Oracle Cloud Infrastructure,簡稱OCI)運(yùn)營展開。 而且不僅 Oracle,如微軟也將曾經(jīng)中流砥柱的業(yè)務(wù) Windows 進(jìn)行了拆解與平衡、Apple 也為 iPhone、iPad 等硬件設(shè)備推出了系列軟件服務(wù)、Google 也正在秘密研發(fā)支持全新計(jì)算平臺的 Fuchsia 操作系統(tǒng)… 在新浪潮來臨之際,所有的科技公司均是「同一個(gè)世界同一個(gè)夢想」。 OpenJDK 8 和 OpenJDK 11 的接任管理者,為什么是紅帽? 不過作為開發(fā)者,當(dāng)看到 Oracle 對 JavaEE 以及 OpenJDK 停止服務(wù)以及放手時(shí),或多或少會對自己基于此平臺及技術(shù)所開發(fā)的項(xiàng)目產(chǎn)生一定的擔(dān)憂。 但從另一個(gè)角度上來看,紅帽此時(shí)可以接管 OpenJDK,整體來說利大于弊。對此,Red Hat 中間件副總裁兼總經(jīng)理 Mike Piech 也在發(fā)布的聲明中直言,“Java 處于文藝復(fù)興時(shí)期。它不斷發(fā)展,成為新興架構(gòu)的關(guān)鍵組成部分。開發(fā)者渴望將 Java 帶入下一代開發(fā),而 Red Hat 通過參與 OpenJDK 項(xiàng)目,正在幫助引領(lǐng) JDK 用戶在現(xiàn)有環(huán)境中獲得支持和創(chuàng)新的努力。Red Hat 仍然致力于 Java,并很高興有機(jī)會幫助管理 OpenJDK 社區(qū)。” 其實(shí),紅帽和 OpenJDK 也早有淵源。自 2007 年起,紅帽就一直活躍在 OpenJDK 社區(qū)中;2013 年,紅帽擔(dān)任 OpenJDK 6 社區(qū)的領(lǐng)導(dǎo)者;2015 年,紅帽再次獲得 OpenJDK 7 的管理權(quán)。 除此之外,紅帽此次獲得 OpenJDK 8 和 OpenJDK 11 的管理權(quán)也算實(shí)現(xiàn)了 Java 之父 James Gosling 的一點(diǎn)愿望了。 9 年前,Oracle 收購了大名鼎鼎的 Sun 公司,由此編程界的一哥 Java 也成為 Oracle 諸多重要業(yè)務(wù)中的一層。不過,彼時(shí)令人驚訝的是,Java 創(chuàng)始人 James Gosling 在 Sun 公司被 Oracle 收購之后不久便離職了,而其中緣由,James Gosling 曾在接受《eWeek》專訪時(shí)道了不少,包括了薪酬不平等、Sun 高管職權(quán)被架空、權(quán)力結(jié)構(gòu)問題等等,其中還有一點(diǎn)是,最初時(shí)候,他本人其實(shí)比較傾向于 IBM 將 Sun 公司收購而不是極具獨(dú)裁性的 Oracle。如今 OpenJDK 8/11 被 IBM 以 340 億美元收購的紅帽接管 ,想必 James Gosling 也是樂意看到的。 紅帽掌管了 OpenJDK,對開發(fā)者而言意味著什么? 事實(shí)上,對于 Red Hat 接管 OpenJDK 8 和 OpenJDK 11 項(xiàng)目,從新技術(shù)角度來看,并不能為 Java 社區(qū)帶來根本性的改變。畢竟對于 Oracle 而言,想要添加新的或?qū)嶒?yàn)性的功能應(yīng)該僅會針對 Java 的最新版本來,而不是回過頭在舊版本上動刀。 基于此,Red Hat Java 平臺團(tuán)隊(duì)的首席工程師 Andrew Haley 也曾表示過,在沒有 Oracle 工程師支持的情況下,保持 Java 的更新對 Java 社區(qū)來說將是一個(gè)挑戰(zhàn),但同時(shí)這也是一個(gè)機(jī)遇。一個(gè)真正開放和透明的 OpenJDK 更新項(xiàng)目,將吸引更多開發(fā)者參與進(jìn)來,讓所有 Java 用戶受益。 那么 Red Hat 在接管 OpenJDK 8 和 OpenJDK 11 項(xiàng)目維護(hù)之后,對開發(fā)者意味著什么? 根據(jù)官方報(bào)道,這意味開發(fā)者可以繼續(xù)使用兩個(gè)舊版本繼續(xù)開發(fā)應(yīng)用。 且去年 12 月份,紅帽宣布為微軟 Windows 環(huán)境提供 OpenJDK 的長期商用支持服務(wù)。此外,紅帽對于 Java 的計(jì)劃還包括在未來幾周內(nèi)在 Microsoft 安裝程序中啟動 OpenJDK 并分發(fā) IcedTea-Web,這是 Java Web Start 工具的免費(fèi)軟件實(shí)現(xiàn),用于從 Web 運(yùn)行 Java 應(yīng)用程序。IcedTea Web 將成為 Windows OpenJDK 發(fā)行版的一部分。與此同時(shí),紅帽還領(lǐng)導(dǎo)著 Shenandoah 的開發(fā)。作為一個(gè)高性能垃圾收集器,Shenandoah 現(xiàn)在已經(jīng)是 OpenJDK 12 的一部分。 如今針對這一事件,Reddit 上的開發(fā)者也展開了激烈的討論: @rifeid: 這并不奇怪,Red Hat 已經(jīng)是 OpenJDK 6(自 2013 年起)和 OpenJDK 7(自 2015 年起)的維護(hù)者。 然而,更有趣的是,有些人認(rèn)為 Java 在一個(gè)大型企業(yè)的手中要比在那些并沒有足夠的資源去維護(hù) OpenJDK 的中小型企業(yè)手中要好得多,此外,也有不少網(wǎng)友對此猜測,更多的 Java 版本維護(hù)將被移出 Oracle,可能轉(zhuǎn)移到 Red Hat 或其他組織下。 @existentialwalri:與其說接管 OpenJDK 8 和 OpenJDK 11 項(xiàng)目的是 Red Hat,倒不如直接挑明說是 IBM。 @shevy-ruby:希望當(dāng)前主流的編程語言不要掌握在幾個(gè)大型私有企業(yè)的手中,但目前除了少數(shù)幾種語言之外,趨勢有很大的不同。 |
|