「Java 訴訟案」纏鬥 10 年,Google 勝訴代表什麼?
收藏文章
很開心您喜歡 虎嗅網 的文章, 追蹤此作者獲得第一手的好文吧!
虎嗅網
字體放大


分享至 Line

分享至 Facebook

分享至 Twitter


「Java 訴訟案」纏鬥 10 年,Google 勝訴代表什麼?

2021 年 4 月 9 日


※本文封面選自arstechnica.com

曠日持久的 Java 版權大戰,以 Google 的勝利告終了。

4 月 5 日,美國最高法院裁定 Google 在構建 Android 軟體時可以合法使用甲骨文( Oracle, ORCL-US )的 Java 程式碼,作為應用程式寫程式接口( API )程式碼的元素。

“ Google 對於實現用戶界面 API 的複製,僅採用了允許用戶將其應有的才能投入新的,變革性程式中所需的一切,這就構成了對該材料的合理使用 ” 。在最高法院的投票中,贊成和反對該判定的比例是 6 比 2 。川普先前新任命的大法官巴雷特並未參與此案。

曠日持久的 Java 版權大戰,以 Google 的勝利告終了。

4 月 5 日,美國最高法院裁定 Google 在構建 Android 軟體時可以合法使用甲骨文( Oracle, ORCL-US )的 Java 程式碼,作為應用程式寫程式接口( API )程式碼的元素。

“ Google 對於實現用戶界面 API 的複製,僅採用了允許用戶將其應有的才能投入新的,變革性程式中所需的一切,這就構成了對該材料的合理使用 ” 。在最高法院的投票中,贊成和反對該判定的比例是 6 比 2 。川普先前新任命的大法官巴雷特並未參與此案。

這一判斷推翻了先前聯邦巡迴法院的幾次裁決,其當時認定 Google 對 API 的使用構成侵權。

2010 年 8 月,甲骨文對 Google 提起訴訟,聲稱 Google 未經許可擅自使用 Java 軟體的內容作為安卓操作系統 API 的一部分,侵犯了其專利和版權。 Google 則回應認為, API 就像字母或語法,是用來創建程式的基本元素。

大法官: Google 複製程式碼是合理使用

美國最高法院法官現在得出的結論是,允許程式員訪問其他程式碼的 API 與其他類型的電腦程式有很大的不同。 “ 作為界面的一部分,被複製的程式碼行與不可複製的思想固有地捆綁在一起⋯⋯,並激發了新的創造表達。 ” 大法官斯蒂芬・布雷耶( Stephen Breyer )在判決意見中寫道, “ 與很多其它電腦程式不同,複製的程式碼行的大部分價值來自於開發人員對生態系統的投資,而不是程式的實際操作。 Google 使用該 API 來讓 Java 程式員構建安卓應用,法院宣布這從根本上是一種變革性的用途。 ”

“ Google 僅複製了讓程式員在不同計算環境中工作,而無需拋棄一部分熟悉的寫程式語言所需的內容, Google 的目的是為了創造一個為不同計算環境(智慧型手機)準備的,不同的任務相關的系統——為了創造安卓平台,以幫助實現和普及的目標。 ”

需要注意的是,該判決專門針對 API 這一類別。 “ 我們不會推翻或修改我們以前涉及合理使用的案例,例如涉及’山寨’產品,新聞報導和簡單複製的案例。 ” 布雷耶表示,該裁決主要取決於 API 程式碼實現新創意表達的方式,這應該是在合理使用原則的範疇之內, “ 我們認為合理地使用,可以在確定電腦程式版權的合法範圍方面發揮重要作用。 ”

在異議中,保守派大法官克拉倫斯・托馬斯( Clarence Thomas )辯稱,法院在實施和宣布這一準則之間建立了一種站不住腳的觀點。

“ 國會拒絕在聲明和實施程式碼之間進行明確區分。 ” 托馬斯寫到, “ 但大多數的創造就在於這一部分特性。這種扭曲的分析結果帶來一種觀點,讓人很難想像在任何情況下,聲明程式碼仍將受到版權保護。 ”

曠日持久的版權訴訟,法官都手寫程式碼了

Google 和甲骨文,在安卓的 Java 互操作性問題上已經爭論了 10 多年,跨越了三個審判和兩個獨立的上訴。

  • 1995 年,矽谷傳奇公司 Sun Microsystems 推出了面向 Internet 的高級寫程式語言 Java ,其易於上手、跨平台的特性使其不斷發展,在多年發展過程中逐漸成為了業界開發 Web 應用程式的首選語言。
  • 2005 年, Google 則收購了 Android 公司,繼續其主要項目——使用 Java 開發 Android 操作系統,在這期間 Google 拒絕了 Sun 方面的提議:若使用為期 3 年的 Java 許可,需支付 2,000 萬美元,外加 Google 與 Android 有關收入的 10% (上限為 2,500 萬美元)。
  • 2009 年,甲骨文斥資 74 億美元收購了 Java 的原始開發者Sun。在賣身之前,Sun 決定將 Java 開源,然而幾個月之後,甲骨文即對 Google 發起了訴訟。

本案最近一段時間的爭議點,在於甲骨文能否在安卓的程式碼庫中對大約 11,500 行程式碼(代表 37 個不同的 API )維護其主張的版權。 Google 獨立開發了 API ,但這些 API 是基於 Java 程式碼。甲骨文聲稱 Android API 的結構、順序和組織嚴重抄襲,以致侵犯了甲骨文在 Java 程式碼上的版權。

甲骨文狀告提及的 37 個 API 如下:
Java .awt.font、Java .beans、Java .io、Java .lang、Java .lang.annotation、Java .lang.ref、Java .lang.reflect、Java .net、Java .nio、Java .nio.channels、Java .nio.channels.spi、Java .nio.charset、Java .nio.charset.spi、Java .security、Java .security.acl、Java .security.cert、Java .security.interfaces、Java .security.spec、Java .sql、Java .text、Java .util、Java .util.jar、Java .util.logging、Java .util.prefs、Java .util.regex、Java .util.zip、Java x.crypto、Java x.crypto.interfaces、Java x.crypto.spec、Java x.net、Java x.net.ssl、Java x.security.auth、Java x.security.auth.callback、Java x.security.auth.login、Java x.security.auth. x500 、Java x.security.cert、Java x.sql

另外,甲骨文曾經還狀告 Google 抄襲了 JDK 的 9 行程式碼:

private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException(“fromIndex(" + fromIndex +
“) > toIndex(" + toIndex+")");
if (fromIndex < 0 )
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}

在 2012 年 5 月 18 日,加州北區的 William H. Alsup 法官主持的一次庭審中,爭議焦點集中在一個名為 rangeCheck 的函數上。在甲骨文測試的共計 1,500 萬行程式碼中,只有這一部分是 “ 逐字逐句 ” 抄襲的,甲骨文律師採取鼓吹該函數重要性的策略試圖證明 Google 的抄襲。為了驗證甲骨文提出的可能性,Alsup 法官甚至親自上手嘗試寫程式碼。

“ 在接手這個案子之前,我對 Java 一無所知。 ” 這位法官說。 “ 但是現在我已經寫了很多程式碼,也已用很多其他語言編過程式,現在也還在寫程式。我寫過一百多段 rangeCheck 這樣的程式碼。我都能做到,你也能,這太容易了。 ” 這段神操作讓 Alsup 被冠名 “ 會寫程式碼的法官 ” 並成了網紅,但這仍然只是兩家巨頭碰撞的一個小插曲。

2014 年,一家聯邦上訴法院推翻了加州法官 William Alsup 法官的裁決,裁定 API 可能受到版權保護。第二年,最高法院拒絕受理 Google 的上訴,讓上訴裁決得以維持。但這一決定讓 Google 的實施是否侵犯了 Java 版權的問題懸而未決, Google 啟動了案件的第二階段,辯稱 Android API 構成了公平使用。

2018 年,同一上訴法院裁定 Google 的操作是不合理使用,使 Google 面臨高達 88 億美元的賠償風險。最高法院本週一的決定推翻了這一裁決,允許 Google 繼續使用現有安卓程式碼而不受版權要求的威脅。值得注意的是,時任總統川普的副總檢察長已正式向最高法院請願,要求保留上訴裁決,實際上他在這場鬥爭中站在甲骨文一邊。

最高法院案件的口頭辯論已於去年 10 月舉行,為 API 所代表的內容開啟了各種華麗的隱喻。在一次交流中,大法官布雷耶將甲骨文的 API 聲明比作試圖擁有 QWERTY 鍵盤的版權。 “ 如果你現在讓別人擁有它的版權,他們就會控制所有的打字機,這和版權沒有任何關係。 ” 布雷耶說道。

開發者:這是一個勝利,一個開始

這一 “ 最終判決 ” 引來了人們的熱議,也讓業界鬆了一口氣:像 Google 與Sun在 Java 語言上的關係,以及開源軟體、 API 的內容借鑒在科技領域內並不少見。Google 全球事務高級副總裁 Kent Walker 對這次判決表示歡迎。 “ 最高法院的明確裁決是消費者、互操作性和電腦科學領域的勝利。該決定為下一代開發者們提供了法律上的確定性,他們的新產品和服務將使消費者受益。 Google 感謝來自全國消費者同盟,美國圖書館協會以及知名公司、新創企業、美國領先的軟體工程師和版權學者等眾多組織的支持。 ”

另一方面,甲骨文的回應是抨擊 Google 的技術統治地位。 “ Google 的平台正在變得越來越強大,市場地位越發重要,這也讓市場進入的門檻變高,競爭變小。他們竊取了 Java ,打官司花費了幾乎十年,以維護自己的壟斷位置。這種行徑正是全球和美國政府監管機構正在調查 Google 商業行為的原因。 ” 甲骨文總法律顧問兼執行副總裁 Dorian Daley 說道。

在社交網路上,開發者們對於判決的討論也很多,不過有人指出這次勝利可能程度有限。Hackernews 網友 jxf 表示: “ 雖然判決結果大快人心,但我認為這並不像我所注意到的一些新聞報導所聲稱的那樣具有決定性。一個懸而未決的大問題是, API 是否具有版權?法院迴避了這個問題,而是著眼於它是否合理使用。 ”

為了解決該案,美國最高法院僅需作出對於特定情況的判決。出於辯論的理由,法院認為複製的程式碼行可受版權保護,並著眼於 Google 對這些程式碼行的使用是否是 “ 合理的使用 ” 。也就是說,這種判斷確實建立了一個先例,如果你複製 API 主要是為了匹配接口以便開發人員可以實現某些功能,那麼你就處於合理使用的範圍內。

無論如何,這是 Google 的一場大勝。

參考內容:

  • https://www.reuters.com/article/us-usa-court- Google -oracle/us-supreme-court-backs- Google -over-oracle-in-major-copyright-case- idUSKBN2BS1A9
  • https://www.theverge.com/ 2021 / 4 / 5 / 22367851 / Google -oracle-supreme-court-ruling- Java – Android – API
  • https://www.theverge.com/ 2017 / 10 / 19 / 16503076 /oracle-vs- Google -judge-william-alsup-interview-waymo-uber

虎嗅網》授權轉載

【延伸閱讀】

 
週餘
 
 
分享文章
分享至 Line
分享至 Facebook
分享至 Twitter
相關個股
收藏 已收藏
很開心您喜歡 虎嗅網 的文章, 追蹤此作者獲得第一手的好文吧!
虎嗅網
分享至 Line
分享至 Facebook
分享至 Twitter
相關個股
地圖推薦
 
推薦您和本文相關的多維知識內容
什麼是地圖推薦?
推薦您和本文相關的多維知識內容