紧咬 9 行代码,索赔超 10 亿美元

新闻

  1. 谷歌做了一个艰难的决定:安卓系统不再用甲骨文的私有 Java API 了

    2015年12月 29 日有人在 Hacker News 上爆料,安卓代码库中出现了神秘的代码提交(commit),修改了 8902 个文件,大家开始猜测,谷歌这是要用 OpenJDK 换掉 Android 系统中在用的 Java API。至于为什么会有这个决定,建议看看伯乐在线的这篇文章《(甲骨文)紧咬9行代码,索赔超10亿美元》。

紧咬 9 行代码,索赔超 10 亿美元


背景 

甲骨文和谷歌之间的 Java 版权诉讼案从 2010 年 8 月起,已经有 5 年多了。2015 年 6 月,美国高等法院驳回谷歌的上诉,维持原判(即:判定 API 受版权保护,谷歌侵权)。

2015 年 10 月案件退回美国地区法院,由 William Alsup 法官再次审理。这位法官曾在 2012 年推翻了陪审团认为谷歌侵权的意见,称 API 不应该受版权保护。

这个案子最近又有新进展了。William Alsup 法官邀请了一位经济学教授来评估 Android 的 9 行代码是否侵权,这彻底的激怒了甲骨文。甲骨文表示这位教授根本没有能力评估代码。

备受争议的 9 行代码,可入选最贵的代码段

OpenJDK 中的那 9 行代码:

1
2
3
4
5
6
7
8
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);
     }

Google 用了的那 9 行代码:

1
2
3
4
5
6
7
8
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);
     }

这两段代码都是 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》

你可能感兴趣的:(OpenJDK,javaapi)