图解Oracle诉Google Android对Java的巨额侵权案

简介:

 树大招风。这句话用到 Google 现已占统治地位的移动操作系统 Android 身上再合适不过了。旷日持久的 Oracle 诉 Google 在 Android 中不 “合理使用” Java API 的巨额侵权案已经接近尾声。本周,一个 10 人陪审团正在旧金山进行闭门讨论,如果 Google 败诉的话,将面临高达 90 亿美元的天价赔偿。下面我们通过几张片子来梳理一下这个案件缘由。

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 诉讼的主题是 Google 通过使用 Java API 来走 “捷径”。当时 Google 为了尽快占领移动市场,包括 Larry Page 和施密特在内的高层都给了 Android 之父 Andy Rubin 巨大的压力。但 Rubin 如果能按期交付的话,则可以拿到 6000 万美元的奖金。值得注意的是,当时的 Java 还属于较具开放精神的 Sun 公司所有,后来才被创始人以专断著称的 Oracle 收购(收购金额为 74 亿美元)。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 提出,在众多使用了 Java 的公司里面,只有 Google 的软件实现未经授权。而 Google 则提出那些公司的授权是不一样的,授权里面还包括了实现代码、商标以及 Java 品牌推广。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

诉讼的焦点在于什么是 “合理使用”。Oracle 的代理律师提出合理使用有 4 个要素。1 是用途是否商业性,2 是是否具有创造性,3 是使用是否实质性(持续、规模),4 是使用是否对市场构成伤害。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 举例说明,像新闻报道、评论、教学等(红色打叉部分文字)可以算是合理使用,但 Android 不符合合理使用的任何特征。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

关于商业性。Google 不否认 Android 是商用的,但声称其他因素更重要。Oracle 则重点攻击 Android 的盈利,指出 Android 已有 420 亿美元的收入。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 还引用当时的 Google CEOLarry Page 的话证明 Android 大获成功,2012年 他说 Android 每天的手机激活数为 70 万。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 的观点是 Android 里面的 Java API 是非法复制的代码。不同 Android 版本的代码量略有不同,但所有版本的 Android 都包含有非法复制的代码。(注 1:此间还引发了对什么是 API 的定义之争;注 2:Google 确认新版的 Android N 将弃用 Java API改用 Oracle 开源的 OpenJDK )

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Android 的相关代码也不应该被认为是 transformative 的,因为其 Java API 执行的目的与 Java 的是一样的。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

这张片子是想证明 Android 并非从零开始开发。Oracle 指出 Android 代码中只有 23%是自己写的(其中 9%还是空行),利用第三方开源的部分占了很大一部分。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Google 强调自由使用 API 是业界的通行做法,但 Oracle 试图证明 Google 是知道 Java API 是受版权保护的。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

对 Google 不利的是 Oracle 弄到了 2010年 在 Oracle 发起诉讼前几天写给 Andy Rubin 的一封邮件,里面提到他们试过替 Android 和 Chrome 寻找 Java 以外的替代方案,但那些替代方案都很糟糕,所以需要协商 Java 的授权问题。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 试图用这张图说明 Google 欺诈的事实。上面是按照时间顺序摘录的邮件内容,比如 2006年Rubin 承认 “java.lang 是受版权保护的”;程序员 Dan Bornstein 督促源码里面要 “多删除几个 J 开头” 的代码;而一位 Apache Harmon 的程序员则指责 Android 剽窃 Oracle 的知识版权。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

对于 Oracle 来说,一大麻烦是前 Sun CEO Jonathan Schwartz 站在了 Google 这边。他明确表示使用 JavaAPI 是可以的。但是 Oracle 以 Schwartz 私下在邮件中抱怨 Google 不受版权法约束为由说他欺诈。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

控辩双方利用了各种隐喻手法。Google 把 API 比作饭店菜单,而 Oracle 则拿 API 跟系列小说的书名、章节标题、中心句相提并论—比方说像哈利波特这样的小说。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

有关 API 是否需要足够创意从而受到版权保护已经尘埃落定。但 Oracle 仍然紧抓不放,尤其是副总裁 Mark Reinhold 出席作证时。(用想要什么样的类?类的关系应该如何考虑?方法的关联性应该怎样?需要什么样的结果?类之间的接口应该怎样?等问题说明 API 不是那么简单的。)

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 敦促陪审团不要把侵权代码量(牵涉到 JavaAPI 的代码仅占 Android 1/10)作为量刑考虑。因为他们的专家称之为 “Android 的核心” 并作出了这幅软件关系图。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

最后 Oracle 提出了一个很难令人信服的观点:如果没有 Android 的话 Java 的业务本来可以做得很大。这种图想要说明 Java ME(移动版的 Java)一度是很成功的,而他们视之为 Java SE 的衍生品。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

Oracle 证人把 Android 对其 Java 授权业务的影响描述为 “毁灭性” 的(注:好吧,如果 Oracle 花了 74 亿美元收购 Sun 为的是通过 Java 授权赚回来的话)。Oracle CEO Safra Catz 作证称:

许多我们以前要授权才能拿到拷贝的公司因为用了免费的 Android 之后就不再买我们授权了。

 

图解Oracle诉Google Android对Java的巨额侵权案

 

基于 Java 的手机(功能机)与 Android 呈此消彼长之势是没有异议的。问题是,Google 有没有不正当竞争呢?

API 是否开源自由使用是本案的焦点。如果 Google 败诉的话,势必会改变今后软件开发的游戏规则,对如何利用版权法保护软件也将产生深远影响。这个案子的判决不仅关乎 Google 的利益、Android 的前途,从更广的意义来说,还影响着在这个日益关联的世界里的开发者未来如何生存的问题以及开源的未来,结果如何,我们拭目以待。 

 

本文转自d1net(转载)

相关文章
|
22天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第30天】 随着Kotlin成为开发Android应用的首选语言,开发者社区对于其性能表现持续关注。本文通过深入分析与基准测试,探讨Kotlin与Java在Android平台上的性能差异,揭示两种语言在编译效率、运行时性能和内存消耗方面的具体表现,并提供优化建议。我们的目标是为Android开发者提供科学依据,帮助他们在项目实践中做出明智的编程语言选择。
|
1月前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin在Android开发中的普及,了解其与Java在性能方面的差异变得尤为重要。本文通过深入分析和对比两种语言的运行效率、启动时间、内存消耗等关键指标,揭示了Kotlin在实际项目中可能带来的性能影响,并提供了针对性的优化建议。
30 0
|
27天前
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
7 0
|
29天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
17 4
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】 在移动开发领域,性能优化一直是开发者关注的重点。随着Kotlin的兴起,许多Android开发者开始从传统的Java转向Kotlin进行应用开发。本文将深入探讨Kotlin与Java在Android平台上的性能表现,通过对比分析两者在编译效率、运行时性能和内存消耗等方面的差异。我们将基于实际案例研究,为开发者提供选择合适开发语言的数据支持,并分享一些提升应用性能的最佳实践。
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能对比
【2月更文挑战第28天】 在Android开发领域,Kotlin作为一种现代编程语言,逐渐取代了传统的Java语言。本文通过深入分析Kotlin和Java在Android平台上的性能差异,揭示两者在编译效率、运行速度以及内存消耗等方面的比较结果。我们将探讨Kotlin协程如何优化异步编程,以及Kotlin Extensions对提升开发效率的贡献。同时,文中还将介绍一些性能优化的实践技巧,帮助开发者在Kotlin环境下构建更加高效的Android应用。
|
1月前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第27天】 在Android开发领域,Kotlin和Java一直是热门的编程语言选择。尽管两者都可以用于创建高质量的Android应用程序,但它们在性能方面的差异一直是开发者关注的焦点。本文通过深入分析Kotlin与Java在Android平台上的运行效率、编译时间及内存消耗等方面的表现,揭示两种语言在实际应用中的性能差异,帮助开发者根据项目需求做出更明智的选择。
|
2月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
487 0
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
2月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
24 0

推荐镜像

更多