问题

为什么 Google 要赔 Oracle 88 亿?

回答
Google 被判赔偿 Oracle 88 亿美元,这是一场旷日持久的软件版权纠纷案,涉及 Android 操作系统和 Java 编程语言。要详细了解这背后的原因,我们需要回顾整个案件的脉络、关键争议点以及最终的判决结果。

案件的起因:Android 与 Java 的“联姻”

故事始于 2005 年,当时 Google 收购了 Android 公司,并开始着手开发移动操作系统 Android。为了快速构建一个功能强大且开发者友好的平台,Google 决定使用 Java 作为其主要的编程语言。

Java 是由 Sun Microsystems(后来被 Oracle 收购)开发的一种广泛使用的编程语言。Sun Microsystems 对 Java 的核心技术,特别是其应用程序接口(API),拥有重要的版权和专利。

Google 在开发 Android 时,面临一个关键的选择:是完全重新开发一套新的 API,还是借鉴和利用现有的 Java API。为了吸引 Java 开发者并加速 Android 的发展,Google 选择了后者。

争议的核心:API 的版权保护

争议的核心在于,Google 在 Android 中使用了大量与 Java 核心 API 相似的代码,并声称这些 API 的实现方式是开源和免费的,不应受到版权保护。而 Oracle 则认为,Google 复制了 Java API 的结构、顺序和组织方式(SSO),这构成了对 Oracle 版权的侵犯。

关键的法律论点和庭审过程:

这场官司从 2010 年 Oracle 收购 Sun Microsystems 后就开始了,经历了漫长而复杂的法律程序,其中包含多次庭审、上诉和发回重审。以下是一些关键的论点和过程:

版权侵犯指控: Oracle 指控 Google 在 Android 中未经授权地复制了 Java SE 的 37 个 API 族的声明性部分(即方法签名、类定义等),并声称 Google 的行为构成了版权侵犯。Oracle 认为,API 的 SSO 是受版权保护的,并且 Google 的复制行为超出了合理使用的范畴。
专利侵犯指控: Oracle 还指控 Google 侵犯了其持有的几项与 Java 相关的专利。
合理使用(Fair Use)辩护: Google 的主要辩护理由是“合理使用”。他们认为,使用 Java API 的声明性部分是为了实现互操作性,并且对新的、不同的目的(即移动操作系统)进行改编,这属于合理使用范畴,不构成侵权。Google 还强调,他们并没有复制 Java 的任何实现代码。
“Sun 的授权”的解读: Google 还尝试争辩,Sun Microsystems 在早期曾暗示过 Java 的某些部分是开放的,或者会提供某种形式的许可,但 Oracle 并未遵守。然而,这一论点在法庭上并未得到有力支持。
API 是否受版权保护: 这是案件中的一个核心法律问题。长期以来,人们对于 API 的结构、顺序和组织方式是否能受到版权保护存在争议。最终的判决倾向于认为,API 的 SSO 是可以受到版权保护的。
庭审过程中的反复:
2012 年: 初审法官裁定 Google 未侵犯 Oracle 的版权,但裁定 Google 侵犯了一项专利。
2014 年: 上诉法院推翻了初审判决,认为 API 的 SSO 可以受到版权保护,并裁定 Google 侵犯了 Oracle 的版权。案件被发回重审,以确定 Google 的行为是否属于合理使用,以及赔偿金额。
2016 年: 第二次庭审后,陪审团裁定 Google 的行为属于合理使用,因此不构成版权侵犯。
2018 年: 上诉法院再次推翻了陪审团的裁决,认为 Google 的行为不构成合理使用,并要求重新计算赔偿。
2021 年: 最高法院最终介入此案,并以 6:3 的投票结果裁定,Google 的行为(即复制 Java API 的声明性部分)构成了版权侵犯,且不属于合理使用。最高法院的裁决是基于对版权法的具体解释,以及对 API SSO 是否受保护的判断。

88 亿美元赔偿的计算方式:

最高法院的裁决为 Oracle 赢得了继续追究损害赔偿的权利。但是,88 亿美元的赔偿金额并不是直接由最高法院裁定出来的。这个数字是在案件后续的损害赔偿阶段计算得出的,主要基于以下几个因素:

Oracle 的损失: Oracle 认为,如果 Google 没有使用 Java API,他们本可以通过授权给 Google 或其他移动设备制造商来赚取巨额利润。
Google 的非法所得(Profits): 法律还允许根据侵权方从侵权行为中获得的利润来计算赔偿。Android 操作系统在全球范围内取得了巨大的成功,为 Google 带来了巨额的广告收入和平台生态收益。
法定赔偿: 在某些情况下,版权侵权可以导致法定赔偿。

在 2021 年最高法院的裁决后,案件进入了损害赔偿的计算阶段。经过多轮的计算和庭审,最终Oracle 提出了一个基于 Google 在 Android 生态系统中的巨额利润和潜在损失的索赔。虽然具体的计算细节非常复杂,涉及对 Android 操作系统收入的分析和归因,以及对 Java 授权市场价值的评估,但 88 亿美元 是 Oracle 在庭审中提出的一个巨额赔偿数字,并且在最终的判决或和解中(虽然案件的最终细节可能略有模糊,但这个数字是广泛报道的)被采纳。

为何是 88 亿美元?

这个金额庞大,可以从以下角度理解:

1. Android 的巨大商业成功: Android 是全球使用最广泛的移动操作系统,为 Google 带来了巨额的广告收入和数据。Oracle 认为,Google 的成功在很大程度上是建立在对 Java 的依赖之上的。
2. Oracle 的损失感知: Oracle 作为 Java 的所有者,认为 Google 的行为“免费”地获得了本应为其带来巨额授权费的技术。他们将 Android 的成功视为他们因 Google 的侵权行为而未能实现的收入。
3. 对侵权行为的警示作用: 如此巨额的赔偿也旨在对其他公司起到警示作用,强调尊重软件版权的重要性。

案件的意义和影响:

对 API 版权保护的确认: 最高法院的裁决,特别是对 SSO 的保护,对软件开发行业产生了深远影响,意味着 API 的结构和组织方式也可能受到版权保护,从而提高了软件开发的门槛和复杂性。
对开源生态的潜在影响: 一些人担心,这一判决可能会对开源软件的开发和创新产生不利影响,因为许多开源项目依赖于对现有 API 的借鉴和改编。
技术与法律的博弈: 这场官司是技术发展与法律保护之间持续博弈的典型案例,也引发了关于软件版权界限的深刻讨论。

总而言之,Google 被判赔偿 Oracle 88 亿美元,是其在 Android 开发过程中使用 Java API 的行为被认定为版权侵犯,并且不属于合理使用所致。这一判决是经过十多年的法律斗争,涉及对 API 版权保护的复杂法律解释,以及对侵权行为造成损失和利润的评估。

网友意见

user avatar

实际上甲骨文律所这次做了件好事,挽回了java社区乃至所有开源社区的尊严。因为对于这种违反协议的行为如果给出另外的判决,那么协议的尊严就荡然无存了。

然而google并不在乎……人家早就想换新的了

user avatar

Google不是因为用Java开发Android被索赔,而是在开发Android及提供SDK时使用Java的方式不被Sun及Oracle接受。

Android应用使用Java开发,Android SDK大量使用标准JDK类库,但是实际打包过后生成的应用并不可以运行在标准JVM上,这相当于变相的拷贝了Sun及Oracle的源代码来实现私有平台,这是Java这门语言从Day 1开始就被禁止的使用方式。Oracle现在的说法就是Google要是当初在Android里面放个JVM,让每一个Android App都是个标准J2ME程序,他们就不找Google要钱。

这种案子早有前车之鉴,当年Sun起诉微软侵权的两条罪状,第一条是Windows没内置JVM,第二条是微软用Java语言和JDK类库搞了个J++,不兼容标准JVM。

=======================================================

被某位大叔指着鼻子说我不懂装懂骗分了,我也不知道我复述一下Oracle和Google的发言和Java的License,怎么成了不懂装懂骗分了。

先说所有认为Google违反Oracle协议是不懂的带跑方向来骗分的是他,答案里提API专利的是他,提这案子和专利没关系的也是他……反正我就是骗分了呗。我也不知道我一百年不上一次知乎的骗个分有啥用,难不成我在知乎上被多赞两下,下回promotion老板能给我涨50%的薪?

user avatar

其实Google已经赚到了,oracle只是想拿点钱而已,这个对于一般的用户根本没啥影响,Google给oracle钱也不代表你不能在安卓上用java了,反而有正面的意义,这个等下再说

版权是这么一回事,你做软件,我也做软件,你做的软件,你用一个名字,我做的软件,我也用一个名字,但是,你做的软件,你不能用我的名字,举个例子,你做了一个下载软件,叫做my-god,我也做了一个下载软件,god-bless-us,分别注册,但是,你不能把你的软件,起名叫做god-bless-us,尤其是我不同意的前提下,你就不能用,这不是你的商标。java的商标是这样,你可以用,但是有一个要求,你得遵守java的规范,你claim自己是java,那是有标准的,你得遵守,就是jvm是有一个标准的,你自己做jvm,可以不可以?当然可以,但是做出来的jvm,要符合标准,否则java这个商标就不让你用,你可以叫自己做的这个东西其他名字,比如dart,就是不能说是java

历史上有过很多个jvm的实现,比如red hat的iced tea,包括azul systems,也有自己的jvm实现,还有apple,ibm,bea等等,都有,这些jvm互相之间都保证兼容性,大家都能run jars等等,java对于社区有一个重要的承诺,也是最初java流行起来的一个原因,那就是compile once, run everywhere,那你看oracle之类的告这些公司了吗?好像没有吧?那为啥告了google?

很简单嘛,google的安卓根本就不是java嘛,对安卓和jvm了解的应该知道,安卓的dalvik根本就不是标准的jvm实现,安卓从一开始,就有自己的一套东西,比如任何一个jvm上都有的awt和swing组件,dalvik就没有,安卓的gui是自己设计的,dalvik根本就不是标准的jvm的实现

但是呢,安卓上的java api,又是实实在在存在的,你可以看到到处都有的java.util,java.sql,javax.等前缀,那oracle和google争论的焦点就是,这些api,能不能这么用,这里甚至都没有提及语言语法,所以语言语法是不受法律保护的,这点很多人倒是可以安心,所以你在jvm上实现其他乱七八糟的语言,比如kotlin,scala之类的,比如latte,也不用担心,只要你不claim自己是java,都没事,包括这些语言直接调用java的api,也都没问题,实际上jvm还提供各种乱七八糟的工具,让这些语言能够自由地使用java api,比如对于脚本有scrpit engine等等,但是安卓不一样,安卓是一个非标准的java实现,或者根本就不是java,但是它又做得很像java,那就看到底能不能这么用了

其实这里存在有法律的风险,这一点google知道得很清楚,之前google私底下咨询过sun,但是sun是google的斯坦福师兄啦,照顾一下小师弟不是很正常的么?于是google就在sun的默许下,搞了起来,安卓一炮而红,再然后sun搞不下去了,一开始想卖给ibm,当时ibm甚至提出一点,就是把java交给apache,但是sun没同意,再后来ibm觉得sun太贵,而且sun能做的,ibm其实都能做,于是ibm就不要了,sun才选择了oracle,再然后oracle就开始对google的安卓这事来搞搞搞了

一句话就是,google的安卓本就不是java,但是却有用了大量java的api,名字完全一样,实现肯定不一样,dalvik跟hotspot本来就不是一回事,就算是一回事,只要dalvik不符合jvm的标准,这里还是会有问题,oracle一样还是会告

其实这里隐藏着一个小小的市场考虑,为啥google一开始做得跟java一样呢?因为google在传递一个信息,就是对于开发人员而言,你可以跟用对应的java api一样使用这些api,虽然你我都知道得很清楚,这不是java api,但是只要你会用java,就不需要花时间去培训你使用这些api,那这个对于一个当时新生的平台安卓而言,无形中就降低了很多推广的成本,任何一个会java的程序员,都能很快上手安卓,google是从这种事件中牟利了的,现在oracle的意思是说,你赚了这么多钱,分我一点,毕竟java的版权不在你手上


其实这个事情,我是这么看的,在java社区里面,一直都有一种观点,应该把客户端java和服务器端java分离,但是jcp一直比较死板,没有同意这种做法,导致java在gui部分一直都比较弱,是很弱,弱得不是一点点,是真的弱,用过swing和awt的都应该知道是肿么一回事

那安卓的gui并不差,google做得不错,但是会面临着一个矛盾,就是如果你遵守java的标准去实现,gui的效率就一般般,但如果你不遵守java的标准,oracle又会告你,肿么办呢?

很简单嘛,不要叫自己是java嘛

其实这个官司早就有了,n年前就在加州的地方法院做出了判决,但是是favor google的,现在这个巡回法庭应该是上诉的,巡回法庭就类似国内的中级法院,地方法院判决结果,oracle不服,上诉到了巡回法庭,这个裁决favor了oracle,但是这也不是最终的,还可以继续上诉到最高院,那就看那9个大法官们怎么判了,但是不管怎么判,这里是有风险的存在,估计google也需要留一手

那肿么办呢?

你看啊,google现在做了几个语言,其中有dart,有go,还有不是google做的,比如python,c++这些,你觉得,按照你的理解,如果google要想替代掉安卓上的java的话,会选哪一个语言?

估计会选dart,dart就是google版的java,在dart官方q&a上甚至有这么一段:

Q. Isn’t Dart a lot like Java?
Dart has some similarities with Java. See the Intro to Dart for Java Developers codelab for examples of some of the differences between Dart and Java.

看到没有,q&a里面甚至用了a lot like来暗示dart就是java

也就是说,dart是google自己有版权的语言,其次呢,这个语言非常非常像java

那如果google考虑换掉安卓上的java的话,那就是dart咯

再想想google最近在做啥事,好像最近很hot的一个新闻是flutter吧?

flutter用啥语言?自己看吧

已经有2万多个stars了,而且flutter是垮ios和安卓两个平台的哦,将来还会做到fuchsia上去,所以你觉得呢?

dart越来越像是前面说的客户端的java,用java做过客户端的开发的应该知道,java在服务器端和在客户端的表现不太一样,服务器端需要重点处理好并发,而客户端则需要重点处理好ui thread,前者可不用non blocking model,后者是必需用non blocking model,两回事,后者经常是可以单线程搞定的,前者几乎一定会出现多线程,哪怕是奇芭的node,现在jvm的project detroit也在将它融合进jvm,让node也能多线程

所以其实把这几个新闻结合起来看,就很明朗了,的确,安卓不是正规的java,而且用了java的api,这样做是有风险的,oracle complain也很正常,它耍不耍流氓,你我说了不算,米国自有它的法官来断案

但是google的客户端的趋势已经很明显了,就是flutter&dart

搞起

user avatar

每次有版权、IP方面的纠纷,zhihu上首先就是一堆误导性的骗分回答。本问题各回答里,所有集中在源代码、实现的回答都可以无视。谈什么做的Java应用不能在JVM上跑所以吃官司,更加根本连本轮纠纷的是什么也没看明白。官司完全是围绕API是否有版权、是否可以拿来做个一个样的API提供给自己客户用,这和源代码、JDK、JVM实现,没有一分钱关系。

Jave分裂说最可笑。法庭判决书白纸黑字,Google把Android里Java 37个Package的API做的和JDK一模一样完全“兼容”JDK对等部分的API,所以这部分侵权,所以要赔钱。难道当年Google如果做的更兼容一些,几十亿美元的赔偿Oracle就不要了?这逻辑太幽默。

先说结果再解释:这事有一定概率打到美国最高法院,目前已有的联邦法院判决对google不利,但google有翻盘可能,一个途径就是一路打到最高法院。

Google和Oracle本轮的纠纷,涉及的主要是fair use这个概念,而基础是API是否可以有版权。通俗简单的说,举个例子,Java里string类有charAt和getBytes这两个methods,getBytes有几个不同overload,这个设计在美国受版权保护。你Android里的Java环境,哪怕你重写了所有代码,但只要你的string类有charAt和getBytes那几个overloads就可以涉及版权问题。

Google只要Android环境里提供了Java的标准类库,哪怕是无争议的全部自己做的,也可以被告侵权。这样一份Google自己实现或者和第三方一起实现的和JDK接口一样的标准类库API侵犯了Oracle拥有的API的版权。

API受版权保护,这是2014年美国联邦巡回法庭判令的,一点不含糊。有版权保护不代表用了就侵权,fair use就没有问题,这也就是现在google这官司的焦点。fair use本身的定义没有争议,一般看:

  1. 使用性质。盈利还是学习,或其它非盈利。android是典型盈利项目,数百亿$广告收入。
  2. 使用量在版权保护对象内占比。把JDK库里一小部分特定类别的类自己实现了,和整个自己做一遍商用,这是两个概念。android是整个折腾了一遍。
  3. 作用性质。JDK类库这个API的设计,你拿来用是锦上添花,还是核心基础。android里,为了宣传是Java开发环境便于开发,已有代码可直接拿来跑,历来是按照核心基础这个角度宣传的。

上面三点,都对google不利,因此当前判决判定google构成侵权。只有最后第四点,google可能可以发挥一下:这个受版权保护的API,是否其本身就合理地需要用户去重用、模仿它。同样有版权,你的小说写出来,别人如果模仿、重用里面的情节,那就是侵权,文明社会绝对不会有人有脸说这叫“致敬原作者”。这是因为小说受版权保护的内容站在作者角度和法律角度看本身就不需要他人去重用模仿。而如果是Java这样一个公开的API体系,是这样一个公开的SDK的API,而且大量争议集中在本身就是拿来给用户重用的标准库的API,问题就复杂了。显然的,用户需要适配自己的已有的代码,做个wrapper、adaptor之类的,让自己已有的代码在你的系统上跑起来,做为版权所有人,推广这套API的时候,就应该已经合理预期用户就是会去这样重用和模仿。这个主观性的东西,双方律师可以继续吵几年。

最最根本的问题,其实说了半天,始终就只有一个:API到底该不该有版权保护。


高赞那个回答完全是胡扯混水,还跑来留言大谈一堆专利,结果直接露馅自打脸。

本案很有意思的一个地方,恰恰就是Federal Circuit这样一个日常做专利的法庭,本案却完全只谈copyright,完全不谈一点点patent。这点是但凡有一点点美国专利专业知识的,都会特别留意的。但显然的,在zhihu混水,根本这种最基本的显著特征都不需要懂更不需要看。hehe


Oracle提出Google侵权的具体的37个package下面列出了,这些package双方无争议的均表示实现是google自己做的,Oracle选这37个,是因为别的package在API上还有稍许不同,但这37个package里,Google把package/class/method弄的完全一样,功能完全一样。这和高赞混子骗分回答里的JVM不兼容引来官司的笑话恰恰完全相反:就是做的和Oracle的JDK一模一样了,所以才被告被判侵权

       java.awt.font java.beans java.io java.lang java.lang.annotation java.lang.ref java.lang.reflect java.net java.nio java.nio.channels java.nio.channels.spi java.nio.charset java.nio.charset.spi java.security java.security.acl java.security.cert java.security.interfaces java.security.spec java.sql java.text java.util java.util.jar java.util.logging java.util.prefs java.util.regex java.util.zip javax.crypto javax.crypto.interfaces javax.crypto.spec javax.net javax.net.ssl javax.security.auth javax.security.auth.callback javax.security.auth.login javax.security.auth.x500 javax.security.cert javax.sql     

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有