緊咬 9 行程式碼,索賠超 10 億美元
背景
甲骨文和谷歌之間的 Java 版權訴訟案從 2010 年 8 月起,已經有 5 年多了。2015 年 6 月,美國高等法院駁回谷歌的上訴,維持原判(即:判定 API 受版權保護,谷歌侵權)。
2015 年 10 月案件退回美國地區法院,由 William Alsup 法官再次審理。這位法官曾在 2012 年推翻了陪審團認為谷歌侵權的意見,稱 API 不應該受版權保護。
這個案子最近又有新進展了。William Alsup 法官邀請了一位經濟學教授來評估 Android 的 9 行程式碼是否侵權,這徹底的激怒了甲骨文。甲骨文表示這位教授根本沒有能力評估程式碼。
備受爭議的 9 行程式碼,可入選最貴的程式碼段
OpenJDK 中的那 9 行程式碼:
Java123456789 | privatestaticvoidrangeCheck(intarrayLen,intfromIndex,inttoIndex){if(fromIndex>toIndex)thrownewIllegalArgumentException("fromIndex("+fromIndex+") > toIndex("+toIndex+")");if(fromIndex<0)thrownewArrayIndexOutOfBoundsException(fromIndex);if( |
Google 用了的那 9 行程式碼:
Java123456789 | privatestaticvoidrangeCheck(intarrayLen,intfromIndex,inttoIndex){if(fromIndex>toIndex)thrownewIllegalArgumentException("fromIndex("+fromIndex+") > toIndex("+toIndex+")");if(fromIndex<0)thrownewArrayIndexOutOfBoundsException(fromIndex);if(toIndex>arrayLen)thrownewArrayIndexOutOfBoundsException(toIndex);} |
這兩段程式碼都是 Joshua Bloch 寫的。
Bloch 曾經在 Sun 公司寫 Java API。2004 年他加入谷歌,2008年加入Android專案。不過,在谷歌工作時,他仍然在給由 Sun 公司控制的 OpenJDK 專案貢獻程式碼。
他的貢獻之一,基於 TimSort 演算法改進了陣列排序的實現。舊演算法和新演算法中都有 rangeCheck 方法,所以他從舊實現中複製了,作為“a temporary measure”。
Joshua Bloch 何許人也?
Joshua Bloch,Java 大牛。Java 程式設計師應該都聽過,即便你沒有聽過他的名字,那也肯定聽過他的這本書《Effective Java》。
早在1996年,適逢 Java 剛剛嶄露頭角。先是1月份釋出JDK1.0,然後是5月底在舊金山召開首屆JavaOne大會,年末又是JDK1.1緊跟其後。正是在Java技術如火如荼、大展拳腳的背景之下,JoshuaBloch來到了Sun。2004 年7月初,就在J2SE5.0釋出在即,Jusha Bloch剛剛榮獲Sun“傑出工程師(Distinguished Engineer)”的稱號之時,他突然離開Sun而去了正值發展態勢迅猛的Google,成為了Google的Java首席架構師。
2012 年 8 月,Bloch 離開了 Google。
關於索賠金額
- 彭博社 2015年11月19日報道:《Oracle Says Judge’s Expert Biased in $1 Billion Google-Java Case》
- PC World 2011年1月20日報道:《Google Disputes Possible $6 Billion Java Lawsuit Price-tag》
- ZDnet 2011年1月17日報道:《Oracle wants billions from Google over Android: And just might get it》
參考