要闻

Oracle(ORCL.US)复制AWS的API:这侵犯了版权吗 ?

2020年1月7日 16:41:52

本文源自微信公众号“云头条”,作者:CharlesDuan。

观点:想在软件行业参与竞争,复制API很关键。

今年初,美国最高法院将审理一起重要案子,该案子将根据版权法确定应用编程接口(API)的法律地位。如果最高法院在Oracle(ORCL.US)对谷歌(GOOG.US)的Android平台提起的数十亿美元诉讼中判Oracle胜诉,可能会遏制竞争,并巩固主导性技术公司的地位,可能包括谷歌本身。

Oracle之前指控谷歌复制Java编程语言的API,因此侵犯了版权。API本质上是一种指导计算机执行何种操作的语言。它包括与语法结构有关的一整套命名的命令,语法结构明确了如何使用那些命令。为了使Java软件可以执行预定义的任务,比如计算正弦函数或加密消息,程序员必须精确地使用那些命名的命令和语法结构,就像Waffle House餐馆传达精确的烹饪用语“摊开、焖煮、切块”,才能确保土豆煎饼订单正确。

谷歌的Android旨在与Java API兼容,以便已经熟悉Java的程序员可以轻松地将其软件和知识带到这个新的移动设备平台。为此,Android必须精确复制相关的Java API命令和语法结构。Oracle的观点是,这种“重新实现”Java API的做法好比编写未经授权的《哈利•波特》小说,因此侵犯了Oracle在JavaAPI命令名称和语法结构方面持有的版权。

但Java API并不是唯一的API,Android也不是唯一的重新实现。API在现代技术中随处可见,而重新实现是确保在计算机行业参与竞争、防止大公司锁定现象的一个重要手段。

Oracle复制亚马逊的S3 API是否侵犯了版权?

不妨以亚马逊(AMZN.US)流行的数据存储平台S3为例。为了让程序员在S3上存储和检索文件,亚马逊构建了一套全面而详细的API,以便与该服务进行交互。比如说,想获取已存储文件的列表,程序员可发送文件夹名称作为语法对象的命令名称GET,并附带隐式标记的信息,比如encoding-type、continuation-token和­x-amz-date。软件必须使用这些确切而隐秘的术语以及大量其他用语,才能使用亚马逊S3。

随后涌现出众多竞争对手,与亚马逊领先市场的云服务一较高下,这不足为奇。为了说服程序员放弃使用亚马逊的产品,这些竞争对手重新实现了S3的API。这么一来,竞争对手就要模仿命令名称、参数标签、“x-amz”短语、语法结构以及S3 API的整体组织——换句话说,这正是Oracle认为受版权保护的那些东西。

当然,竞争对手使用的编程语言可能与亚马逊使用的不同,因此内部软件代码可能看起来不像一字不差的复制。但是用另一种计算机语言实现API就是一种翻译行为,而将受版权保护的作品翻译成另一种语言被明确认为是侵犯版权。

提供亚马逊S3的一份API的公司当中就有Oracle本身。为了与S3兼容,Oracle的“亚马逊S3兼容性API”(AmazonS3 Compatibility API)复制了亚马逊API的众多元素,连x-amz标签都复制了。

Oracle在这里侵犯了亚马逊的版权吗?IT媒体Ars Technica联系上Oracle,询问他们有没有复制亚马逊S3 API的许可。Oracle发言人表示,S3 API采用了Apache 2.0许可证。她向我们指出Amazon SDK for Java确实附带Apache 2.0许可证。

然而,Amazon SDK是使用S3 API的代码,而不是实现S3 API的代码——这就是订购土豆煎饼的客户与阐明订单的Waffle House厨师之间的区别。使用API的代码其组织方式与实现API的代码将全然不同,它甚至可能不包含整套API。而Oracle多年来一直认为,使用API与重新实现无关,也不侵犯版权(否则,所有使用Java的应用程序开发人员都将侵权)。Oracle不能一边认为使用API的代码并不包含来自API的版权内容,另一边又认为使用API的代码包含API中让Oracle有权重新实现S3所必需的全部版权。

即使Apache许可证果真适用,Oracle似乎也不遵守该许可证的条款。Apache许可证的第4款要求附上与衍生作品有关的通告和归属声明。不过我在Oracle的说明文档或其官网上任何地方都没有看到归属亚马逊或提到Apache许可证的任何说明。

API版权会带来法律雷区

重新实现像亚马逊S3这种API的公司绝非Oracle这一家,少数云存储系统也在这么做。整个技术行业还有许多其他API和重新实现。确保信息经济高度互联的Wi-Fi和Internet协议等技术标准都涉及API,使用任何现代通信技术的每一台计算机和设备势必都重新实现API。Oracle所持的版权论会将你用计算机所做的几乎任何事情(从阅读在线文档到观看视频)都变成法律雷区。

为了避免这些深远的影响,Oracle和支持Oracle观点的上诉法院已试图将版权侵权行为限制于部分重新实现与原始API“不兼容”的API。但是部分重新实现司空见惯,而且常常在预料之中。连Oracle的S3兼容性API都指出它与亚马逊API的众多“差异”和不兼容之处。

Oracle提起版权诉讼的危险在于,它可能阻止小型科技公司构建主导性软件平台的兼容版。如果没有这种兼容性,熟悉主导公司的API的软件程序员实际上将被这家公司的产品牢牢锁定。当然,竞争对手可以请求使用API的许可,但通过版权法为公司赋予看门人的权力以监管竞争对手,这对于竞争激烈的软件市场而言不是好兆头。

最新消息:Oracle向Ars Technica发来了以下声明

Apache许可证是一种宽松的开源许可证,任何针对特定使用场景的理由(比如“SDK与非SDK”)都改变不了许可证的可用性或性质。它允许下游用户复制和修改代码,并将该代码用在自己的项目中,基本上没有多少限制。这就是为什么使用Apache许可证的代码在商业产品中广泛使用。AWS明白这一点,并显然有意选择使用一种更宽松而不是更严格的许可证(比如GPLv.2)。

(编辑:宇硕)

(更多最新最全港美股资讯,请点击下载智通财经App

香港交易所资讯服务有限公司、其控股公司及/或该等控股公司的任何附属公司均竭力确保所提供信息的准确和可靠度,但不能保证其绝对准确和可靠,且亦不会承担因任何不准确或遗漏而引起的任何损失或损害的责任(不管是否侵权法下的责任或合约责任又或其它责任)

相关阅读

取消评论