本文來自微信公衆號: 金捷幡(ID:jin-jiefan) ,做者:金捷幡,封面:拉里·埃裏森(東方IC)html
2019年5月,完全撕破臉的特朗普掀起對華爲的戰爭,谷歌被迫吊銷了華爲的Android受權。開源軟件的版權問題,使我不由想起軟件行業的一宗驚天巨案。程序員
看過《手機基帶芯片故事》的朋友,必定記得喬布斯曾強烈表達過對谷歌抄襲蘋果的憤怒:「我要用盡蘋果400億美金的存款,發動一場熱核戰爭,來摧毀Android,because it's a stolen product。」 編程
千萬別認爲喬幫主只是說着玩的。緩存
雖然他不幸去世多年,他最好的朋友甲骨文 (Oracle) 董事長拉里埃裏森仍然在堅持這項未竟的事業。微信
桀驁不羈的埃裏森在回顧喬布斯臨終情景時動情地說:「他已經被癌症消耗光了,他實在太累了又太痛了。雖然他絕對是我見過最堅強的人,但他仍是最終放棄了和死神的對抗。」他最後停藥的決定震驚了全部人,三天後幫主駕鶴西去。架構
做爲惺惺相惜的英雄,埃裏森當年曾經想把蘋果買下來還給喬布斯。分佈式
2009年4月,甲骨文宣佈以74億美圓收購了Sun Microsystems。埃裏森面對IBM的競價堅決果斷,最終以超過Sun市值30%的價格將其拿下。操作系統
2010年收購完成後,埃裏森隨即對谷歌宣戰,起訴Android對Java的侵權。設計
一3d
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來說,程序員是能夠無償使用的,可是對於企業來講仍是須要得到受權的。
而API是否受版權保護,這個在美國法律界也產生了巨大的分歧。如同你作菜的配方能夠受版權保護,可是點菜的菜單也受保護嗎?
甲骨文和谷歌兩大巨頭曠日持久的法律大戰,至今已經9年還未打出最終結果。其間雙方在各級法院各有勝負,法官和陪審員都對此案見解不一。
埃裏森和拉里·佩奇都親自上庭做證,這在美國大公司訴訟中極爲罕見,而每一次埃裏森都拒絕和解。
2018年3月,聯邦上訴法院判決甲骨文勝訴,這意味着谷歌應賠償高達近百億美圓。
谷歌則第二次將此案提交到美國聯邦最高法院。在四年前最高法院拒絕審理後,此次九位大法官彷佛被迫要作出判決了。
衆所周知,美國是法官立法的國家。聯邦最高法院的判決會深遠影響軟件行業的不少懸案。
法官們還要斷定的是,谷歌的抄襲行爲是故意侵權仍是合理使用。甲骨文已經舉證說Android在10年間爲谷歌賺了超過420億美圓。
對甲骨文不利的是,Android已是大到不能倒了,沒有法官會支持禁止Android手機的銷售。正由於如此,谷歌一直把案件拖了九年。
而在這段時間內,谷歌把Android的Java庫轉到OpenJDK,把DVM轉到ART,把Java語言轉到Kotlin語言。
六
2019年4月底,聯邦最高法院正式發文給美國司法部,要求聯邦檢察官協助斷案。這彷佛是美國三權分立的一個漏洞,但也說明了此案判決難度極大。
彷佛大多數程序員都很厭惡甲骨文對開源的霸道行爲,可是埃裏森爲喬布斯「復仇」的舉動又讓人以爲很感動。畢竟谷歌確實存在「抄襲」蘋果和Java的行爲,並由此獲取了鉅額利潤。
考慮到對喬幫主的感情,以及近期的華爲事件,我心裏仍是但願谷歌最終會爲此付出代價。
*文章爲做者獨立觀點,不表明虎嗅網立場
本文由金捷幡© 受權虎嗅網 發表,並經虎嗅網編輯。轉載此文章須經做者贊成,並請附上出處(虎嗅網)及本頁連接。原文連接:https://www.huxiu.com/article/301065.html