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