开发者必知:谷歌做了一个艰难的决定

谷歌做了一个艰难的决定:弃用Java APIs。


所谓人红是非多,所以Android的崛起,必定伴随着战争。其中最具代表性的,最有争议的莫过于甲骨文和Google的官司了。

事件回顾:

自2010年起,两家公司关于Android系统的一部分是否侵犯了甲骨文的版权和专利,一起争论不休,因为系统中使用了甲骨文拥有的Java。整个官司既持久,又充满戏剧性。从2010年8月算起,已经有5年多了。到了今年6月份,甲骨文在这起诉讼中赢得了重大法律胜利:美国最高法院拒绝就此案受理谷歌的上诉。这也就意味着驳回了Google的上诉,维持了原判:判定 API 受版权保护,Google侵权。在美国最高法院做出不受理谷歌上诉的裁定后,这起诉讼将返回到旧金山联邦法院,由该院就谷歌另外提出的“合理使用”的辩护观点举行更多庭审。

这起诉讼的焦点在于,用于连接不同软件的应用程序接口 (API)是否也受版权法的保护。官司起因就是:甲骨文扫描了1500万行Android源代码,发现了9行代码是拷贝自Java。

这最具争议,最神奇的九行代码如下:

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,是一位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首席架构师。在离开Google之前他一直是Dart平台和Dart语言核心库的主要架构师,2012年8月23号Joshua Bloch离开了Google,对于Dart应该不至于是个毁灭性地打击,但肯定是一个巨大的损失。

事件回顾完毕,回到今天的事情上来,据悉:谷歌将在下一代Android系统Android N中用甲骨文(Oracle)公司的开源代码OpenJDK来替代后者的Java APIs,此事最先在上个月由Hacker News贴出的一段神秘安卓代码库露出,目前VentureBeat已得到谷歌的正式确认。

官方回应如下:

作为一个开源平台,Android建立在合作共生的开源社区之上。在下一版的Android系统之中,我们计划将Java语言库替换为以OpenJDK为基础创造出来的通用代码库,便于让开发者开发app和服务。谷歌常年为OpenJDK做贡献,未来还将继续下去。

其实在公理上谷歌是理亏的,此举想必也是迫于压力与常年消耗战带来的疲惫。虽然OpenJDK是Java SE的中的代码,同样隶属于甲骨文,但它是开源的,且Java SE在2007年诞生之时甲骨文还没有收购Sun Microsystems、拥有Java。Android提供一些Java API代码库来支持开发者用Java编程语言开发应用,主要分为两部分:代码库的APIs,以及谷歌为了让代码库工作而开发的执行代码。甲骨文拥有Java,并有两个这种代码库:专有JDK和开源OpenJDK。谷歌使用的是后者,并已在某些领域有了应用,意味着其将分享这些执行代码。

安卓代码库中出现了神秘的代码提交,修改了 8902 个文件,从这段代码库的改动可以看出OpenJDK代码已经被加进Android:

Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to libcore/ojluni/src/main/native: [long list of files]

虽然官司尚未结束,但是审判结果将会在科技界产生重大影响,如果甲骨文胜诉,科技巨头们将不再能随意使用存在版权的API包了,谷歌若是败了,将损失数十亿美元。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,856评论 25 707
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,737评论 22 665
  • 大丈夫当娶天下为妻,当以天下为家;当为天下所谋,当为天下所忧;当结天下为友,当树天下为敌;当知天下之事,当顺天下之...
    梁喷喷阅读 383评论 0 0
  • 这几天有机会去到重庆,重庆作为直辖市确实发展的很好。市中心基本完成开发建设,高楼林立,街道干净整洁。尤其是夜晚的重...
    门前池塘阅读 224评论 0 0
  • 时间:2017.01.16 非常赞同一句话“你是自己的骄傲,尤其应该骄傲于那些让你“与众不同”的特质,并把它用作你...
    蠢眠不覚晓阅读 169评论 0 0