所有判決被推翻,美最高法院:Java版權世紀大案,谷歌戰勝甲骨文

機器之心編輯部

美國最高法院終於在法律上認同了程式設計師們的技術共識:API 不應享有版權。

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

4 月 5 日,美國最高法院裁定谷歌在構建 Android(安卓)軟體時可以合法使用甲骨文(Oracle)的 Java 程式碼,作為應用程序程式設計接口(API)程式碼的元素。

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

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

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

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

美國最高法院法官現在得出的結論是,允許程式設計師訪問其他程式碼的 API 與其他類型的計算機程序有很大的不同。

「作為界面的一部分,被複制的程式碼行與不可複製的思想固有地捆綁在一起…… 並激發了新的創造表達,」大法官斯蒂芬 · 佈雷耶(Stephen Breyer)在判決意見中寫道。「與很多其它計算機程序不同,複製的程式碼行的大部分價值來自於開發人員對生態系統的投資,而不是程序的實際操作。谷歌使用該 API 來讓 Java 程式設計師構建安卓應用,法院宣佈這從根本上是一種變革性的用途。」

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

美國最高法院大法官斯蒂芬 · 佈雷耶

美國最高法院大法官斯蒂芬 · 佈雷耶。

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

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

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

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

甲骨文訴谷歌案(Oracle v. Google),是一場有關矽谷科技巨頭是否抄襲另一家著名軟體公司的程式碼,來開發全球最流行手機作業系統的爭議。

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

1995 年,矽谷傳奇公司 Sun Microsystems 推出了面向 Internet 的高級程式語言 Java,其易於上手、跨平臺的特性使其不斷發展,在多年發展過程中逐漸成為了業界開發 Web 應用程序的首選語言。

與此同時在 2005 年,谷歌則收購了 Android 公司,繼續其主要項目——使用 Java 開發 Android 作業系統,在這期間谷歌拒絕了 Sun 方面的提議:若使用為期 3 年的 Java 許可,需支付 2000 萬美元,外加谷歌與 Android 有關的收入的 10%(上限為 2500 萬美元)。

2009 年,甲骨文斥資 74 億美元收購了 Java 的原始開發者 Sun。在賣身之前,Sun 決定將 Java 開源,然而幾個月之後,甲骨文即對谷歌發起了訴訟。

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

甲骨文起訴提及的 37 個 API 如下:

    java.awt.fontjava.beansjava.iojava.langjava.lang.annotationjava.lang.refjava.lang.reflectjava.netjava.niojava.nio.channelsjava.nio.channels.spijava.nio.charsetjava.nio.charset.spijava.securityjava.security.acljava.security.certjava.security.interfacesjava.security.specjava.sqljava.textjava.utiljava.util.jarjava.util.loggingjava.util.prefsjava.util.regexjava.util.zipjavax.cryptojavax.crypto.interfacesjavax.crypto.specjavax.netjavax.net.ssljavax.security.authjavax.security.auth.callbackjavax.security.auth.loginjavax.security.auth.x500javax.security.certjavax.sql

    另外,甲骨文曾經還起訴谷歌抄襲了 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 的函數上。在甲骨文測試的共計 1500 萬行程式碼中,只有這一部分是「逐字逐句」抄襲的,甲骨文律師採取鼓吹該函數重要性的策略試圖證明谷歌的抄襲。為了驗證甲骨文提出的可能性,Alsup 法官甚至親自上手嘗試寫程式碼。

      「在接手這個案子之前,我對 Java 一無所知,」這位法官說。「但是現在我已經寫了很多程式碼,也已用很多其他語言編過程序,現在也還在程式設計。我寫過一百多段 rangeCheck 這樣的程式碼。我都能做到,你也能,這太容易了。」

      當甲骨文的律師試圖繼續講話時,法官變得越來越憤慨了。當時留下了這樣的庭審記錄。

      這段神操作一時讓 Alsup 被冠名「會寫程式碼的法官」成了網紅,但它仍然只是兩家巨頭碰撞的一個小插曲。

      加利福尼亞州北區地方法院法官 William Alsup。

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

      2018 年,同一上訴法院裁定谷歌的操作是不合理使用,使谷歌面臨高達 88 億美元的賠償風險。最高法院本週一的決定推翻了這一裁決,允許谷歌繼續使用現有安卓程式碼而不受版權要求的威脅。

      值得注意的是,時任總統川普的副總檢察長已正式向最高法院請願,要求保留上訴裁決,實際上在這場鬥爭中站在甲骨文一邊。

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

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

      這一「最終判決」引來了人們的熱議,也讓業界鬆了一口氣:像谷歌與 Sun 在 Java 語言上的關係,以及開源軟體、API 的內容借鑑在科技領域內並不少見。

      谷歌全球事務高級副總裁 Kent Walker 對這次判決表示歡迎。「最高法院的明確裁決是消費者、互操作性和電腦科學領域的勝利。該決定為下一代開發者們提供了法律上的確定性,他們的新產品和服務將使消費者受益。谷歌感謝來自全國消費者同盟,美國圖書館協會以及知名公司、初創企業、美國領先的軟體工程師和版權學者等眾多組織的支持。」

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

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

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

      但無論如何,這是谷歌的一場大勝。

      參考內容:

      https://www.reuters.com/article/us-usa-court-google-oracle/u-s-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

      相關文章