首頁>科技>

2019年5月,徹底撕破臉的特朗普掀起對華為的戰爭,谷歌被迫吊銷了華為的Android授權。開源軟體的版權問題,使我不禁想起軟體行業的一宗驚天巨案。

看過《手機基帶晶片故事》的朋友,一定記得喬布斯曾強烈表達過對谷歌抄襲蘋果的憤怒:“我要用盡蘋果400億美金的存款,發動一場熱核戰爭,來摧毀Android,because it's a stolen product。”

千萬別認為喬幫主只是說著玩的。

雖然他不幸去世多年,他最好的朋友甲骨文(Oracle)董事長拉里埃裡森仍然在堅持這項未竟的事業。

桀驁不羈的埃裡森在回顧喬布斯臨終情景時動情地說:“他已經被癌症消耗光了,他實在太累了又太痛了。雖然他絕對是我見過最堅強的人,但他還是最終放棄了和死神的對抗。”他最後停藥的決定震驚了所有人,三天後幫主駕鶴西去。

作為惺惺相惜的英雄,埃裡森當年曾經想把蘋果買下來還給喬布斯。

2009年4月,甲骨文宣佈以74億美元收購了Sun Microsystems。埃裡森面對IBM的競價毫不猶豫,最終以超過Sun市值30%的價格將其拿下。

Java之父James Gosling是個加拿大人,他在Sun工作了26年。直到Sun被甲骨文收購後,他選擇了離開。

有謠傳說,Gosling因為學C++太難而在其上去掉了很多繁複的特性做出了Java。這個不足為信,因為Gosling是計算機聖殿卡內基梅隆的博士,學個語言對他來講太小兒科了吧。

Java是原本設計用於機頂盒之類的小型裝置上的,但出乎任何人的意料,網際網路大潮來臨後,Java編寫一次、到處執行的特性被各種應用發揮到了極致。在企業級軟體上,Java更是整合各種不同軟硬體和作業系統做出分散式應用的神器。

二十年來,Java除了受到.Net的小型挑戰外,由於擁有最成熟穩定的企業應用元件,其網際網路的支柱地位仍牢不可破。

不僅在企業級市場呼風喚雨,另外一個意外的選擇,使得Java在移動終端也大放異彩。

Android之父安迪魯賓1989年進入蘋果工作,那時他還是個小工程師。因為他之前在蔡司機器人部門工作,蘋果的同事給他起了個外號:Android(機器人),當時誰也不知道,這個機器人在多年以後成為蘋果最大的競爭對手。

當時喬布斯已經被驅逐出蘋果。被老喬請來“不賣糖水改變世界”的CEO John Sculley,其實遠沒有後來外界評論的那麼不堪。他把蘋果營業額擴大了10倍,而且主持了大屏手持電腦Newton的開發。

John Sculley把專門做手持作業系統的部門分拆成General Magic(通用魔法公司,這個名字好贊),而這家公司成為未來智慧手機的黃埔軍校。

安迪·魯賓在通用魔法公司汲取了充足的養分,後來在2003年建立了Android公司(Android Inc.)。Android系統最早是設計給數碼相機用的,數碼相機本身硬體就千差萬別,所以Java優秀的跨平臺特性就被選中了。

結果這個平臺做出來後,發現用於手機也很適合。2005年,正在尋找手機作業系統的谷歌看中並收購了Android公司。

2007年1月,喬布斯釋出了iPhone,極大地震撼了谷歌。為了趕時間,谷歌來不及更改Android所用的開發語言Java,這給後來埋藏了重大的禍根。

當然,Java充足的程式設計師群體和便利的開發特性,對Android本身來講也是有極大幫助的。

2007年11月,就在第一代iPhone上市4個月後,谷歌便匆忙開源了Android併成立開放手機聯盟(OHA)。這時的Android連個半成品都算不上,但Java的地位被牢固地確定了下來。

和蘋果iOS執行原生Object C編譯的機器碼不同,Java必須跑在虛擬機器上。這使得Android在速度上天然存在問題。谷歌為了儘可能提高速度,自己做了Dalvik虛擬機器(DVM)。

DVM採取了很多“作弊”的加速手段,比如預讀取使用者裝的很多APP(APK)並存入快取,比如把Java Bytecode替換成DVM的指令。這些手段的副作用之一,就是使Android需要比iPhnoe大得多的記憶體,而且手機用的時間越長,APP越多,系統越慢。

這些“作弊”手段,也使得谷歌的Java虛擬機器和Sun原版虛擬機器完全不相容。而Sun對這種分裂Java的行為不能容忍。

谷歌確實去找Sun申請過Java授權,但是Sun要求谷歌分享對Android分支的控制而遭到拒絕。谷歌當時還拒絕了Sun提出的三年支付約5000萬美元授權費用的要求,而後來Sun歸了埃裡森以後,這數字提高到50億美元。

在未獲Java授權的情況下,谷歌採取了“潔淨室”這種反向工程手段(可參考:《BIOS和PC的故事》)開發了自己的Java庫。這是一種類似抄襲但又不明顯違法的手段。

但是,谷歌仍舊保留了Sun Java原有的一些程式設計介面(API),後來被甲骨文抓住了把柄。

甲骨文總架構師Edward Screven在法庭作證說,他曾和埃裡森講,拿下Java是收購Sun的唯一重要目的。

雖然Java之父Gosling在離開甲骨文後短暫加入了谷歌,他在接受採訪時表示,他認為谷歌當年確實糊弄了Sun。

開源軟體只是意味著你能看到全部原始碼,這並不表示你可以隨意使用。對於Java來講,程式設計師是可以免費使用的,但是對於企業來說還是需要獲得授權的。

甲骨文和谷歌兩大巨頭曠日持久的法律大戰,至今已經9年還未打出最終結果。其間雙方在各級法院各有勝負,法官和陪審員都對此案看法不一。

埃裡森和拉里·佩奇都親自上庭作證,這在美國大公司訴訟中極為罕見,而每一次埃裡森都拒絕和解。

2018年3月,聯邦上訴法院判決甲骨文勝訴,這意味著谷歌應賠償高達近百億美元。

谷歌則第二次將此案提交到美國聯邦最高法院。在四年前最高法院拒絕審理後,這次九位大法官似乎被迫要做出判決了。

眾所周知,美國是法官立法的國家。聯邦最高法院的判決會深遠影響軟體行業的很多懸案。

法官們還要判定的是,谷歌的抄襲行為是故意侵權還是合理使用。甲骨文已經舉證說Android在10年間為谷歌賺了超過420億美元。

對甲骨文不利的是,Android已經是大到不能倒了,沒有法官會支援禁止Android手機的銷售。正因為如此,谷歌一直把案件拖了九年。

而在這段時間內,谷歌把Android的Java庫轉到OpenJDK,把DVM轉到ART,把Java語言轉到Kotlin語言。

2019年4月底,聯邦最高法院正式發文給美國司法部,要求聯邦檢察官協助斷案。這似乎是美國三權分立的一個漏洞,但也說明了此案判決難度極大。

似乎大多數程式設計師都很厭惡甲骨文對開源的霸道行為,但是埃裡森為喬布斯“復仇”的舉動又讓人覺得很感動。畢竟谷歌確實存在“抄襲”蘋果和Java的行為,並由此獲取了鉅額利潤。

考慮到對喬幫主的感情,以及近期的華為事件,我內心還是希望谷歌最終會為此付出代價。

需要免費資料的小夥伴可以私聊小編關鍵詞“java”就可以領取資料了!

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 重磅訊息!桐梓首批三個5G基站開通!