把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

90 亿美元 Java 纠纷案反转:安卓中复制的代码属于合理使用

  • 2021-04-06
  • 本文字数:2581 字

    阅读完需:约 8 分钟

90亿美元Java纠纷案反转:安卓中复制的代码属于合理使用

一起旷日持久、在软件领域具备里程碑意义的案件终于落幕——美国最高法院于当地时间 4 月 5 日裁定,Alphabet 旗下谷歌在开发其 Android 操作系统时并未侵犯 Oracle 的版权。最高法院表示,谷歌对一些 Java API 代码的复制是合理使用。


最高法院在大法官斯蒂芬·布雷耶(Stephen Breyer)的意见书中以 6 比 2 做出上述裁决,驳回了此前一家下级法院称谷歌 Android 侵犯甲骨文 Java 软件平台版权的裁决。


斯蒂芬·布雷耶称,若允许甲骨文对其代码实施版权保护,将成为“限制新程序未来创造力”的枷锁,而掌握钥匙的人只有甲骨文,从而损害了公众利益。


在判决公布后,谷歌负责全球事务的高级副总裁肯特·沃克(Kent Walker)在 Twitter 上发文道,“今天最高法院对谷歌诉甲骨文案的判决是创新、互操作性和计算领域的一大胜利。”他还表示,感谢美国领先的创新者、软件工程师和版权学者的支持。


甲骨文对此则表示,“他们(谷歌)偷走了 Java,并花了 10 年时间打官司,只有垄断者才能做到这一点。这就是为什么全球和美国的监管机构正在审查谷歌的商业行为。”


十年纠缠,数次反转


谷歌和甲骨文的这起版权纠纷官司已经打了十多年,起因是甲骨文诉讼谷歌安卓系统的 Java 源代码侵权。


甲骨文于 2010 年收购 Sun Microsystems 公司时获得了 Java 技术。同年,甲骨文起诉谷歌称,谷歌在开发 Android 系统时非法复制了超过一万行其子公司 Sun Microsystems 所编写的 Java API 代码,要求赔偿近 90 亿美元。而谷歌方面拒绝支付这笔赔偿金,并表示对相关代码的使用属于合理使用范畴,无需承担版权责任。


过去十年,甲骨文与谷歌就该版权纷争已打了多个回合:


  • 2010 年,甲骨文起诉谷歌侵犯了与 Java 相关的专利和版权,索赔 80 亿美元;


  • 2012 年 5 月,加州北区联邦法院裁定谷歌没有侵犯 Java 版权,Java API 不受版权保护;10 月,甲骨文上诉至联邦巡回上诉法院。


  • 2014 年,美国联邦巡回上诉法院推翻了一审部分结论,称必须尊重软件的版权保护,甲骨文赢得上诉,此案被发回重审。甲骨文此时提出了 93 亿美元的索赔。同年 10 月,谷歌申请美国联邦最高法院听审此案。


随后,联邦最高法院拒绝了谷歌的调卷令申请。根据联邦巡回上诉法院的指令,案件重返加州北区法院,由该院审理谷歌另外提出的“合理使用”主张。


  • 2016 年 5 月,陪审团认定谷歌的行为构成合理使用,不涉及专利侵权。10 月,甲骨文再次上诉至联邦巡回上诉法院;11 月,谷歌也提起了上诉。


  • 2018 年 3 月,甲骨文第二次赢得上诉,联邦巡回上诉法院推翻了陪审团的认定,认定谷歌侵权。


  • 2019 年 1 月,谷歌向联邦最高法院上诉。2 月,包括微软、Mozilla、开发者联盟、Python 软件基金会在内的谷歌盟友们陆续向联邦最高法院递交了法庭之友意见书,其中一份由 78 位计算机科学家联合签署的意见书打动了大法官们,该院终于同意复审本案。


在甲骨文看来,谷歌在没协议的情况下抄袭了版权属于甲骨文的 37 个 Java API 段。但谷歌认为,它所复用的 Java 函数接口(API,即应用程序接口)属于例外,版权的合理使用原则是允许这种复制的。


于是,这场漫长的诉讼焦点变成,API 是否也受版权法的保护,对它的复用是否可构成侵权,又或者,它在多大程度上获得版权保护。


软件代码的版权保护边界


针对该案,来自电影、音乐、出版等行业高度依赖版权保护的企业主要站在甲骨文一方。而软件行业的大多数人则认为,API 不受版权的保护。


最高法院在裁决中称,该院明确选择不对本案中最广泛的法律问题做出裁决,即 API 代码到底有无资格获得版权保护。


布雷耶代表最高法院写道:“考虑到技术、经济和商业环境的快速变化,我们认为,我们不应该回答超出解决双方纷争所必需范畴的问题。”


也就是说,虽然该院认为甲骨文的 Java API 有资格获得版权保护,但该院也表示,谷歌在合理使用原则方面有较佳论证,而这一概念旨在防止版权阻碍新产品和服务的开发。


计算机软件知识产权的保护边界一直是个很难判定的问题。在探讨 API 应不应该受版权保护的时候,需要理解 API 的含义和意义到底是什么,过程中伴随而来的是层出不穷的比喻。


站在甲骨文派的法官,曾将谷歌对 Java API 的复制比作是足球队抄袭了对方的战术,让自己的球队获得成功。


最高法院表示,谷歌为 Android 系统复制的代码仅占 Java API 总共 286 万行代码的 0.4%。布雷耶将这部分代码比喻为“汽车上的油门踏板,它可以告诉汽车更快地行驶,或者如同打字机上的 QWERTY 键盘,当你按下某个特定的键时,就会调用某个字母”。


也就是说,如果造车厂选择采用油门踏板的设计,它就得支付高昂的版权费用,如果不采用,那它得重新发明新的设计,同时也很难让用户对此买单。API 的意义类似油门踏板,Google 复用它以吸引开发者,继而让开发者能迅速上手进行创新,而 API 的使用若受到限制,则在某种程度上限制了创新。


“我们的结论是:在本案中,谷歌重新实现了一个用户界面,且只取所需,以允许用户将积累的才能用在一个新的、变革性程序中,谷歌对 Sun Java API 的复制在法律上是对该材料的一次合理使用。”布雷耶写道。


此前,由 78 位计算机科学家联合签署的意见书中,曾回顾了软件发展的历史,展示了得益于 API 重新实现而诞生的影响深远的伟大软件:计算机制造商重新实现 IBM BIOS API,从而有了 DOS,并最终诞生了 windows 系统;苹果通过重新实现 Unix API,创造了桌面端的 OS X 操作系统和 iOS 系统。即便是 Java,也不是 Sun 公司纯粹白手起家的产物,也建立在重新实现其他编程语言 API 的基础之上(例如 C 语言 math API、Perl 语言的正则表达式 API 等)。科学家们亦进一步指出:谷歌所做的,是一种长期存在且广泛普及的实践方式,其对于实现计算的基本进步至关重要,并且已经在过去数十年间推动了整个软件行业的历史创新。


加州大学伯克利分校的法律和信息学教授 Pamela Samuelson 称,这一裁决让开发者感到宽慰,API 已经成为这些开发者开发软件的核心。软件开发人员一直依赖既有的软件接口作为计算领域创新的基础,最高法院的裁决实际上再次肯定了这一做法。


参考:

https://www.wsj.com/articles/supreme-court-rules-for-google-in-multibillion-dollar-copyright-battle-with-oracle-11617632233

https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf

https://www.cnbc.com/2021/04/05/supreme-court-rules-in-googles-favor-in-copyright-dispute-with-oracle-over-android-software.html

https://www.bloomberg.com/news/articles/2021-04-05/supreme-court-overturns-oracle-s-copyright-win-over-google

2021-04-06 15:346341
用户头像
罗燕珊 AI practitioner | Tech media

发布了 583 篇内容, 共 450.0 次阅读, 收获喜欢 871 次。

关注

评论 2 条评论

发布
用户头像
Fair use 被支持了,但是API 设计有没有版权,还是没有定义。
2021-04-07 10:08
回复
用户头像
oracle 这恶心货。
2021-04-06 17:09
回复
没有更多了
发现更多内容

拥抱K8S系列-03-服务器部署应用和docker部署应用区别(MySQL篇)

张无忌

MySQL Docker 运维

滴滴ElasticSearch千万级TPS写入性能翻倍技术剖析

滴滴技术

大数据 elasticsearch 滴滴技术

基于Prometheus的微服务应用监控

易观大数据

第 0 期架构师训练营第 8 周作业 1

fujin

第 0 期架构师训练营第 8 周作业2-总结

fujin

滴滴推理引擎IFX:千万规模设备下AI部署实践

滴滴技术

人工智能 学习 AI 滴滴技术 IFX

Redis做消息队列全攻略

架构师修行之路

redis MQ 消息队列

合约跟单系统开发,数字货币合约跟单软件搭建

13530558032

GPU虚拟机创建时间深度优化

滴滴技术

云计算 虚拟化 滴滴技术

滴滴Ceph分布式存储系统优化之锁优化

滴滴技术

云计算 分布式存储 Ceph 滴滴技术

【Spring注解驱动开发】AOP核心类源码解析,这是最全的一篇了!!

冰河

spring aop ioc

c语言函数指针之回调函数

C语言与CPP编程

C语言 回调函数 函数 函数指针

隐私计算会成为“金融”向“数科”转型的一剂猛药?

hellompc

滴滴云平台事业群——就是稳!

滴滴技术

招聘 滴滴技术 滴滴云平台事业群分享月

突破传统 区块链如何实现病历永存

CECBC

区块链 电子病历 信息共享

滴滴数据仓库指标体系建设实践

滴滴技术

大数据 数据仓库 滴滴技术

Zeppelin SDK :Flink 平台建设的基石

Apache Flink

flink

在Rust里面嵌入python代码

lipi

Python rust

浅析LR.Net工作流引擎

Learun

.net 敏捷开发 工作流

滴滴七层接入平台实践和探索

滴滴技术

微服务 运维 滴滴技术 七层接入

可编程网卡芯片在滴滴云网络的应用实践

滴滴技术

云计算 芯片 滴滴技术

物联网的银河,华为的桨,少年的歌

脑极体

1.Flink检查点算法-15

小知识点

scala 大数据 flink

自定义线程池来实现文档转码

架构师修行之路

区块链技术成为金融业务应用热点

CECBC

区块链 人工智能 金融

迭代技术方案设计文档规范

程序员架构进阶

技术方案

分布式QoS算法解析

焱融科技

分布式 算法 焱融科技 分布式文件存储 QoS

滴滴数据通道服务演进之路

滴滴技术

大数据 滴滴技术 数据服务通道

实时数仓在滴滴的实践和落地

滴滴技术

大数据 滴滴技术 数据通道服务

数据分析之伯克森谬误:颜值和性格真成反比吗

KAMI

人生 数据分析 数据

week12学习总结

burner

90亿美元Java纠纷案反转:安卓中复制的代码属于合理使用_语言 & 开发_罗燕珊_InfoQ精选文章