写点什么

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

2021 年 4 月 06 日

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 年 4 月 06 日 15:342197
用户头像
罗燕珊 InfoQ中文站记者

发布了 98 篇内容, 共 34.1 次阅读, 收获喜欢 140 次。

关注

评论 2 条评论

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

话题讨论 | 程序员是做前端开发好,还是后端开发好呢?

xcbeyond

程序人生 话题讨论

为图片添加Emoji,微信这隐藏功能让你不花冤枉钱

彭宏豪95

微信 效率 效率工具 emoji

微信十年,弹指一挥间

彭宏豪95

微信 产品 互联网 写作

2021阿里总监最新手码BAT等大厂面经!GitHub已标星86.2K

比伯

Java 编程 架构 面试 程序人生

阿里巴巴云原生应用安全防护实践与 OpenKruise 的新领域

阿里巴巴云原生

容器 运维 云原生 k8s 调度

什么!?金三银四,2021年阿里最新面试题惨遭泄露?

Java架构之路

Java 程序员 架构 面试 编程语言

一文读懂区块链产业最新发展趋势

CECBC区块链专委会

大数据

Laravel来信|Event

LeastCoding

laravel Event 观察者模式

2021Java岗面试预备手册:涵盖20个技术栈​​​​,助你通往大厂的面试必备指南

Java成神之路

Java 程序员 架构 面试 编程语言

话题讨论 | 比特币攻击重现江湖,你准备好了吗?

程序员架构进阶

话题讨论 28天写作 2月春节不断更 话题王者 勒索攻击

人人矿场APP开发|人人矿场系统软件开发

开發I852946OIIO

系统开发

五面阿里成功入职,复盘总结Java学习/面试自测指南开源分享

程序员小毕

Java 程序员 面试 分布式 大厂

电影台词反向搜索视频片段,这个工具也太好用了吧|33 台词

彭宏豪95

效率 效率工具 电影

有赞 Flink 实时任务资源优化探索与实践

Apache Flink

flink

膜拜!阿里2020全年面试总结小册Github爆火!涵盖高并发/分布式/中间件/数据库等Java全栈知识

程序员小毕

Java 程序员 架构 面试 高并发

话题讨论 | 现实中程序员是怎样飞快敲代码的?

xcbeyond

程序人生 话题讨论

架构设计篇之微服务实战笔记(三)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

话题讨论 | mongodb拥有十大核心优势,为何国内知名度远不如mysql高?

杨亚洲(专注mongodb及高性能中间件)

MySQL 数据库 mongodb 话题讨论 分布式数据库mongodb

使用doom-emacs三个月后, 春节期间从零配置一份自己的emacs(附详细文档)

lmymirror

算力蜂系统开发|算力蜂软件APP开发

开發I852946OIIO

系统开发

收录99+案例!Github获赞百万的性能优化小册也太香了

Java王路飞

Java 程序员 面试 性能优化 JVM

流媒体传输协议之 RTMP

阿里云视频云

TCP 音视频 RTMP 传输协议 流媒体;

行业缩水,光靠一份神仙般的“进阶面试宝典”,我居然拿到开发岗60K京东offer

Java成神之路

Java 程序员 架构 面试 编程语言

泰山版震撼来袭!阿里巴巴2021年Java程序员面试指导小册已开源

Java架构追梦

Java 架构 面试 金三银四 跳槽

GitHub上已获赞百万!阿里架构师10年磨一剑打造的Java面试小抄(2021版)开源分享

Java架构师迁哥

窝家恶补三月,字节跳动三面,终于喜提offer!分享面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

不可思议!我靠这些笔记练手,竟然拿到了蚂蚁Java岗后端开发offer

Java成神之路

Java 程序员 架构 面试 编程语言

Java岗四面字节跳动成功之前,我都刷了那些面试题以及做了那些准备!

Java架构之路

Java 程序员 架构 面试 编程语言

JAVA基础之JIT

且听且吟

颠覆技术-智能合约的说明文

CECBC区块链专委会

区块链

电力行业区块链技术应用和产业布局

CECBC区块链专委会

区块链

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