曾想干掉Java的微軟正式加入OpenJDK,意欲何為?
近日, 微軟的Bruno Borges 向OpenJDK的郵件列表發(fā)了一封信, 宣稱微軟已經(jīng)正式簽署了Oracle Contributor Agreement ,從而加入OpenJDK社區(qū)。
看到這封信我不由得咧嘴笑了,因?yàn)檫@封信寫得很“謙卑”,先是承認(rèn)Oracle在Java領(lǐng)域的老大地位,然后說我們會(huì)從小的Bug fix開始,我們知道在做change之前之前要先討論, 我們會(huì)做一個(gè)OpenJDK的良好公民......
這和印象中微軟的霸道風(fēng)格完全不符合。
遙想當(dāng)年,Java橫空出世,微軟感到了巨大的威脅,為了消除這個(gè)危險(xiǎn),推出了J++這門語言,還有Visual J++這個(gè)IDE, J++ 也許是Java ++ 的意思吧, 它號(hào)稱是符合Java規(guī)范,有著和Java一樣的語法和關(guān)鍵字,但是卻沒有實(shí)現(xiàn)Java的RMI和JNI。
更有意思的是微軟對Java進(jìn)行了擴(kuò)展,在J++中增加了Delegate, Event, 還提供了一些直接調(diào)用Windows API的功能,這樣J++在Windows上運(yùn)行的效率肯定很高,VJ++ 由大神Anders操刀,是當(dāng)時(shí)最快的Java編譯器,但是它只能運(yùn)行在微軟的操作系統(tǒng)上,運(yùn)行在微軟的MS JVM當(dāng)中。
注意上圖中有這么一句話:Activate the web with Java and ActiveX..... ActiveX是微軟的專有技術(shù),這樣的程序,肯定是沒法跨平臺(tái)的。
Sun 公司就不干了,你居然敢破壞我大Java “Write once, run everywhere ”的特性 ! 我要告你。
幾場官司下來,微軟敗訴,最終付出20億美金和解。法官說"在微軟的壟斷下,大部分PC上安裝的Java,要么是舊版本,要么是僅適用于Windows的版本,這使得其他開發(fā)者對Java產(chǎn)生了厭惡情緒....."
直到現(xiàn)在,在Windows上安裝并且配置好Java運(yùn)行環(huán)境, 對剛開始學(xué)Java的小白還是巨大的折磨。
后來微軟徹底和Java說Bye Bye, 大神Anders 干脆搞了一個(gè)新的開發(fā)語言 C#, 成為.NET戰(zhàn)略中的核心語言。
這場微軟和Sun的世紀(jì)之戰(zhàn)發(fā)生在90年代末和新世紀(jì)的前幾年,Steve Ballmer 上臺(tái)以后,更加敵視開源,說Linux是毒瘤,微軟逐漸變成了一個(gè)暮氣沉沉,老氣橫秋的公司。
最近幾年,微軟轉(zhuǎn)型云計(jì)算,擁抱開源, 云端的服務(wù)器要運(yùn)行Linux,Linux上還要跑Java應(yīng)用,作為一個(gè)基礎(chǔ)設(shè)施提供商,必須得對Linux和Java有更深入的理解和掌控才可以。
微軟在今年8月份收購了jClarity,一個(gè)用于JDK性能調(diào)優(yōu)的工具,現(xiàn)在正式加入OpenJDK社區(qū),可以看出微軟的Java策略。值得一提的是領(lǐng)導(dǎo)著微軟Java開源團(tuán)隊(duì)的,正是jClarity的前CEO Martijn Verburg。
對Java來說,又來了一個(gè)重量級的玩家,這是一件好事情。
微軟的云服務(wù)Azure 發(fā)展勢頭極好,近日擊敗亞馬遜,贏得了一份五角大樓價(jià)值100億美元合同,在這種大背景下,我認(rèn)為微軟加入OpenJDK社區(qū),將來一定會(huì)基于OpenJDK為自己的Azure定制一個(gè)JDK, 就像亞馬遜的Corretto, 阿里巴巴的Dragonwell那樣,讓我們拭目以待。
20年過去了,微軟的轉(zhuǎn)變正是應(yīng)了那句老話:沒有真正的朋友,也沒有真正的敵人,有的只是永恒的利益。
微軟發(fā)給OpenJDK的信:
https://mail.openjdk.java.net/pipermail/discuss/2019-October/005173.html
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號(hào)coderising獲取授權(quán)】