美圖欣賞 | 設為首頁 | 加入收藏 | 網站地圖

當前位置:電腦中國 > 編程 > C語言 >

鏖戰九載,Google 是否會因 Oracle 而棄用 Java?

2019-10-17 14:56|來源:未知 |作者:dnzg |點擊:

在過往的九年間,Google 因旗下全球第一大操作系統 Android 中是否合理使用 Java 的問題,已經與軟件巨頭 Oracle 大戰了三百回合,但一直沒得到最終的定論。

 

而如今,隨著 Google 官方博客中一則名為《Oracle v. Google and the future of software development》聲明的發布,標志著這一案件的最后一戰即將打響。在聲明中,Google 全球事務 SVP 兼首席法務官 Kent Walker 表示“我們請求美國最高法院審查 Google 與 Oracle 在軟件接口使用方面長期存在的版權糾紛。案件的結果將對整個計算機行業的創新產生深遠的影響。”

 

這意味著 Google 已經向美國最高法院提出審理與 Oracle 之間有關 Java 版權問題的請求。其中如果最高法院接受案件審理,那么 Google 或許還有翻盤 Oracle 的可能;但如果最高法院拒絕審理此次案件,那么 Google 只能執行去年 3 月份美國聯邦巡回上訴法院的裁決結果,即 Google 使用 Java 開發 Android 系統的行為的確侵犯了 Oracle 的版權,需向對方賠付 88 億美元。

 

回顧正常案件,這看起來僅是部分代碼的事件為何會演變成為如今這般情景?Oracle 的勝訴又將帶來怎樣的影響?最終是否會導致 Google 棄用 Java?全球的軟件開發者又該何去何從?

 

全球第一大操作系統 Android:樹太大招來了強風

 

提及這一事件的根源,其實還得從 Google 的 Android 系統講起。

 

21 世紀以來,各大科技巨頭暗中發力,為移動互聯網的新紀元做足了準備,其中 Google 也不例外。2005 年,Google 在低調地將成立僅 22 個月的高科技企業 Android 及其團隊收購后,迫切希望以此為契機能打破塞班統治的手機操作系統市場格局,搶占移動互聯網下智能手機領域的先機。然而在美好的愿景之下,如何才能突破常規,打造出更出彩的操作系統生態?

 

當然首要因素是需要適用于諸多的開發者及用戶,而這前提就需要 Google 去選擇一門成熟且極具前景的編程語言為基礎。

 

在彼時的環境之下,和廣泛應用于桌面系統軟件開發的 C++、非面向對象的 C 語言、社區生態不夠龐大的 Python 等語言相比,具有良好的跨平臺特性以及擁有成熟生態系統的 Java 無疑中成為了 Google 最佳的選擇。

 

不過值得注意的是,當時的 Google 并沒有直接將 JVM 直接搬到 Android 上,而是自己使用 Java API 設計了一個能夠運行 Android 應用程序的虛擬機——Dalvik,在這過程中,Google 并未向當時 Java 的擁有者 Sun 公司獲取 API 的授權,而正是因此,才引發了后來兩大巨頭有關 Java 的版權之爭。

 

Google 與 Oracle 之間的 9 年之爭

 

2009 年,純軟件先驅 Oracle 以 74 億美元收購了 Sun 公司、并接手了 Java 的擁有權。然而令人唏噓不已的是,第二年即 2010 年 8 月,Oracle 就以一紙文書將 Google 告上了法庭,稱迅速占領移動操作市場的 Android 系統侵犯了七項 Java 版權和專利,同時要求 Google 賠償 26 億美元。雖然 Oracle 律師 Annette Hurst 曾正面回應,Oracle 收購 Sun 公司并不是為了對 Google 發起版權訴訟。但是在收購第二年就急切地提出訴訟,這一行為免不了讓業界人士的猜想一番。

 

對此,Oracle 方堅持的態度是,Google 明知道 Java API 是受版權保護的,還故意而為之,目的就是為了讓傳統的 Java 程序員能很好地往 Android 平臺過渡,為 Android 的生態帶來豐富的應用程序。

 

與此同時,Android 背靠 Java 這棵大樹,才會大獲成功,為 Google 帶來了巨大的商業價值。簡而言之,沒有 Java,Android 不會有今天的地位。

 

而另一面,Google 則一直強調對于開源的 Java,自由使用 API 是業界的正常做法,暗示著自己并不知曉 Java API 是具有版權保護的。

 

不過,對 Google 頗為不利的是,Oracle 在隨后的對弈中,收集到了一封Android 之父 Andy Rubin 郵箱的企業內部郵件,其中提到 Google 內部試過替 Android 和 Chrome 尋找 Java 以外的替代方案,但那些替代方案都很糟糕,所以需要協商 Java 的授權問題。這意味著 Google 私底下都是知曉 java.lang 是受版權保護的。

 

在此不利的情況之下,2011 年 3 月,Google 聘用了 Java 的創始人 James Gosling 來為自己站臺。而自此之后,Google 和 Oracle 之間的 Java 侵權事件也開始愈演愈烈:

 

  • 2011 年 9 月,Google 和 Oracle 雙方 CEO 第一次庭外和解失敗。

     

  • 2012 年 3 月,Oracle 不接受 Google 280 萬美元賠償方案。

     

  • 2012 年 5 月,陪審團認為 Google 使用了 9 行范圍檢查的 Java 代碼構成侵權,代碼如下:

 

 

  • 同月,William Alsup 法官推翻了陪審團認為 Google 侵權的意見,稱 API 不應該受版權保護。隨后,加州北區法院裁定 Android 系統沒有侵犯專利,Java API 不存在版權,Google 贏得短暫勝利。

     

  • 2012 年 10 月,Oracle 不滿判決結果,于是上訴至美國聯邦巡回上訴法院。

     

  • 2014 年 4 月,美國聯邦上訴法院判定 API 受版權保護,Google 侵權,須賠償,Oracle 贏得勝利。

     

  • 2014 年 10 月,Google 不服判決上訴至美國最高法院,請求高院介入。

     

  • 2015 年 6 月,美國最高法院駁回了 Google 在軟件版權訴案中提出的上訴申請,維持原先的判決。

     

  • 2015 年 10 月,案件退回美國地區法院,由 William Alsup 法官再次審理。

     

  • 2016 年 4 月,雙方庭外和解會議再次失敗。

     

  • 2016 年 5 月,舊金山聯邦法院對該案復審。

     

  • 2018 年 3 月,美國聯邦巡回上訴法院裁決,Google 侵犯了 Oracle 的版權。

     

  • 2018 年 8 月,Google 提出上訴,但美國聯邦上訴法院宣布拒絕重新審理此案。

 

Java 侵權案升級為行業的 API 版權之爭

 

時針走到了現在,也正如文章伊始所述,Google 寄最后的希望于最高法院。但無論最高法院受理與不受理,這將都是一場有關 API 的版權論。

 

作為將復雜軟件系統結合在一起的粘合劑——應用程序接口,Google 全球事務 SVP 兼首席法務官 Kent Walker 在聲明中表示道,“標準化的軟件接口推動了軟件開發的創新。它們讓計算機程序可以相互交互,讓開發者能夠輕松地基于不同平臺構建技術。”

 

同時,Kent Walker 認為:

 

隨著智能手機應用程序的普及,我們往往會忽略開發者在各種不同平臺上創建應用程序的難度。而在 2008 年,Google 發布開源的 Android 平臺改變了這一現狀。它幫助開發者克服了更小的處理器、有限的內存和更短的電池壽命帶來的挑戰,同時為智能手機開發提供創新的特性和功能。最終帶來雙贏,即開發者可以更方便地構建新的應用程序,制造商可以創造出優秀的新設備,由此產生的競爭可以使消費者既享受更低的價格,也可以獲得更多的選擇。

 

Google 根據計算機行業長期接受的重復使用軟件接口的做法構建了 Android,這些接口提供了一組命令,可以輕松實現常用功能,譬如按下“Ctrl”+“P”鍵盤快捷鍵,就可以觸發打印功能,使打印變得容易。Android 開創了一個變革性的新平臺,同時讓數百萬 Java 程序員使用他們現有的技能來創建新的應用程序。而 Java 的創造者支持 Android 的發布,并稱它“給(Java)社區的發展安上了火箭。”

 

但在 2010 年收購 Java 之后,Oracle 起訴 Google 使用這些軟件接口,試圖通過事后改變軟件開發規則且從中獲利。Oracle 的訴訟聲稱自己有權控制軟件接口即軟件開發的基石,由此也能夠鎖定投資于學習免費和開放 Java 語言的開發者社區。

 

舊金山法院最初裁定,在這種情況下,軟件接口不具有版權,但該決定后來被駁回。陪審團曾一致地認為 Google 對接口的使用是合法的合理使用,但該決定后來同樣被否決了。除非最高法院糾正這兩個否決,否則這個案例將終止開發者自由使用現有軟件接口為消費者構建新一代計算機程序的傳統能力。就像我們都學會使用計算機鍵盤快捷鍵一樣,開發者已經學會使用不同編程語言相關的許多標準接口。如果不撤銷以上兩次的否決,那么這些立場將把開發者有效地鎖定在單一版權所有者的平臺上,就好比是鍵盤快捷鍵智能用于一種類型的計算機上。

 

Google 勝不了或許會放棄,Oracle 贏了又怎樣?

 

對于事件的最終結局,現在還存在很大的不定性。在 Google 看來,除非最高法院介入,否則當前聯邦巡回上訴法院裁決將對軟件行業帶來顛覆性的沖擊。但其實自從和 Oracle 杠上之后,Google 在全力上訴的同時似乎也為自己做好了敗訴的退路:

 

  • 2016 年,Google 宣布 Android 系統采用 OpenJDK;

     

  • 2017 年的 Google I/O 大會上,Google 宣布將 Kotlin 作為 Android 官方支持的開發語言;

     

  • 過去一直有傳言,Google 秘密研發的 Fuchsia 系統在未來將會統一 Android 和 Chrome OS 系統,而從 Fuchsia 項目此前提交記錄上顯示,它或將支持 Java 了。

(責任編輯:dnzg)
相關閱讀
足彩半全场是什么意思