和Google的Java版权案里,Oracle真就那样遭人恨吗?

Posted 聊聊架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了和Google的Java版权案里,Oracle真就那样遭人恨吗?相关的知识,希望对你有一定的参考价值。

作者 |  Vasiliy Zukanov
编辑 | 无明

3 月底,聊聊架构报道了 Oracle 与 Google 官司的最新进展,美国联邦巡回法院裁定,谷歌在 android 上使用了大量 Java 代码,侵犯了 Oracle 的版权。版权之争在 2010 年就已立案,当时 Oracle 向 Alphabet 公司提出至少 88 亿美元的赔偿。

替 Oracle 说句话,大家别看很多文章的标题呀。Java 8 停更,这真不怪 Oracle,是 Sun 也会这么整。Java One 大会只是为了顺应趋势,换了方向,换了名字,并没有停掉。和 Google 的官司,更不是开发者喷的那样,埃里森不傻,法院也不傻。

而后,在 Reddit 上,我就看到了这篇对于整个事件的具体分析,我认为这是迄今为止,我看到的对 Oracle 和 Google 公司的侵权公司最为冷静客观的分析了,在这里分享给诸位。

在过去的六个月,我发现我对甲骨文和谷歌版权诉讼案的理解完全是错误的。

发现原来这么多年来自己都是错的,难免感到有点难堪。不过这种情况也只是偶尔会发生,没什么大不了的。但这个诉讼案给我带来的情绪和意识形态上的影响着实让我感到震惊。

几年前,我离开了半导体行业,成为了一名 Android 开发者,并加入了开放合作社区。我一直认为 Google 秉承着开放的态度,并把 Android 用户的利益放在心中。

从某种意义上说,甲骨文和谷歌诉讼案的真相让我不得不承认当时在决定成为一名 Android 开发者时的想法是多么的天真。

在为写这篇文章做准备时,我阅读了很多与甲骨文和谷歌诉讼案有关的材料。我估计所有这些材料的总量相当于 4 到 5 本书那么多。

我发现绝大多数关于这个话题的文章都讲得不准确。很多人预测,如果甲骨文赢得这场官司,软件行业的世界末日就会来临。等你看到这篇文章的最后,就会明白,为什么说这些文章都不是可靠的信息来源。

即使是“The Register”这样相对可靠的网站也并没有对这起诉讼做过深度的分析,我猜这是因为普通读者对这场诉讼的错综复杂部分并不感兴趣。

但我却很感兴趣。

来自 FOSS Patents 的内容

我有幸找到了 Florian Mueller(一位懂法律的资深开发者)的博客 FOSS Patents(文末有链接)。

2010 年 8 月 13 日,也就是在甲骨文宣布起诉谷歌后不久,Florian 就针对这个问题发表了一篇文章。这是我最喜欢段落:

有些东西还不是很明朗,我认为是时候提出正确问题了,时间会告诉我们答案,而且应该会很快。

这种谨慎的描述在 Florian 的文章里到处都是。

他在等待公开信息,然后对其进行分析,并分享他的分析结果和预测。有时候,如果他不得不基于有限的信息进行推测,他会事先清楚地说明这一点,然后提供多种可能的结果。

关键在于,Florian 是个懂法律的人,并知道如何向像我这样的人解释这一切。

他在 2017 年 12 月 8 日写的一篇有关该诉讼的文章中进行了预测,他说谷歌“正当使用”代码的说法“肯定会被上诉法院推翻”。三个多月后,甲骨文赢得了上诉。与其他人不一样的是,我对此并不感到惊讶,因为那段时间我已经在关注 Florian 的博客。

Florian 在七年的时间里为这起诉讼案专门撰写了 100 多篇文章,我估计这些文章的总长度相当于 2 到 3 本书。

我阅读了 Florian 所有关于这起诉讼案的帖子,相信我,他做了一件非常了不起的事情。

FOSS Patents 是迄今为止我发现的有关甲骨文和谷歌诉讼案最好的一个信息来源。因此,这篇文章很大程度上也会依赖 Florian 的文章。

甲骨文与谷歌诉讼案时间表

先让我简单地总结一下这个诉讼案的历史,为此,我要从 Florian 的文章中挑选那些对我来说最重要的部分。

  • 2010 年 8 月 13 日——甲骨文起诉谷歌,称 Android 侵犯了 7 项 Java 专利(加上未指定版权)

  • 2012 年 5 月 31 日——法官表示谷歌仅在 Android 中使用了不受版权保护的 37 个 Java API 元素

  • 2014 年 5 月 9 日——甲骨文赢得版权诉讼:API 代码受版权保护,关于正当使用的审判

  • 2014 年 10 月 9 日——在甲骨文上诉成功后,谷歌要求最高法院听取 Android-Java 版权案

  • 2015 年 1 月 12 日——最高法院希望美国政府介入谷歌提出的听取甲骨文 Android-Java 版权案

  • 2015 年 5 月 27 日——美国司法部认为谷歌向最高法院提出上诉存在缺陷,建议拒绝

  • 2015 年 6 月 29 日——甲骨文和谷歌的 Android-Java 版权案回到了旧金山:最高法院拒绝了谷歌的请愿

  • 2016 年 5 月 26 日——甲骨文与谷歌诉讼案:陪审团赞成谷歌“正当使用”

  • 2017 年 12 月 8 日——谷歌“正当使用”的说法肯定会被推翻

  • 2018 年 3 月 29 日——为什么甲骨文会赢得谷歌 Java-Android 版权案 [本文来自 The Register,因为 Florian 决定不再报道这一案件]

以上就是这个历经多年的诉讼案的“简短”总结。

未来谁的胜算大?

可以说,这场诉讼的未来比过去的历史更加有趣和重要。

可惜的是,Florian 决定不再写关于这起诉讼的文章。我还没有找到其他文章能够像他的文章那样深刻且值得信赖,可能永远都找不到一篇。因此,我不得不给自己戴上“法律专家”的帽子,试图对案件进行分析并做出自己的预测。

Florian 的文章确实教会了我一些东西,但我还是要提醒大家,我其实并没有受过任何与法律相关的专业教育。

如果谷歌接受联邦特区的裁决:

如果谷歌接受联邦特区的最新裁决,那么这起案件将直接返回加利福尼亚州北部地区进行另一次审判。

甲骨文与谷歌诉讼的第三次审判将全部与确定赔偿金额有关。目前可能无法预测实际的最终赔偿金额(如果有的话),不过甲骨文在 2016 年 4 月提交的文书中已经暗示了要求 100 亿美元以上的赔偿。

除了金钱的赔偿之外,甲骨文可能还会寻求更多的补救措施,我将在文章结尾说明。

如果谷歌向最高法院提出请愿被驳回:

我认为谷歌很可能会再次试图向最高法院提出请愿。即使最高法院再次拒绝,谷歌仍然会从延期审判中受益。这对谷歌来说是一个双赢的局面。

我问 Florian 这个请愿获得批准的可能性,他回答说:

答案是肯定的。上一次遭到最高法院拒绝,但并不表示这次也会。上一次时机并不成熟,关于“正当使用”的说法还处在理论阶段,但现在已经变得更真实了。

Florian 所说的“现在已经变得更真实”,是指谷歌有可能说服最高法院听取这个案件,而不是推翻上一次的裁决。

不过不管怎样,如果最高法院再次拒绝这个请愿,那么诉讼的下一个阶段将进入论定实际赔偿方案。

如果最高法院同意听取此案,甲骨文获胜:

如果最高法院同意审理此案,我相信 Florian 可能会认为这对甲骨文有利。他已经表示,谷歌对甲骨文的“正当”防御是对人类智慧的一种侮辱:Android 使用 Java API 侵犯了版权。

在过去,Florian 的意见被证明是对法官意见的准确预测。

如果甲骨文确实在最高法院上获胜,那么案件将返回加利福尼亚州北部地区进行赔偿审判。

如果最高法院同意听取案件,谷歌获胜:

据我所知,如果最高法院听取这个案件,它可以推翻联邦特区在这个诉讼案中做出的两项决定。 也就是说,Java API 可以被视为不受版权保护的,或者谷歌对 Java API 的使用是“正当”的。

这两个决定中的任何一个都可以让谷歌免受版权的困扰。

显然,对谷歌来说是一个最好的结果。在过去,我也认为这对整个行业来说是最好的结果。

一个令人震惊的事实

我向你保证,我绝对不是标题党。我只是希望标题能够表达出我在进行案件研究期间和之后的感受。

总得来说,我感到很震惊。

原来,我吸收了大量有关这起诉讼的错误的信息和偏见。我很天真,居然相信那些不准确和不完整的消息来源。最糟糕的是,我居然允许自己的意见被精心安排的公关活动所操纵。

在接下来的内容中,我将告诉大家在过去六个月的案件研究中最令我感到震惊的发现。

“会写代码的法官”看得更明白:

我不喜欢律师。

当然不是指对律师个人有什么偏见,只是在我的内心深处,我对律师这个职业表示怀疑。

不过有趣的是,我对法官似乎没有这个偏见。

这可能是因为上述的两个原因,我居然成为加利福尼亚北部地区 William H. Alsup 法官的忠实粉丝,他是一个会写代码的法官。

我的意思是,一个软件开发者怎么可能会不喜欢这样的一位法官:

不管是以前还是现在,我都在使用其他语言编程。我以前写过很多代码,比如像 rangeCheck 这样的代码就写过几百次。我可以写,你们也可以。代码大家都能写,但为了节省时间,有人会直接拷贝别人的代码,这就说不过去了。他们说这样做是为了快速打入市场。如果你是美国最好的律师之一,对于他们的说法,你将如何辩驳?

Alsup 法官是一名业余程序员,为了更好地理解这个案件,他专门学习了 Java,他不会只听取那些愚蠢律师的废话!

更有意思的是,他的中间名是 Haskell(大家都知道 Haskell 编程语言吧)!

总之,Alsup 法官是一个非常令人敬佩的人。但很显然,他不是一个好法官。

到目前为止,美国联邦巡回上诉法院推翻了他在法庭上做出的有关同一起诉讼的两项判决。

在很长一段时间内,Florian 并不赞同 Alsup 法官的意见,并逐渐发展成开始批评他的专业性。在二审期间,Florian 清楚地解释了为什么他认为 Alsup 法官是不公平的。Florian 还在另一篇更劲爆的文章指出,甲骨文和谷歌诉讼案再审的最大问题是 Alsup 法官的现实扭曲力场。

我所崇拜的法官在这场诉讼中的错误表现让我感到很不适。然而,我不得不接受这个令人震惊的事实,因为在某种程度上,即使是 Florian 都比 Alsup 法官更了解版权法。

谷歌胜出将对行业造成的影响

在很长一段时间内,我确信如果甲骨文赢得诉讼,天会塌下来。我认为如果 API 将被视为受版权保护的,那么大公司就能够借助版权法轻松威胁那些小玩家们。

我从未想过,如果谷歌获胜将会发生什么。我只是假设事情会恢复正常,不管这个“正常”曾经是什么样子。

从 Florian 报道这起诉讼的文章中,我发现在甲骨文决定起诉谷歌之前,API 就已经是受版权保护的了。此外,尽管人们预言“软件行业的终结”,但似乎软件行业的领头羊们都站在了甲骨文这一边。

在看过 Florian 的分析后,我开始相信,认为几千行包含大信息量的原始代码可以不受版权保护,这对行业来说可能是个问题。

Florian 预测说,最高法院会拒绝谷歌的第一份请愿书:

要帮助谷歌,最高法院只能是凿开一个黑洞,用以吸收所有的软件版权保护。由于最高法院不会去凿这样的一个黑洞,而且美国法律对版权的可互操作性例外没有依据,所以最高法院除了延期解决此案件之外还能做什么才能对谷歌来说是有利的?

我不明白“可以吸收所有软件版权保护的黑洞”究竟有什么潜在影响,但它听起来并不像是什么好东西。如果我们认为版权保护有充分的理由,但谷歌在这场诉讼中的胜出无疑会破坏这种平衡,整个行业也将建立在此基础之上。

谷歌试图重写行业规则,并从所有软件中删除版权保护,这实在是令人感到震惊。

谷歌知道在 Android 中使用 Java 是不合法的

多年来,我一直认为甲骨文攻击谷歌是毫无理由的,而谷歌是在为整个软件行业进行一场正义的抗争。确切地说,是为了开源社区。

但在我阅读了 Florian 总结的关于谷歌故意侵犯 Sun 公司版权的大量证据之后,这一事实让我陷入了深思。

关于侵权是否有罪的问题应该在法庭上裁定,而不是在互联网上。但我不明白的是,为什么任何人都可以阅读上述的文章,但就是认为谷歌无罪。

Florian 将证据分成五组:

  • 谷歌知道 Sun 公司在 Java API 软件包中声明了版权。

  • 谷歌在整个过程中都知道它需要获得受版权保护材料的许可。

  • 谷歌因为利润动机和确保能够在移动搜索市场占据霸主地位而明知故意地侵权。

  • 谷歌知情并故意侵权,因为它没有其他可行的技术方案。

  • 谷歌试图尽可能隐藏对受版权保护材料的使用。

我强烈建议大家阅读前面提到的 Florian 的文章,并亲自看看他所提出的证据。

对我来说,整个事件是按照以下方式演变的:

  • 谷歌的高管和技术领导人知道 Android 绝对需要借助 Java 来获得成功。

  • 谷歌与 Sun 公司协商了关于 Java 的许可问题。

  • Sun 公司愿意授权 Java,但谷歌不喜欢 Sun 公司提出的条款。

  • 即使谷歌知道这是非法的,仍然故意使用了 Java。

谷歌知道他们侵犯了 Sun 公司的版权,但仍然决定在 Java 之上构建整个 Android 生态系统,对此我感到非常震惊。

甲骨文与谷歌的诉讼不是关于金钱

在关于谷歌有意侵犯版权这个问题中,最令人感兴趣的部分应该是 Sun 公司当时在许可协议谈判期间究竟对谷歌提出了哪些难以接受的要求?

答案与金钱无关。

Sun 公司确实希望 Java 的每年授权费在 3 千万到 1 亿美元之间,但这不是问题所在。谷歌前首席执行官 Eric Schmidt 在法庭作证说,谷歌已经准备向 Sun 公司支付 Java 许可证。他对许可谈判失败原因的解释是:“从更高的角度来看,控制权才是核心问题”。

谷歌希望使用 Sun 公司的 IP,并利用现有的生态系统,同时还要保持 Android 闭源,并受其单独控制。事实在当时就是如此,到了今天更是如此。

甲骨文与谷歌的诉讼不仅仅是金钱问题。数十亿美元的潜在补偿甚至不是这起诉讼的核心,这事关谷歌不惜一切代价保持 Android 独家控制权的野心。

毫无疑问,甲骨文将非常乐意从谷歌那里获得数十亿美元的侵权赔偿。然而,甲骨文在此诉讼中寻求的主要补救措施是禁令。

早在 2011 年,甲骨文就已经表示,它希望得到一项禁令,除非 Android 完全遵循 Java 标准。我不确定在七年后的今天,这个提案是否还在讨论中。但我相信,如果发生审判,甲骨文仍会推动这项禁令。

谷歌使用 OpenJDK 来解决问题

谷歌在 Android Nougat 中使用甲骨文的 OpenJDK 替换了他们自己实现的 Java API。

由于 OpenJDK 是基于 GPL+Classpath Exception 许可发行的,我认为谷歌是想通过这一举措让甲骨文消停下来。但问题是,他们现在仍然在使用甲骨文的 Java!

不过也有持相反意见的。

知名开源活动家 Bradley M. Kuhn 推测,将 OpenJDK 引入 Android 是纯粹的技术决策,与正在进行的诉讼无关:

我特地没有提到上述诉讼,因为我并不认为这与诉讼有很大关系。

而在一份法庭文书中,谷歌律师声称引入 OpenJDK 确实让事情有所改观。

因此,如果甲骨文继续在损失报告中指责 2015 年 12 月 24 日发布的新版本 Android,需要将它与之前发布的版本分开进行单独的分析,因为之前的版本没有使用 OpenJDK,而新版本使用了 OpenJDK。

所幸的是,Florian 也加入了这个讨论。

早在 2012 年 4 月 26 日,那个时候 OpenJDK 已经比 Android 早出现了很长时间,Florian 就说 Java 和 API 版权的开源是完全不相关的问题。关于 Classpath Exception 许可,他指出:

Classpath Exception 用于确保其他软件可以使用基于 GPL 的 Java API 实现,但它仍然也无法解决 Android 的许可问题。Android 并不是“将此库 [GNU Classpath] 与独立模块链接起来,用以生成可执行文件”,而是重组了 API 包的顺序和组织结构,然后将它们作为新的 API 进行发行。

在将 OpenJDK 实际应用到 Android 之后,Florian 撰写了一篇非常详细的文章,讨论谷歌在 Android 上使用 Java API 的开放源代码许可是否会让甲骨文减少对过去损失追溯。他的结论是,如果甲骨文确实获得了禁令,那么即使切换到 OpenJDK 对谷歌来说也于事无补。

不过,由于 OpenJDK 有可能让潜在赔偿和禁令范围限制在 Android Nougat 之前的版本,所以对谷歌来说,它仍然是一个很好的战术举措。即使是额外的一次审判,也会让谷歌受益匪浅。

我认为,在法律之外,将 OpenJDK 引入 Android 也是个有趣的举动。在之前的文章中,我推测谷歌将因为与甲骨文的版权之争而采用 Kotlin 编程语言进行 Android 开发。事实证明,这并不是谷歌第一次为这个诉讼案投入大量技术力量。

不是结论的结论

在我开始研究甲骨文与谷歌的诉讼案时,我并没有期望能够找到很多新信息。多年来,我一直在跟踪这起诉讼案,并认为我很了解其中的原委。

原来我完全错了。

这起诉讼案的最后裁定应该由法院做出,但就个人而言,我很惊讶地发现,原来谷歌是在明知侵权的情况下构建了整个 Android 生态系统。

原文链接:https://www.techyourchance.com/shocking-truth-about-oracle-vs-google-android-lawsuit/


作为一个 Java 程序员,你平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,你感觉自己无所不能。然而偶尔的一次聚会,你听说和自己一起出道的同学早已经年薪 50 万,而自己却囊中羞涩。于是你也想看看新机会,找个新平台,好好发展。

但是面试的时候,当那个笑眯眯的面试官问出那些你再熟悉不过的 Java 问题时,你只是感觉似曾相识,却怎么也回答不到点上。比如 HashMap 的工作原理,再或者 volatile 的使用场景。

作为一个 Java 老兵,我想从我的角度,给你一些建议。

以上是关于和Google的Java版权案里,Oracle真就那样遭人恨吗?的主要内容,如果未能解决你的问题,请参考以下文章

法院判Google赔偿Oracle 88亿美元损失,Java侵权案开始大逆转

历史上的今天8 月 13 日:Oracle 起诉 Google,Java 版权案正式开启!

历史上的今天8 月 13 日:Oracle 起诉 Google,Java 版权案正式开启!

Google vs Oracle 专利侵权案始末

Google vs Oracle 专利侵权案始末

Node 之父斥责 Oracle:你们也不用,那请交出 JavaScript 商标!