Google诉Oracle案判决中文翻译
来源: 曹阳/
上海政法学院
2138
0
0
2021-04-14

上海政法学院知识产权专业研究生团队翻译整理,转载请注明。

 

 

判决摘要

 

注:在可行的情况下,判决摘要(提要)将在发表法院意见时被公布,正如在本案中的做法一样。该判决摘要不构成法院意见的一部分,只是判例报道员为方便读者阅读而编写的。参见United States v. Detroit Timber & Lumber Co., 200 U.S. 321, 337

美国最高法院

 

判决摘要

 

谷歌公司诉Oracle公司

美国联邦上诉法院联邦巡回法庭的调卷令

18-956号。2020107日辩论--202145日裁决。

 

 

Oracle公司对Java SE拥有版权,Java SE是一个使用流行的Java计算机编程语言的计算机平台。2005年,谷歌公司收购了Android,并试图为移动设备建立一个新的软件平台。为了让数百万熟悉Java编程语言的程序员能够使用新的Android平台,Google公司从Java SE程序中复制了大约11,500行代码。这些被复制的代码是一种被称为应用程序接口(API)的工具的一部分。API允许程序员调用预先编写的计算任务,以便在自己的程序中使用。在旷日持久的诉讼过程中,下级法院考虑了(1Java SE的所有者是否能对从API中复制的代码主张版权;(2)如果能主张版权,谷歌公司的复制行为是否构成被允许的合理使用,得以使谷歌公司免于版权侵权责任。在接下来的诉讼程序中,联邦巡回法院认为这些被复制的代码是可以享有版权的。在陪审团裁定谷歌公司的行为构成合理使用之后,联邦巡回法院推翻了这一裁定,认为谷歌的复制行为在法律上不属于合理使用。在发回重审以确定损害赔偿之前,法院同意审查联邦巡回法院关于可版权性和合理使用两个问题的裁定。

 

判决:谷歌从Java SEAPI中复制的内容,只包括了那些使程序员可以将他们的才华投入到新的变革性程序中所需要的代码行,从法律角度来看谷歌的复制行为是对这些内容的合理使用。Pp.11-36.

(a)宪法中提到,版权和专利的作用是通过在一定限度的时间内确保作者和发明者对其各自的作品和发明的专有权,促进科学和实用艺术的进步,参见Art. I, §8, cl. 8。版权通过保障作者在一段时间内创作作品的专有权利,鼓励他们创作可以被他人廉价复制的作品。由于这种专有权可能引发消极后果,国会和法院对版权保护的范围进行了限制,以确保版权人的垄断性权利不会损害公共利益。

本案涉及现行《著作权法》中的两项限制。第一,该法规定版权保护范围不能延伸至任何思想、程序、过程、系统、手术方法、概念、原理或发现......” ,参见17 U. S. C. §102(b)第二,该法规定版权所有者不能阻止他人对享有版权的作品进行合理使用,参见§107。谷歌的请求书要求法院将这两项法律规定适用于本案中的复制行为。为了不超出解决本案所需的必要范围,法院在进行论证时假设谷歌复制的代码行是享有版权的,把关注焦点放在谷歌对于这些代码的使用是否构成合理使用的问题上,Pp.11–15

(b) “合理使用原则是灵活的,并且要考虑技术的变化。计算机程序在某种程度上不同于其他许多可受版权保护的作品,因为计算机程序总是服务于一种功能目的。由于存在这些差异,合理使用对计算机程序具有重要的作用,它提供了一种基于上下文的检查,使计算机程序的版权垄断保持在其合法范围内,Pp.15–18

(c) 合理使用问题是一个事实和法律的混合问题。重审法院应适当尊重陪审团对于其中潜在的事实问题的认定,但最终的问题是这些事实是否构成合理使用,这是需要法官来重新决定的法律问题。这种做法并不违反第七修正案禁止法院重新审查由陪审团认定的事实的规定,因为这里的最终问题是一个法律问题,不是事实问题。陪审团的审判权不包括由陪审团认定合理使用抗辩是否成立的权利,Pp.18-21

(d)为了确定谷歌在本案中对API的有限复制是否构成合理使用,法院审查了《版权法》合理使用条文中规定的四个指导因素:使用的目的和性质;版权作品的性质;相对于版权作品整体而言,使用部分的数量和实质内容;以及使用对版权作品的潜在市场或价值的影响,§107。法院还认识到,部分因素在某些情况下可能比在其他情况下更重要,参见Campbell v. Acuff-Rose Music, Inc., 510 U. S. 569, 577Pp. 21-35

1)本案争议作品的性质支持合理使用。这些被复制的代码是用户接口的一部分,它使程序员可以通过使用简单命令来访问预先编写的计算机代码。因此这种代码与许多其他类型的代码不同,例如那些实际指示计算机执行任务的代码。作为接口的一部分,这些被复制的代码行与不可获得版权保护的思想(API的整体组织)和新的创造性表达(谷歌独立编写的代码)内在地结合在一起。与许多其他计算机程序不同,这些被复制的代码行的价值在很大程度上来自于学习了API系统的用户(这里指计算机程序员)的投入。鉴于这些差异,在这里适用合理使用不太可能破坏国会为计算机程序提供的一般版权保护,Pp. 21-24.

2)对使用的目的和性质的调查,在很大程度上取决于本案争议中的复制行为是否是"转换性"的,即这种使用行为是否增加了新的东西,具有进一步的目的或不同的性质,参见Campbell, 510 U. S., at 579。谷歌对API的有限复制是一种转换性使用。谷歌只复制了那些使程序员可以在不同的计算环境中工作,且无需放弃部分熟悉的程序语言所需要的内容。谷歌的目的是为不同的计算环境(智能手机)创建一个不同的任务相关系统,并开发一个平台(Android平台)以帮助实现和普及这一目标。该记录展示了许多重新实现一个接口可以进一步发展计算机程序的方法。因此,谷歌的目的与那种创造性进步的目标是一致的,而这种目标正是版权本身的基本宪法目标,Pp. 24-28.

3)谷歌从API复制了大约11500行声明代码,这实际上相当于调用数百个不同任务所需的所有声明代码。然而,这11500行代码只占整个API0.4%,整个API总共有286万行代码。在本案中考虑使用部分的数量和实质内容时,这11500行代码应被视为相当大的整体中的一小部分。作为接口的一部分,这些被复制的代码行与程序员访问的其他代码行密不可分。谷歌复制这些代码行并不是因为它们的创意或美感,而是因为它们可以让程序员将其技能带到一个新的智能手机计算环境中使用。当复制使用的数量被束缚在一个正当的、转换性的使用目的之下时,实质性因素一般倾向于支持构成合理使用,在本案中就是如此,Pp.28-30

4)第四个法定因素关注复制行为在影响版权作品的市场或价值方面的效果”,§107(4). 这里的记录表明谷歌的新智能手机平台并不是Java SE的市场替代品。该记录还表明,Java SE的版权人将通过其接口在不同市场的重新实施获益。最后,基于这些事实强制保护版权,可能会对公众造成与创造性有关的伤害。综上所述,这些考虑证明第四个因素(市场影响)也倾向于支持谷歌的复制行为构成合理使用,Pp.30-35

(e) 计算机程序主要是功能性的,这一事实使得传统的版权概念难以适用于该技术世界。将法院的遵循先例原则和国会编纂的与合理使用原则相关的法律规定应用于本案中独特的版权作品,法院得出的结论是谷歌公司为了重新实现一个用户接口对API进行的复制行为,仅仅复制了使用户能够将其积累的才能用于一个新的转换性程序中所需要的部分,从法律角度来看这种行为构成对这些材料的合理使用。在得出这一结论时,法院并没有推翻或修改其先前涉及合理使用的案例。Pp. 35-36.

 

886 F. 3d 1179,该判决被撤销并发回重审。

 

BREYER, J.发表了法院主流意见,ROBERTS, C. J., SOTOMAYOR, KAGAN, GORSUCH, KAVANAUGH, JJ. 加入了该意见。THOMAS, J.提出了反对意见,ALITO, J.加入了该反对意见。BARRETT, J.没有参与该案审议或裁决。

 

 

法院的意见

 

提示:本意见在《美国报告》初版出版前须经正式修订。读者如发现任何印刷错误或其他形式上的错误,请通知判例报道员以便在初印本付印前进行更正。联络地址为华盛顿特区20543美国最高法院。

 

美国最高法院

No. 18-956

谷歌公司诉Oracle公司

202145

 

BREYER法官发表了法院意见。

Oracle公司是目前Java SE的版权所有者,Java SE是一种使用流行的Java计算机编程语言的计算机程序。谷歌公司在未经许可的情况下复制了该程序的一部分,这部分程序使程序员能够调用预先编写的软件,然后这些软件可以与计算机的硬件一起执行大量的特定任务。下级法院考虑了(1Java SE的所有者是否能对谷歌复制的代码主张版权;(2)如果能主张版权,谷歌公司的复制行为是否构成法律上的合理使用,从而使谷歌公司免于版权侵权责任。联邦巡回法院判定Oracle公司胜诉(即该部分是可以享有版权的,且谷歌公司的复制行为不构成合理使用)。在审查该判决时,为了将审查范围限于存在争议之处,我们假设这些材料是可以主张版权的,但我们认为本案中存在争议的复制行为构成了合理使用。因此,谷歌的复制行为没有违反版权法。

 

2005年,谷歌收购了一家初创公司Android公司,希望借此进军智能手机软件领域。谷歌希望通过Android发展一个为移动设备(例如智能手机)服务的软件平台。886 F. 3d 11791187CA Fed. 2018);App. 137–138, 242–243. 一个平台为计算机程序员开发新的程序和应用程序提供必要的基础设施。

 

 

我们可以把软件平台看作是一种工厂车间,计算机程序员(类似于汽车工人、设计师或制造商)可以来到这里使用这里的各种工具,创建(比如说能在智能手机上使用的)新应用程序。(关于平台和其他与计算机有关的专业术语的直观解释,你可能需要查看下文附录A中的材料)。

谷歌设想的Android平台是免费和开放的,软件开发者可以免费使用其中的工具。它的想法是如果越来越多的开发者使用其Android平台,将开发更多的基于Android的应用程序,所有这些都将使谷歌的Android系统的智能手机对终端消费者更具吸引力。消费者就会更多地购买和使用这种智能手机。Oracle America, Inc. v. Google Inc., 872 F. Supp. 2d 974, 978 (ND Cal. 2012); App. 111, 464. 这种愿景的实现需要吸引相当数量的有经验的程序员。

 

当时,许多软件开发人员理解并使用Java编程语言编写程序,这种语言是Sun MicrosystemsOracle公司的前身)发明的。872 F. Supp. 2d, at 975, 977.大约有六百万程序员花费相当多的时间学习并使用Java语言。App. 228. 其中很多程序员使用Sun公司自己广受欢迎的Java SE平台,来开发主要适用于台式机和笔记本电脑的新程序。同上,在151-152, 200. 该平台允许使用Java语言的开发人员编写能够在任何台式机或笔记本电脑上运行的程序,而不需要考虑底层硬件(即这些程序在很大程度上是可互操作的)。872 F. Supp. 2d, at 977. 事实上Sun公司有一句口号就是写一次,即可在任何地方运行。” 886 F. 3d, at 1186.

 

在收购安卓公司后不久,谷歌就开始与Sun公司商谈为其新的智能手机技术授权整个Java平台的可能性。Oracle, 872 F. Supp. 2d, at 978. 但谷歌并不想让所有在Android平台上编写的程序都是可以互操作的。886 F. 3d, at 1187. 正如Android的创始人所言:一个开源平台的整体理念是对人们可以用它做的事情有非常非常少的限制。” App. 659Sun公司的互操作性政策也是如此,这回破坏自由开放的商业模式。基于与这种分歧有关的原因,谷歌公司与Sun公司的谈判破裂,随后谷歌建立了自己的平台。

 

记录显示,大约有100名谷歌工程师工作了三年多,创建了谷歌的Android平台软件。同上,在45, 117, 212. 在这样做的过程中,谷歌为智能手机技术量身定做了Android平台,该技术在一些重要方面与台式机和笔记本电脑有着不同之处。例如,智能手机可能会使用更有限的电池运行,或利用GPS技术运行。同上,在197-198. Android平台为程序员提供了为该环境编程的能力。为了构建该平台,谷歌编写了数百万行新代码。因为谷歌希望数百万熟悉Java语言的程序员能够轻松地使用其新的Android平台,它还从Java SE程序中复制了大约11,500行代码。886 F. 3d, at 1187. 这些被复制的代码行是一种被叫做应用编程接口(API)的工具的一部分。

 

什么是API呢?联邦巡回法院对API的描述是,作为一种工具,它允许程序员使用......预先编写的代码在自己的程序中建立某些功能,而不用自己从头做起编写代码来实现这些功能。Oracle America, Inc. v. Google, Inc., 750 F. 3d 13391349(2014). 通过API,程序员可以利用一个庞大的预写代码库来执行复杂的任务。对于非专业人士,包括法官、陪审团和许多其他人员,对这一描述的一些详细阐述可能会是有用的。

 

我们可以更详细地考虑一下API的作用。一台计算机可以执行数千项,甚至数百万项不同的任务,程序员可能希望直接使用这些任务。这些任务的范围包括从最基本的到非常复杂的。例如,要求计算机告诉你两个数字中哪一个是较高的数字,或者将一千个数字按升序排列,它就会立即给你正确的答案。一个API将计算任务的世界以特定的方式进行了划分和组织。然后,程序员可以使用API来选择他们的程序所需要的特定任务。在Sun公司的API(我们称之为Sun Java API)中,每个单独的任务被称为方法API将有些相似的方法归为较大的,并将有些相似的类归为更大的。这种方法--的组织结构被重新引申为Sun Java API结构、序列和组织SSO

 

每项任务都有被称为实现代码的计算机代码,它实际上是告诉计算机如何执行你要求它执行的特定任务(例如告诉你两个数字中哪个数字较高)。见Oracle, 872 F. Supp. 2d, at 979-980. 实现代码(由谷歌独立编写)在本案中没有争议。一个单一任务的实现代码可能长达几百行。对于程序员来说,如果不利用预先编写的任务实现程序来执行离散的任务,就很难甚至不可能创建复杂的软件程序。

 

但是作为程序员,你如何告诉计算机应该选择哪个实现代码程序?即它因该执行哪一个任务?你需要在自己的程序中输入一个与具体任务相对应的命令,并通过调用它来实现。这些命令被称为方法调用,它通过选择那些可以成功执行该任务的实现代码编写而成的程序来帮助你执行任务,即它将指示计算机使你的程序能找到两个数字中较高的一个。如果一台特定的计算机可能会执行,比如说,一百万个不同的任务,那么不同的方法调用将告诉计算机选择其中的哪一个任务。熟悉Java语言的人都知道无数的方法调用,这些方法调用允许他们在调用无数的任务。

 

方法调用(由程序员写下的)如何实际定位并调用它所需要的指示计算机执行特定任务的特定实现代码呢?它是通过另一种类型的代码来做到的,双方将其称为声明代码。声明代码是API的一部分。对于每一个任务来说,程序员输入的每个特定命令都与API内部的特定声明代码相匹配。该声明代码既提供了每个任务的名称,也提供了每个任务在API整体组织系统中的位置(即一个方法在特定类中的位置和一个类在特定包中的位置)。在这个意义上,声明代码和方法调用形成了一个链接,使程序员可以利用成千上万的用实现代码编写的预写任务。见同上,在979-980. 如果没有这些声明代码,程序员输入的方法调用就无法调用实现代码。

 

因此,声明代码在Sun Java API执行着至少两个重要功能。第一个较为明显的功能是声明代码为程序员提供了一套捷径。通过将复杂的实现代码与方法调用联系起来,它使程序员可以只用学习一些简单命令,就能从API任务库中挑选特定任务。

通过将复杂的实现代码与方法调用连接起来,其允许程序员从API的任务库中选出一个特定的任务,除了一个简单的命令之外,不需要学习其他任何东西。例如,一个程序员在构建一个新的个人银行应用程序时,可能希望使用各种任务来计算用户的余额或验证密码。为此,她只需要学习与这些任务相关的方法调用。在这种情况下,声明代码的快捷功能就类似于汽车上让汽车行驶更快的油门踏板,或者打字机上的QWERTY键盘,当你按下某个特定的键时,它可以调用一个特定的字母。正如这些类比所表明的那样,我们可以把声明代码看作是人与机器之间的接口的一部分。

第二个不太明显的功能反映了Java的创造者们把不同任务的潜在领域划分为一个实际领域的方式,即我们要基于Java的计算机系统执行这一系列潜在的数以百万计的不同的任务以及我们想要如何安排和分组这些任务。在这个意义上,声明代码执行的是一种组织功能。它确定了Java的创建者决定建立的任务库的结构。要理解这种组织系统,可以想想杜威十进制系统,它将书籍分类成一个可访问的系统,或者一本将一个城市的景点划分成不同类别的旅游指南。语言本身为声明代码的组织功能提供了一个简略的类比,因为语言自身会将一个领域划分为一系列概念,而在某些方面其他语言可能会对此有不同的划分。例如,Java的开发者决定把一个叫做"绘制图像"的方法放在一个叫做"图形"的类别里。

考虑这样一个全面的(尽管有些牵强)类比:程序员如何实际使用API。想象一下,你可以使用特定的按键指示机器人移动到一个特定的文件柜,打开一个特定的抽屉,并挑选出一个特定的菜谱。

手里拿着合适的菜谱,机器人随后会移动到你的厨房并将菜谱交给厨师来准备菜品。这个例子反映了API的相关任务组织系统。通过你的简单命令,机器人找到正确的菜谱,并将其交给厨师。同样地,输入一个方法调用会提示API找到正确的实现代码并将其传递给你的电脑。而且重要的是,要为你的膳食选择你想要的菜,你不需要知道菜谱的内容,就像一个使用API的程序员不需要学习实现代码一样。在这两种情况下,学习简单的命令就足够了。

现在让我们思考一下地区法院用来解释这种精确技术的例子。同上,第980-981页。一个程序员希望,作为她程序的一部分,去判断两个整数中哪个更大。要在Java语言中做到这一点,她将首先编写java.lang。这些词(我们已经用粗体字标出)指的是"程序包"(或者与文件柜类似)。然后她会编写Math.lang。这个词指的是""(或者类推为抽屉)。然后,她会写max。这个词指的是"方法"(或类比于食谱)。然后,她会做两个括号( )。然后她将在括号之间放入她想要进行比较的两个整数,如46。整个表达式(方法调用)看起来像这样:"java.lang.Math.max(4, 6)."这个表达式的使用将通过API调用一个任务实现程序,该程序将得出较高的数字。

在编写这个程序时,程序员将按照我们排列的准确顺序使用我们用粗体字标出这些符号。但这些符号本身并没有什么作用。她还必须使用能将这些符号与相当于文件柜、抽屉和文件的东西连接起来的软件。API就是这样的软件。它既包括将方法调用的每个部分与特定的任务实现程序联系起来的声明代码,也包括实际执行的实现代码。(关于这一技术的说明,见下文附录B)

现在我们回到本案中的复制问题。谷歌并没有从Sun Java API中复制任务实现程序或实现代码。它编写了自己的任务实现程序,例如那些确定两个整数中哪个更大的程序或者执行任何其他所需的(通常要复杂得多)任务的程序。这种实现代码构成了Sun Java API和谷歌为Android.App.212.创建的API的绝大部分。对于其新 API 中的大多数程序包,谷歌也编写了自己的声明代码。然而,其中37个程序包,谷歌从Sun Java API复制了声明代码。同上,第106-107页。正如前面所解释的那样,这意味着对于这37个程序包,谷歌必然复制了被给予特定任务的名称以及将这些任务归入类和包的分组。

在这样做的过程中,谷歌复制了Sun Java API中允许精通Java程序语言的程序员使用他们已经学会的"任务调用"系统的那部分内容。在谷歌看来,处于争议中的这37个程序包包括那些可能被证明对移动设备应用程序的程序员最有用的任务。事实上,这些包中有三个是......完全基础性的能够使用Java语言。”Oracle, 872 F. Supp. 2d, at 982.通过为这些程序包使用相同的声明代码,使用Android平台的程序员可以依靠他们已经熟悉的方法调用来调用特定的任务(例如,确定两个整数中哪个更大);但谷歌自己的实现程序执行这些任务。如果没有这种复制,程序员就需要学习一个全新的系统来调用同样的任务。

我们补充道:Android平台已经取得成功。基于Android系统的设备在2007年发布后的五年内占据了美国市场的很大份额。

同上,第978页。截至2015年,Android系统的销售收入超过420亿美元。886 F. 3d,在1187页。

2010年,Oracle公司收购了Sun公司。此后不久,Oracle公司向美国加州北区地方法院提起了本次诉讼。

此案有着复杂而漫长的历史。起初,Oracle公司控诉谷歌对Sun Java API的使用违反了版权和专利法。对于其版权的主张,Oracle公司声称谷歌侵犯了其版权,因为它复制了37个程序包,既复制了API的字面声明代码,也复制了API的非字面组织结构(或SSO),即把特定的方法归为类,把特定类归为包。为了审判,地方法院组织了三个程序。第一个程序将涵盖版权问题,第二个程序将涵盖专利问题,第三个程序将在必要时计算损害赔偿。Oracle, 872 F. Supp. 2d, at 975.法院还判定,法官应该决定版权法是否可以保护API,陪审团应该决定谷歌对Oracle公司的API的使用是否侵犯了其版权,如果是,是否仍然适用合理使用抗辩。同上。

经过六周的听证会,陪审团驳回了Oracle公司的专利要求(此后已退出本案)。法院还发现了有限的版权侵权行为。对于谷歌是否能成功主张合理使用的抗辩,法院陷入了僵局。同上,第976页。然后法官决定,无论如何,API的声明代码并不是版权法所保护的那种创造。法院指出,谷歌已经编写了自己的实现代码,这构成了其API的绝大部分。判决写道:"根据《版权法》,任何人都可以自由地编写他/她自己的代码来执行与Sun Java API指定的完全相同的"任务。同上。

谷歌只是复制了声明代码和组织结构,这是Java训练有素的程序员激活熟悉的任务所必需的(同时,正如我们所说,编写自己的实现代码)。因此,在法官看来,被复制的材料是一种"系统或操作方法",这是版权法明确规定不能对其进行版权保护的。同上,第977页(引用17 U. S. C. §102b))。

上诉后,联邦巡回法院推翻了这一判决。该法院认为,API的声明代码及其组织结构都可以获得版权。Oracle, 750 F. 3d, at 1354.法院指出,谷歌可以像编写自己的实现代码一样编写自己的声明代码。而且因为原则上谷歌可能已经创建了一个全新的划分和标记任务的系统,可以被程序员调用,构成了Sun Java API的声明代码(和系统)是可以获得版权的。同上,第1361页。

联邦巡回法院还驳回了Oracle公司关于其决定谷歌是否有权使用Sun Java API的请求,因为这样做是"合理使用",可免除版权责任。巡回法院写道,合理使用既允许也要求法院避免僵硬地适用版权法规,因为有时它会扼杀该法律旨在培养的创造力。’”同上,第1372-1373页。但是,法院补充道,在这个案件中,记录并没有包含足够的事实调查结果,我们不能据此对谷歌的合理使用的肯定性辩护进行重新评估。同上,第1377页。并且法院就该问题将该案发回重审。谷歌向本院申请了复审令,要求审查联邦巡回法院对于可获得版权的裁定。我们驳回了这一请求。谷歌公司诉Oracle公司,576 U. S. 10712015)。Google, Inc.v.Oracle America, Inc.576 U. S. 10712015

在发回重审时,地区法院与陪审团一起听审了一周的证据。法院要求陪审团回答一个问题:谷歌是否已经以优势证据证明其在安卓系统中使用其复制的37Sun Java API包中包含的声明代码和组织结构构成《版权法》规定的合理使用”App.294.

经过三天的审议,陪审团对这个问题作出肯定的回答。同上,在295页。谷歌已经表明了合理使用。

Oracle公司再次向联邦巡回法院提出上诉。而联邦巡回法院再次推翻了地区法院的判决。 联邦巡回法院假定所有的事实问题都对谷歌有利,但是,它说,这些事实是否构成合理使用的问题是一个法律问题。886 F. 3d, at 1193.在决定这个法律问题时,法院认为谷歌对Sun Java API的使用不是合理使用。法院写道:将受版权保护的作品逐字逐句地在竞争平台上用于与原作相同的目的和功能是不公平的。同上,第1210页。法院再次将此案发回重审,这次是为了对损害赔偿进行审判。

随后,谷歌公司向本院提出复审令。它要求我们审查联邦巡回法院对可版权性和合理使用的认定。我们批准了它的请求。

A

宪法规定,版权和专利的目的是通过在有限的时间内确保作者和发明者对其各自的著作和发现的专有权利,促进科学和实用艺术的进步。” Art. I,§8, cl. 8.版权法规和判例法明确指出,版权具有实用目的。它赋予作者创作作品的专有权(有时长达一百年或更久),不是作为一种特殊的奖励,而是为了鼓励生产他人可以更廉价地复制的作品。 同时,版权也有负面特点。保护对于消费者来说会提高作品的价格。它会带来特殊的成本,比如为了获得复制许可而与作品所有人联系的成本。

而且它所授予的专有权有时会妨碍他人实施自己的创造力。参见二十世纪音乐公司诉艾肯案和马泽尔诉斯坦案。Twentieth Century Music Corp. v. Aiken, 422 U. S. 151, 156 (1975);  Mazer v. Stein, 347 U. S. 201, 219 (1954).

Macaulay曾经说过,版权的原则是向读者征税,目的是给作者以赏金T. Macaulay, 《版权演说》T. Macaulay, Speeches on Copyright 25 (E. Miller ed. 1913).国会在权衡利弊后,将决定该税种更具体的性质、界限和条件,是否存在例外和豁免,这一切都要通过行使国会的宪法权力来制定版权法规。

现行《版权法》中有四条规定与本案特别相关。首先,一个定义性条款规定了获得版权的三个基本条件:必须有一个"作品",该作品必须是"原创的",而且该作品必须"固定在任何有形的表达媒介中"17 U.S.C.§102(a);另见Feist Pub- lications, Inc. V. Rural Telephone Service Co., 499 U.S.340, 345(1991)(解释道:版权需要一些原创的"创造性火花",因此不涉及特定表达所描述的事实)。

其次,该法规列出了版权可以保护的某些种类的作品。这些作品包括"文学""音乐""戏剧""动态图像""建筑"和其他一些作品。§102(a).1980年,国会将版权法的范围扩大到包括计算机程序。它将"计算机程序"定义为“‘一组直接或间接在计算机中使用以实现某种结果的语句或指令’”§1094 Stat.3028(编纂于17 U.S.C.§101)。

第三,该法规对可以获得版权的作品作出了限制,包括定义条款可能包括的作品。例如,法规规定,版权保护不能扩大到"任何想法、程序、过程、系统、操作方法、概念、原则或发现。。。"§102(b).这些限制,以及需要将作品"固定""有形的表达媒介"中,常常导致法院以简略的形式表明:与保护新颖和实用的思想的专利不同,版权保护"表达",但不保护其背后的"思想"。参见谢尔顿诉米高梅公司案和B.卡普兰的《版权的从容观》(196746-52页。Sheldon v. Metro-Goldwyn Pictures Corp., 81F.2d 4954(CA2 1936)(HandJ.)B.KaplanAn Unhurried View of Copyright 46-52(1967)

第四,国会和法院对版权保护的范围施加了限制,甚至对有权获得版权的作品也是如此。例如,《版权法》第110条限制了作者在表演和展示方面的专有权,第114条限制了作者对录音制品的表演权。与此直接相关的是,版权所有人不能阻止他人合理使用受版权保护的材料。§107.

我们已经将起源于法院的"合理使用"原则描述为"公平的理性规则""允许法院避免僵硬地适用版权法规,因为在某些情况下,这将扼杀该法律旨在促进的创造力"Stewart v. Abend, 495 U. S. 207, 236 (1990)(内部引号省略)。体现该学说的法律规定表明而不是规定了法院应该如何适用该学说。条文规定:

"为批评、评论、新闻报道、教学学术研究等目的合理使用受版权保护的作品,不属于侵犯版权。确定在任何特定情况下对某一作品的使用是否属于合理使用时,应考虑的因素应包括:

"(1) 使用的目的和性质,包括这种使用是属于商业性质或为非营利性教育目的;

"(2)版权作品的性质;

"(3) 相对于整个版权作品而言,所使用的部分的数量和实质内容;以及

"(4) 该使用对版权作品的潜在市场或作品价值的影响"§107.

在适用该条款时,我们和其他法院一样,都明白该条款所列举的因素并非详尽无遗(注意"include""including"这两个单词),该条款所列举的例子并不排除其他例子(注意"such as"这两个单词),而且有些因素在某些情况下可能比在其他情况下更重要。见Campbell v. Acuff-Rose Music, Inc.510 U. S. 569, 577 (1994); Harper & Row, Publishers, Inc.v. Nation Enterprises, 471 U. S. 539, 560 (1985); 也可参见Leval, Toward a Fair Use Standard, 103 Harv.L. Rev 1105, 1110 (1990)(Leval)("这些因素并不代表承诺多数人胜利的记分卡")。总而言之,我们已经明白这条规则规定了一般原则,这些原则的适用需要司法平衡,视相关的情况而定,包括"技术的重大变化"Sony Corp.of America v. Universal City Studios, Inc., 464 U. S. 417, 430 (1984);另见Aiken, 422 U. S. , at 156("当技术变革使其字面意思变得模糊不清的时候,《版权法》必须根据其基本目的进行解释")。

 

 

B

谷歌要求复审的请求提出了两个问题。第一个问题是问JavaAPI是否可受版权保护。它要求我们审查刚才提到的两个法定条款:一个允许计算机程序获得版权保护,另一个禁止"过程""系统""操作方法"等获得版权保护。Pet. for Cert.12.谷歌认为API的声明代码和组织结构属于后一种类别,并被明确地排除在版权保护之外。第二个问题要求我们确定谷歌对API的使用是否是"合理使用"谷歌认为是。

如果在上述任一问题上支持谷歌,就可以免除Oracle公司对其提出的版权索赔。考虑到技术、经济和商业相关领域的快速变化,我们认为我们不应该回答超过解决双方争议所必需的问题。纯粹出于论证,我们将假设整个Sun Java API属于可受版权保护的定义范围。我们要问的是,谷歌对该API的部分使用是否属于"合理使用"。与联邦巡回法院的结论不同,我们的结论是:这是合理使用。

"合理使用"条款第107条的措辞反映了其法官造法的起源。它与Story法官在福尔松诉马什案中使用的措辞相似。Folsom v. Marsh9 F.Cas.342348(No.4901)(CC Mass.1841)参见Campbell, 510 U. S. at 576 (表明" Story法官(对合理使用的考虑)的总结在第107条是如何辨别的)。这一背景,以及现代法院对这一原则的使用,清楚地表明这一概念是灵活的,法院必须根据版权法有时相互冲突的目的来适用这一概念,而且其应用可能会因背景不同而不同。因此,当受版权保护的材料是虚构的而不是事实,当它由一部电影而不是新闻广播组成,或者当它是一种艺术功能而不是实用功能时,版权的保护可能会更强。参见如Stewart495U.S., at 237-238; Harper & Row, 471 U.S., at 563;以及.4 M. Nimmer & D. Nimmer , Copyright §13[a](2019)(以下简称Nimmer on Copyright)"事实题材的作品相较于小说或幻想作品来说,版权保护的范围更窄,相应的合理使用辩护的适用更多")。同样,法院也认为在某些情况下,比如说,受版权保护的材料与不受版权保护的材料联系在一起时,版权保护是"微弱的"。参见Feist,499 U. S.at 349(指出"事实汇编的版权保护很微弱");另见Experian Information Solu- tionsInc.v. Nationwide Marketing Servs.Inc.893 F. 3d 11761186CA9 2018)("在事实汇编的情况下,......除非作品几乎完全相同,否则不可能有侵权行为"(内部引号省略))。

一般来说,计算机程序不同于书籍、电影和许多其他"文学作品",因为这些程序几乎总是表现功能性目的。这些和其他方面的差异至少已经导致一些法官认为"将版权法应用于计算机程序就像组装一个不完全匹配的拼图"Lotus Development Corp. v. Borland Int'l, Inc.49 F. 3d 807, 820 (CA1 1995) (Boudin, J., concurring)

这些分歧也导致国会对是否给予计算机程序版权保护进行了长期认真的思考。1974年,国会成立了一个关于版权作品新技术使用的国家委员会(CONTU)来研究这个问题。§§201-20888 Stat.1873-1875。经过几年的研究,委员会在1978731日的最终报告第11页认为"对计算机程序提供版权保护是可取的"。同时,委员会也认识到计算机程序具有独特的特点。考虑到不要"给程序的使用者和普通公众造成过度的负担",报告指出,版权"不应该给予任何人超过实现激励创造所需的经济权力"。同上,在12页。国会认为,版权的现有学说(如,合理使用)由法院逐案适用,可以防止所有权人利用版权扼杀创新。同上。("为了实现这些目标,1976年版权法需要修改的相对较少")。随后国会将计算机程序保护写入法律。见§1094 Stat.3028

我们认为,合理使用可以在确定计算机程序版权的合法范围方面发挥重要作用,如这里的版权问题。

结果是,我们认为合理使用在确定计算机程序版权的合法范围方面可以发挥重要作用,例如本案中的版权问题。它可以帮助区分各项技术。并且如果计算机代码的表达性特征与功能性特征相混合,合理使用同样可以对此进行区分。此外,合理使用关注版权在合法提供激励措施,以促使作品产生的同时,审查进一步的版权保护将在多大程度上会对其他市场或产品的发展造成不相关或不合法的损害。换句话说,合理使用可以在实现版权基本目的的同时,提供一种有助于将版权垄断限制在合法范围内的检查。1976年美国众议院报告对此进行了相应的解释。该报告指出鉴于技术的迅速变化,法院应当根据"根据案件的具体情况使用合理使用原则[1]此外,2004Lexmark公司诉StaticControl公司一案中,法院便讨论了为保持兼容性而进行复制的情况下的合理使用问题。[2]而在2000年的索尼公司诉Connectix公司一案中,法院认为对程序中不受保护的功能元素进行反向工程访问所必须的中间复制属于合理使用。[3]同样在1992年的Sega公司诉Accolade公司一案中,法院认为Accolade公司为了了解程序设计的思想和功能概念,开发竞争产品,从而对受版权保护的代码进行大量复制的行为属于合理使用。[4]

托马斯大法官经过深思熟虑后提出的反对意见中,对于合理使用对计算机程序有什么作用这点提出了不同的看法。其认为当考虑到"工作的性质"时,不去尝试辨别代码是否原创也是可以的,(见第10页)尽管原创的代码和借鉴的代码之间有着显著的区别。(见第18页,"声明代码是吸引程序员进入Java平台的原因")。托马斯大法官认为在新程序中重复使用代码永远不会有有效的"目的和特征"(见第16页),尽管复制计算机代码的理由可能大相径庭或者可能与适用于其他类型作品的原因不同。但是,接受将复制作为对系统进行反向工程以确保兼容性的一部分可能是一个有效的目的。

此外,我们在分析是否构成合理使用时,必须优先考虑某些因素。(见第9页)尽管我们的判例法规定合理使用取决于案件的具体情况。[5]

然而,我们并不理解国会以这种方式将计算机程序排除在版权限制原则的一般应用之外。因为根据§101中计算机程序的定义,其已经纳入到版权的保护范围之内。这意味着计算机程序像其他受版权保护的作品一样,其所有者享有该法规定的专有权,包括"复制作品""创作演绎作品"的权利。[6]但是,这同样意味着计算机程序的专有版权与其他作品一样受到限制。即同书籍或电影这类受版权保护的作品一样,计算机程序同样受到合理使用的限制。并且正如合理使用要考虑到剧本和绘画作品的买卖市场一样,合理使用也必须考虑到技术作品的创作和传播的现实情况。我们认为,接近完全保护或完全不保护的做法不符合《版权法》的立法目的。

最初,谷歌认为"合理使用"是一个由陪审团决定的问题,而陪审团做出了对谷歌有利的决定。将我们的审查范围限制在"实质性证据"是否能够证明陪审团的决定是合理的。但联邦巡回法院对此不同意。它认为,"合理使用"问题是一个事实和法律的混合问题,审查法院应适当地服从陪审团对于基本事实的认定。但是,这些事实最终是否构成合理使用是法律问题,应当由法官进行重新裁决。

我们同意联邦巡回法院对这一问题的回答。我们曾说过,"合理使用是一个法律和事实的混合问题"[7]我们曾指出,审查法院应当尝试将这样一个问题分解为独立的事实和法律部分,并且根据适当的法律标准审查每一个问题。但是,当一个问题不能进一步缩小时,我们认为"对一个混合问题的审查标准全部取决于它是否主要涉及法律或事实工作。"[8]

在本案中,最终的"合理使用"问题主要涉及法律工作。"合理使用"原本是一个在法官们之间流行的概念。[9]我们的案例仍然提供了对合理使用条款的法律解释。而这些解释为未来的案件提供了一般性的指导。例如,在Campbell案中,法院描述了与版权无关的危害市场的行为种类。[10]Harper&Row案中,法院认为对于未出版的作品来说,其合理使用的范围应当缩小。[11]而在Sony案中,法院指出旨在创造市场替代品的大规模复制行为是不公平的。[12]这种应当视为是法律工作。"当涉及制定辅助性法律原则供其他案件使用时,上诉法院通常应当重新审查一项裁决"[13]

当然,当作出是否构成"合理使用"的结论时,可能会涉及到相关事实问题的确定,例如"是否对作品的实际或潜在市场造成了损害""作品在多大程度上被复制"[14]而在侵权诉讼中,判断是否构成实质性相似通常也接近于一个事实判断。[15]

在本案中,联邦巡回法院谨慎地适用了我们在U.S.Bank案中提出的事实与法律原则,将事实认定留给陪审团,并重新审查法律问题,并作出决定。

随后,谷歌认为联邦巡回法院的这项做法违反了美国第七宪法修正案。该修正案要求"保留陪审团审判的权利......",并且禁止法院"重新审查"任何已经经过"陪审团审判的事实"[16]然而,该重新审查条款在这里并不是一项障碍。因为正如我们所说,该案中判断是否构成合理使用是一个法律问题,而不是事实问题。法院在解决对陪审团裁决的质疑时,确定适用法律的行为并不违反"重新审查条款",这就如同法院在解决作为法律问题的判决动议一样。[17]

"陪审团的审判权包括由陪审团解决合理使用抗辩的权利的主张同样是错误的。该条款关注的是"特定的审判裁决"[18]即使有可能找到改革前法官向陪审团发出了合理删减等相关问题的案例,但这些问题与今天法院适用的"合理使用"原则具有很大不同。例如Gyles案中,法院被要求解决删减作品是否构成新作品的问题。[19]而在Sayre案中,法院讨论了陪审团在判断复制行为是否构成侵权这一问题上的作用。[20]就如今的合理使用原则而言,我们将该原则描述为"公平"而非"法律"原则。我们未发现任何案例表明,在本案中适用U.S.Bank案中提出的原则将无法保护陪审团依据普通法中享有的实质性权利,因为这些权利在1971年便已经存在了。[21]

我们现在来谈谈我们面对的基本法律问题。即谷歌对Sun公司的JavaAPI的复制,特别是对该API37个程序包中的声明代码和组织结构的使用,是否属于"合理使用"的问题。在回答这个问题时,我们将考虑合理使用法规中规定的四个因素,因为我们认为这四个要素适用于本案中的计算机程序。我们在本文的第13至第14页已经介绍了这四个法规因素。这里为了阐明目的,我们将从第二个因素开始。

A."版权作品的性质"

Sun公司的JavaAPI是一个"用户界面"。它提供了一种方式,通过这种方式,用户(这里是指程序员)可以"通过一系列的菜单命令""操纵和控制"执行任务的计算机程序。[22]API反映了Sun公司将计算机可能执行的任务划分为一系列实际任务,而这些任务是某些类型的计算机实际会执行的。例如,Sun公司决定它的API将调用一个任务,将一个整数与另一个整数进行比较,看哪个整数更大。据我们所知,Sun公司的API不会调用确定哪个伟大的阿拉伯学者决定使用阿拉伯数字(而不是罗马数字)来完成形式的更大的整数任务。尽管人们可能会对如何标示和组织这些任务的决定有所争论,例如,将某一任务命名为"最大"或将其放在"数学"类中的决定。[23]但没有人声称,关于什么算作任务的决定本身是可以复制的。

如上文在第3-5页和下文在附录B中所讨论的,我们认为该技术分为三个基本部分。首先,API包括"实现代码",它实际上指示计算机执行每一项任务所要遵循的步骤。谷歌写了自己的实现程序,该程序将执行其API调用的每一个任务。

其次,Sun公司的JavaAPI将一个特定的命令,称为"方法调用"。该命令与每个任务的调用都具有关联,其符号为“java.lang”。例如,无论程序是由Sun公司编写的,还是由Google公司编写的,该命令将调用程序,从而指示计算机进行"大数"操作。对于这点,Oracle公司并未主张程序员使用该命令本身就侵犯了其版权。

第三,Sun公司的JavaAPI包含计算机代码,它将方法调用命令的编写与计算机中包含所需实现代码的特定"地方"联系起来。这就是声明代码。声明代码既给API中的特定任务贴上标签,又将这些任务或"方法"组织成""""。通过粗略的类比,我们将这种组织方式称为文件柜、抽屉和文件。Oracle公司声称,谷歌使用Sun公司JavaAPI的声明代码侵犯了其版权。

这里所讨论的声明代码类似于其他版权作品,因为它是计算机程序的一部分。宪法规定计算机程序是版权的客体。然而,声明代码与许多其他可受版权保护的计算机代码不同。它与一般的系统、计算机任务的分工密不可分,没有人主张它是一个恰当的版权客体。它与将任务组织成我们所谓的柜子、抽屉和文件的想法密不可分,而这种想法本身也是不可受版权保护的。声明代码与程序员已知的特定命令的使用密不可分(在这里被称为方法调用),例如java.lang.Math.max等等等。而Oracle公司并不赞同这一点。声明代码与实现代码不可分割地联系在一起,而实现代码是可以获得版权保护的,不能进行复制。

此外,复制的声明代码和未复制的实现程序要求并反映了不同类别的能力。一个实施程序可能会引导计算机完成几十个不同的步骤。根据证人所述,要编写实现程序,需要平衡计算机执行任务的速度或计算机内存的大小等因素。一位证人将这种创造力描述为魔法,它是API开发人员在担心电池驱动设备的电源管理等问题时施展出来的。而这是开发Android软件所需要的非常具有创造性的方法,它不仅适用于笔记本或台式机,还适用于完全不同的智能手机环境。

与程序员的方法调用命令不可分割的声明代码体现了一种不同的创造力。例如,Sun公司Java的创建者们试图找到能证明直观易记的声明代码名称。他们希望吸引那些会学习系统,能够帮助进一步开发系统,并证明重新愿意使用另一个系统的程序员。(见第10页,"声明代码......是面向用户的。它的设计和组织方式必须是直观的,可以让开发人员理解,以便他们能够调用它"Sun公司的商业战略最初强调了使用API来吸引开发者的重要性。它试图使API"开放""然后......在实现程序上进行竞争"。法庭上出现多项证据,证明了在以用户为中心的声明性代码和具有创新力的实现代码之间具有明确的界限。

这些特点意味着,作为用户界面的一部分,声明代码在一定程度上不同于计算机程序的运行程序。和其他计算机程序一样,声明代码也是功能性的。但与其他许多程序不同的是,它的使用与不受版权保护的思想(一般指任务划分和组织)和具有创造性的新表达方式(Android的实现代码)联系在一起。

与其他许多程序不同,声明代码的价值在很大程度上来自于那些不享有版权的人,即计算机程序员,他们投入自己的时间和精力去学习API系统的价值。声明代码的价值在于它鼓励程序员学习和使用该系统,从而使他们使用(并继续使用)谷歌没有复制的Sun公司相关的其他实现程序。

虽然版权保护许多不同种类的作品,但我们强调人们需要"认识到有些作品比其他作品更接近[版权]的核心"[24]基于上述描述的原因,我们认为如果声明代码是受版权保护的,那么它比大多数计算机程序(如实现代码)离版权的核心更远。这一事实减少了异议和联邦巡回法院所表达的担心,即在本案中适用"合理使用"原则是否将会严重破坏国会为计算机程序提供的一般性版权保护。这意味着,"版权作品的性质"这一因素指向了合理使用的方向。

B."使用的目的和特点"

在合理使用的情况下,我们考虑了模仿者对作品的使用是否"增加了新的东西,使其具有不同的目的或性质,以新的表达、意义或信息"改变了原作品。评论者更加开放的思考这个问题,判断模仿者的使用是否"实现了版权法的目标,即激发公众的创造力"。在回答这个问题时,我们用"转化性"这个词来描述增加了某些重要的新内容的复制使用行为。[25]例如,一幅艺术画作可能属于合理使用范围,即使它精确复制了一个受版权保护的广告标识,以此对消费主义发表评论。[26]

或者,正如我们在Campbell案中所认为的那样,讽刺性模仿是具有变革性的,因为它需要模仿原著,从而表达对原作品进行评论或批评的观点。[27]

谷歌精确复制了Sun公司JavaAPI的部分内容,它这样做的部分原因与Sun公司创造这些内容部分的原因相同,即使程序员能够调用实现程序来完成特定任务。但是,实际上任何未经授权使用受版权保护的计算机程序(例如用于教学或研究)都会做同样的事情。因此,如果止步于此,这将严重限制在计算机程序的功能范围内的合理使用。相反,在判断是否构成转换性使用时,我们必须进一步审查复制件中被更为具体描述的"目的""特征"[28]

本案中,谷歌对Sun公司JavaAPI的使用旨在创造新产品。它试图扩大基于Android系统的智能手机的使用和实用性。谷歌的新产品为程序员提供了一个在智能手机环境下极具创造性和创新性的工具。在某种程度上,谷歌使用Sun公司JavaAPI的一部分内容来创建一个可供程序员轻松使用的新的平台。这种使用与版权的基本宪法目标,即追求创新性的"进步"是一致的。[29]"版权的首要目的不是为了奖励作者的劳动,而是为了'促进科学和文化艺术的进步'"[30]

陪审团得知,谷歌将Sun公司JavaAPI的使用限制在与Android相关的任务和特定编程需求上。

谷歌仅仅在对开发智能手机程序中有用的任务范围内复制API,该APISun公司为桌面和笔记本电脑创建的。而且,谷歌仅是在需要的范围内允许程序员调用这些任务,从而使得程序员不需要放弃一部分熟悉的编程语言,去学习新的语言。也就是说,谷歌通过Android系统提供了一个在不同的计算机环境中运行的新任务集合。这些任务是通过使用谷歌编写的新的实施代码来执行的,这些代码本身被设计成在新的环境中运行。一些诉讼代理人将谷歌的这种做法称为"重新实施",其定义为"建立一个系统......它重新利用了现有系统的相同的词汇和语法"。即在本案中,学习了现有系统的程序员可以将其基本技能用于新系统。

这里表明了重新实现一个程序接口在许多方面可以促进计算机程序的开发。陪审团得知共享程序接口对于不同的程序之间相互对话是必要的。"我们必须就API达成一致,这样我写的用于放映电影的应用程序才能在你的设备上运行。如果程序员要能够使用他们已经具备的技能,程序接口的重新实现是必要的。"如果API标签改变了,那么要么软件就不能继续工作了,要么开发者......就必须学习一种全新的语言才能使用这些API标签"API的重复使用在业界很常见。例如Sun公司在创建Java时便使用了已有的程序接口。并且Sun公司的高管认为广泛使用Java编程语言将使公司受益,包括在智能手机平台上的使用。

支持谷歌的Amici公司也总结了这些要点——证人向陪审团解释的要点。参见,例如,“Brief for Copyright Scholars as Amici Curiae 25[T]谷歌重新实施的Java SE部分可能有助于在更大的Java开发者社区内保持使用的一致性);Brief for Copyright Scholars as Amici Curiae 252“[A]允许合理公平地使用功能代码可以促进创新,为整个市场的发展创造新的机会”)Brief for Copyright Scholars as Amici Curiae 83接口的重新实现推动了流行编程语言的广泛采用)。Brief for Copyright Scholars as Amici Curiae 25(描述Oracle对其他API的重新实现);另见Brief for American Antitrust Institute as Amicus Curiae 7对已成为行业标准的软件的主要功能元素的版权赋予了版权持有人反竞争的权力)。这些和相关的事实使我们相信,谷歌的复制行为的目的和性质是变革性的——这个因素也有利于合理使用的认定。

除了第一个因素,还有另外两个需要考虑的因素:商业性和善意。第107条的案文包括各种非商业性用途,如教学和学术研究,就是特权复制的典型例子。毫无疑问,如果发现复制行为不具有商业性,就会使认定合理使用的天平倾斜。但反之则不一定,因为许多常见的合理使用都具有无可争议的商业性。例如,第107的案文包括新闻报道这样为了商业利益的例子。因此,即使谷歌的使用是一种商业行为——没有任何一方对这一事实提出异议,见886F.3d.at 1197-——但这并不妨碍第一个因素,特别是考虑到在重新实施的新的Android系统中所发挥的内在变革作用。至于恶意,我们在Campbell案中的裁决表述了我们的决定。

质疑恶意是否在分析合理使用中起到任何作用。510U.S.at585,n.18。我们认为这种怀疑主义是有道理的,正如版权并不是为行为良好者保留的特权Leval 1126作为一个普遍的问题,我们尚未有机会提出,即诚信是否是一个有益的调查。只是我们注意到,考虑到其他指向合理使用的因素以及陪审团对谷歌有利的激烈争论的证据,在这种情况下,受事实约束的的考虑并不具有决定性。C.“使用部分的数量和实质

   如果单独考虑声明代码,则从定量的角度入手——谷歌抄袭的数量很大。谷歌复制了Sun Java APl37个声明代码包,共计约11500行代码。这些代码行实际上相当于调用数百个不同任务所需的所有声明代码。另一方面,如果考虑到SunJava API中的整套软件资料,那么复制的数量是很小的。Sun Java APl计算机代码的总集,包括实现代码,达到286万行,其中被复制的1.15万行仅占0.4%App.212.

这里的问题是,这11500行代码是应该被孤立地看待,还是应该被视为更大整体的一部分。我们曾说过,如果复制的节选是由原作品的创造性表达的核心组成的,那么即使是少量的复制也可能不在合理使用的范围之内。Harper&Row471 U.S.at 564-565。另一方面,如果复制的素材几乎没有体现出该材料的创造性表达,或者是有效表达出复制者的核心目的,那么大量的材料复制就可能属于合理使用的范围。参见,e.gCampbell510 U.S.,at 588;New Era Publications Int1,ApS v. Carol Pub-lishing Group,904F.2d 152158(CA2 1990).

如果被告人抄袭了一部小说中的一句话,那复制行为可能不具有实质意义。但如果这一句话阐述了世界上最短的短篇小说之一——“当他醒来的时候,恐龙还在那里。”——这个问题看起来就不同了,因为复制的素材虽然是小说的一小部分,但是却构成了整部短篇小说。见A.蒙特罗索,《恐龙Dinosaurio),载《全集与其他故事》42(E.Gross-man译,1995)。(在西班牙语原文中,故事的内容是。"Cuandodespertó, el dinosaurio todavía estaba allí.")

谷歌抄袭的几个特点表明,评价数量的最好方法是考虑谷歌没有抄袭的几百万行。首先,Sun Java APl与这些任务实现行密不可分,它的目的就是调用它们。另一方面,谷歌抄袭这些行并不是因为它们的创意、它们的美感,甚至(在某种意义上)不是因为它们的目标。它抄袭它们是因为程序员已经学会了使用Sun Java API系统进行工作,如果没有它们,要想要吸引程序员构建他们的Android智能手机系统是很困难的,甚至可以说是令人望而却步的。此外,谷歌的基本目的是为不同的计算环境(智能手机)创造一个不同的任务关联系统,并创建一个平台——Android平台,以帮助实现和普及这一目标。实质性因素一般会在合理使用的评价范围之内,如本案中,复制的数量与一个有效的、变革性的目的相关联。见Campbell510U.s.at 586-587(解释第三要素调查将回到第一个法定要素,例如。允许复制的范围因复制的目的和使用的性质而异)。

   我们不同意联邦巡回法院关于谷歌只需复制170Java语言编写的必要代码,就可以实现其Java兼容性目标的结论。886F.3dat 1206.在我们看来,这一结论将谷歌的合法目标看得过于狭隘。谷歌的基本目标并不仅仅是让Java编程语言在其Android系统上可用,而是允许程序员在为Android系统编写新程序时,能够利用他们使用Sun JavaAPl的知识和经验。原则上,谷歌可能已经创建了自己的、不同的代码声明系统。但陪审团其这样做并不能实现这一基本目标。在某种意义上,声明代码是它需要的钥匙,以释放程序员的创造性能量。而它需要这些能量来创造和证明自己的创新Android系统。因此,我们认为,这个实质性因素倾向于合理使用。

 

D.市场效应

 

第四个法定因素侧重于复制对版权作品的市场或价值影响。《美国法典》第17篇第107(4)条对这一因素的考虑,至少在计算机程序有争议的情况下,可以证明该因素比起初看起来更复杂。它可以要求法院考虑版权人可能损失的金额。正如我们在Campbell案中所指出的那样,为商业目的而对原作进行完整的复制很可能会产生一个市场替代物来替代一个作者的作品。510 U.S.at 591.将作者的书拍成电影,也同样意味着会造成版权所有者的潜在或推定的损失。这些损失通常与版权的基本目标相冲突:为作者提供专属权利,以刺激创造性的表达。但潜在的收入损失并不是全部。我们这里不仅要考虑损失的数额,还要考虑损失的来源。正如我们在Campbell案中所指出的,致命的模仿,就像一篇严厉的戏剧评论,可能扼杀对原作的需求。同上,第591-592页。然而这种伤害,即使直接转化为放弃掉的美元,根据《版权法》的相关规定,也无法得到承认的。同上,第592页。

 

   此外,我们必须考虑由复制产生的公共利益。例如这些利益是否与版权对创新表达的创造性产出的关注有关?与可能损失的金额相比,这些利益是相对重要还是不重要(同时考虑到损失来源的性质)?Cf. MCA, INC. v. Wilson, 677 F. 2d 180, 183 (CA2 1981) (要求在这个因素下平衡公共利益和版权所有者的损失)。

   我们并不是说这些问题总是与合理使用有关,甚至在计算机程序的世界里也是如此。我们也没有说这些就是法院可能提出的唯一问题。但我们确实发现这些问题在帮助确定谷歌重新实施可能具有的市场效果方面有一定的积极意义。

 

   至于可能的损失金额,陪审团本可以认定Android并没有侵占Java SE的实际或潜在市场。而且,陪审团可以认定,无论谷歌是否复制了其API的一部分,Sun公司(现在的Oracle公司)都无法成功进入这些市场。首先,庭审中的证据表明,不管Android的智能手机技术如何,Sun的差劲表现都很难在手机市场取得成功。陪审团听取的多数证据表明,Java SE的主要市场是笔记本电脑和台式电脑。App.99.200.99,200.陪审团同样听说,Sun公司为进入手机市场所做的多数努力都被证明是不成功的。同上,at 135235671.早在2006年,在Android系统发布之前,Sun公司的高管就曾预测,由于新兴的智能手机技术,手机市场的收入会下降。同上,at 240.Sun公司的前CEO被直接问及Sun公司未能制造出智能手机是否归因于谷歌开发的Android系统时,他回答说不是。同上,at 650.

 

 

 

    鉴干有证据表明Sun公司在开发移动电话产品的过程中遇到了商业困境,陪审团有权同意这一评估结果。其次,陪审团一再被告知,使用谷歌Android系统的设备与授权Sun公司技术的设备在种类上有所不同。例如,有证人解释说,更广泛的行业将智能手机和简单的功能手机彻底区分开来。同上,第237页。至于使用Sun公司创建的软件的特定设备,陪审团听说其中一款手机没有触摸屏,同上,第359-360页,而另一款没有QWERTY键盘,同上,第672页。对于其他移动设备,证据显示,较简单的产品,如Kindle,使用Java软件,同上,第396页,而更先进的技术,如Kindle Fire,建立在Android操作系统上,同上,第206页。这个记录证据表明,谷歌的Android系统不仅仅是[Sun公司]的代码从大型计算机上再利用到小型计算机上postat 16,而是一个比Java软件更独特(更先进)的市场的一部分。从这些重要的差异来看,谷歌的经济专家告诉陪审团,Android不是Java软件的市场替代品。正如他所解释的那样,这两种产品应用在完全不同的设备上,而且提供整个移动操作栈Android平台与只是一个应用程序编程框架Java SE完全不同的产品类型App.256;同上,第172-174页。综上所述,这些证据表明,Sun公司的手机业正在衰退,而市场对一种全新形式的智能手机技术的需求越来越强烈,而Sun公司却始终无法提供这种技术。

   最后,陪审团听取的证据表明,Sun公司预见到Java编程语言更广泛地应用到Android这样的新平台上会带来各种益处,因为这将进一步拓宽接受过Java编程培训的程序员的工作网域。同上,第131-133页。同上,第131-133页;同上,第153(“一旦一个API开始重新实施,就知道它已经成功了)。

 

 

换句话说,陪审团可以理解为AndroidJava SE在两个不同的市场中运作。而由于有两个市场存在,程序员在一个市场(智能手机)中学习Java语言,接着就能够将这些才能带到另一个市场(笔记本电脑)中加以运用。参见4 Nimmer on Copyright13.05[A][4](解释因素四是询问被告所从事的那种广泛行为对现在工作市场的影响)。

   Sun公司提出了相反的证据。事实上,联邦巡回法院认为,市场效应因素不利于合理使用的认定,部分原因是Sun公司曾试图进入Android市场。886 F.3d,at 1209Sun寻求与谷歌达成许可协议)。但这些许可谈判涉及的内容远不止37包声明代码,涵盖了“[Java]实现代码和公司之间的"品牌和合作"等主题。App.245;另见4 Nimmer.245同参见4 Nimmer on Copyright$13.05[A][4](告诫人们不要出于未实现的许可机会而产生循环的危险,因为在每一个合理使用案件中,如果潜在的市场被定义为许可使用的理论市场,那么原告就会遭受潜在市场的损失”)。无论如何,陪审团对合理使用的裁定意味着,Sun公司为获得许可所做的努力和Oracle公司相互矛盾的证据都无法推翻即使谷歌没有使用Sun Java APl的部分内容,Sun公司也难以进入智能手机市场的结论。

  另一方面,谷歌的复制行为帮助谷歌从其Android平台上获得了大量的资金。而Sun Java APl版权的实施可能会让Oracle从这些资金中分得一大笔钱。然而无论如何,思考Oracle为什么以及如何成为有权获得这笔钱都有其重要意义。

 

当一个新的接口,比如一个API或一个电子表格程序,第一次出现在市场上时,它可能会吸引新用户的原因是它的表现力,比如更好的视觉画面,或者是它优越的功能。然而,随着时间的推移,它的价值可能会因为不同的原因逐渐降低,因为用户,包括程序员,已经习惯了它。他们已经学会了如何使用它。见Lotus Development Corp., 49 F. 3d, at 8.49 F. 3d, at 821(Boudin, J., concurring)

   此处的记录中有充分的证据证明这一因素是谷歌希望使用Sun Java APl的原因。参见,App.169-170,213-214.例如,安卓系统的可行性来源与第三方(比如说,程序员)对Sun Java程序的投资有很大关系。它与Sun公司在创建Sun Java APl方面的投资关系不大。我们难以相信《版权法》旨在保护第三方在学习如何应用创作作品方面的投资。参考Campbell510 U.S.at 591-592(讨论需要确定那些可根据《版权法》确认的损失)。

   最后,考虑到程序员在学习Sun Java APl方面的投资,如果允许在这里执行Oracle的版权,将有可能对公众利益造成损害。考虑到生产具有类似的API的成本和难度,如果允许在这里强制执行,将使Sun Java APl的声明代码成为限制未来创新程序的一把枷锁。Oracle公司将独自持有钥匙。这样做的结果很可能会给Oracle公司(或其他拥有计算机界面版权的公司)带来巨大的利润。但是,这些利润很可能来自于创造性的改进,新的应用,以及已经学会使用该界面的用户所开发的新的使用方式。在这种程度上,限制会成为一种干扰,甚至干扰到著作权的基本创造目标。参见Connectix Corp.203F.3d,at 607;See also Sega Enterprises,977 F.2d,at1523-1524通过使他人无法竞争以达到垄断市场的企图与促进创造性表达的法定目的背道而驰)。

 

 

 

Lexmark lnt1,387 F.3d,at 544(应当注意后来的用户复制计算机程序是为了促进开发其功能,而不是利用程序作为受版权保护的作品的商业价值(原文强调))。。毕竟,版权为创造和传播思想提供了经济激励Harper&Row471 U.S.at 558,而用户界面的重新实施可以让创造出的新计算机代码更容易进入市场。

   Sun公司在Android市场中,存在竞争能力的不确定性,其收入损失的来源,以及对公众创造力相关的风险。综合来看,这第四个因素——市场效应——也有利于合理使用的认定。

计算机程序主要是功能性的,这一事实使得在该技术领域中很难适用传统的版权概念。Lotus DevelopmentCorp.,49 F.3d,820 (Boudin,J.concurring)在这里,我们这样做,并没有改变这些概念的性质。我们并没有推翻或修改我们先前涉及合理使用的案例的结论,例如,涉及仿冒产品、新闻著作和模仿的案例。相反,在这里,我们认识到,像合理使用这样的版权原则的应用,被证明是立法机构和法院的长期以来合作努力的结果,而且我们认为,国会有意愿将这一原则继续实施下去。因此,我们参考了合理使用法规第107条规定的原则,以及我们从以前的案例中归纳出的原则,并将其应用于这种不同类型的版权作品。

  我们得出的结论是,在本案中,谷歌重新实施了一个用户界面,只取其所需,让用户将其积累的才能投入到一个新的变革性程序中,谷歌对Sun Java API的复制在法律上是对该素材的合理使用。联邦巡回法院的相反判决被推翻,并将此案发回重审,以便根据本意见进一步审理。

 

巴雷特法官没有参与本案的审议或裁决。

法院意见的附录

附录

A

计算机系统图

有些读者可能会发现,先解释什么是 "软件平台 "是有帮助的。简单地说,一个软件平台收集了程序员构建计算机程序可能需要的所有软件工具。例如,Android平台包括 "操作系统""核心库 " "虚拟机 "等工具。App. 197–198.

下图说明了标准计算机系统的一般特征,虚线反映了计算机硬件和软件的划分。(并非为了反映本案中的任何具体技术)

/private/var/folders/_x/6rczgkjx5dd8xrrgwyfrb0p00000gn/T/com.kingsoft.wpsoffice.mac/wps-linqiwen/ksohtml/wpsVQhfSP.png

J. GarridoR. Schlesinger,《现代操作系统原理8》(20081.4,计算机系统的外部视图)。

 

 

 

法院意见的附录

附录

B

 

 

编程器输入

Sun Java API

方法调用java.lang.Math.max (4, 10)

申报代码

 java.lang

 

公共类

 

公共静态最大值(int x, int y)

 

 

 

执行代码

{ if (x >y), return x else return y }

这张图以地方法院的例子描述了争议的Sun Java API技术的三个部分之间的联系,Oracle, 872 F. Supp. 2d, at 980-981。程序员输入方法调用以从API内调用任务(实线箭头)。方法调用中的精确符号对应于一个任务,该任务位于一个特定的类中。该类位于一个特定的包中。所有提供该组织并命名方法、类和包的代码行都是 "声明代码"。对于每个方法,声明代码与特定的实现代码行(虚线箭头)相关联。就是那段实现代码(谷歌为其Android API编写的),实际在程序员的应用中指示计算机。

593 U. S.    (2021)                                        

 

THOMAS, J., 不同意。

美国最高法院

18-956

谷歌诉Oracle公司

向美国联邦上诉法院提交的委托书

[202145]

托马斯法官,与阿利托法官一起,表示不同意。

Oracle公司花了多年时间开发了一个编程库,成功地吸引了软件开发人员,从而使Oracle公司的产品价值得到提升。[31]谷歌寻求在其开发的手机操作系统Android中使用该库的许可。但当两家公司无法就条款达成一致时,谷歌就简单地从库中复制了11500行代码。结果,它抹去了OracleAmazon合作的97.5%的价值,赚取了数百亿美元,并确立了它作为世界上最大的移动操作系统所有者的地位。尽管如此,大多数人认为这种复制行为是合理使用。

法院之所以得出这种不太可能的结果,主要是由于因为它绕过了明确摆在我们面前的前置问题。争议的软件代码是否受《版权法》保护?多数人认为,在没有决定的情况下,假设代码是受保护的,但其公平使用的分析完全不符合国会给予的实质性保护。但它的合理使用分析与国会给予计算机代码的实质性保护完全不一致。通过跳过版权能力问题,多数人无视一半的相关法律文本,并扭曲了其公平使用分析。正确地考虑到该法律文本,Oracle公司在这里起诉的代码是可以享有版权的,而谷歌对该版权代码的使用是完全不公平的。

I

20世纪90年代,Oracle公司创造了一种名为Java的编程语言。像许多编程语言一样,Java允许开发人员预写称为"方法"小的子程序。方法构成了更多复杂程序的构件。这个过程与立法机构对法规的处理方式并无二致。为了节省空间和时间,立法机构会对术语进行细化,然后使用这些定义作为速记。例如,"难民"的法律定义有300多个字,8 U. S. C. §1101(42)。美国法典没有在每次相关的时候重复所有这些词,而是用一个术语将它们全部封装起来,然后插入到每个相关的章节中。Java方法的工作原理与此类似。一旦定义了一个方法,开发人员只需要输入几个字符(方法名和相关的输入)就可以调用子程序中包含的所有内容。熟悉预写方法的专业人员可以将许多方法串联起来,快速开发复杂的程序,而不必从头开始编写所有的基本子程序。

为了创建Java方法,开发人员使用两种代码。第一,"声明代码",为方法命名,定义它能处理什么信息,定义它能输出什么样的数据。这就像法规中的定义术语一样。第二种,"实现代码",包括使这些方法运行的一步步结构[32] ,就像法规中的尾部定义。

Oracle公司的申报代码是其商业模式的核心。Oracle公司通过鼓励开发者创建用Java编写的程序,然后向制造商收取费用,将运行这些程序所需的Java软件平台嵌入他们的设备中,从而获得经济利益。为此,Oracle创建了一个名为Java 2 Platform, Standard Edition的作品,其中包括一个高度组织化的库,包含大约3万个方法。Oracle公司让开发人员免费使用这些方法,以鼓励他们为Java平台编写程序。作为回报,开发者必须使他们的程序在任何设备上都能与Java平台兼容。开发者被鼓励对平台进行改进,但他们必须向公众发布有益的修改。如果一家公司想对平台进行定制,并出于商业目的对这些定制进行保密,它必须支付单独的许可证。

到了2005年,许多公司都在竞相开发后来成为现代智能手机的操作系统。Oracle的战略成功地鼓励了数百万程序员学习Java。因此,Java软件平台出现在绝大多数的手机中。谷歌希望通过在Android中加入他们熟悉的声明代码来吸引这些程序员。但Android的创始人安德鲁-鲁宾(Andrew Rubin)不明白声明代码是受版权保护的,因此谷歌向Oracle寻求定制授权。在2005年到2006年之间,这两家公司至少四次试图去谈判许可证,但都没有成功,部分原因是"信任问题"App.657

当这些谈判破裂后,谷歌干脆决定还是使用Oracle的代码。谷歌没有像苹果和微软那样创建自己的声明代码,而是逐字逐句地复制了11500Oracle的声明代码,并将这些代码与Oracle的代码排列得一模一样。然后,它向设备制造商宣传安卓系统包含"核心Java"。同上,第600页。Oracle公司预料到,它的反应是起诉谷歌侵犯版权。联邦巡回法院裁定,Oracle公司的声明代码是可以享有版权的,谷歌对其的复制不是合理使用。

法院错误地回避了要求我们回答的主要问题。宣告代码是否受版权保护?我认为是受保护的。

计算机代码在知识产权中占有独特的空间。版权法一般保护人工作品。专利法一般保护发明或发现。代码库跨越了这两个类别。它像发明一样具有很强的功能性,但作为一种写作,它也是一种作者的作品。面对可以在这两种空间中找到合适的东西,国会选择了版权,并将宣布代码纳入保护范围。

《版权法》明确保护计算机代码。它承认"计算机程序"受版权保护。见17 U. S. C. §§109(b)117506(a)。而且它将"'计算机程序'"定义为"一组直接或间接在计算机中使用的语句或指令,以实现某种结果"§101。该定义明确涵盖了通过触发预先编写的实现代码而间接执行计算机功能的语句代码集的声明。

即使没有这种明确的语言,声明代码将满足对可版权性的一般测试。"版权保护存在于……固定在任何有形表达媒介中的原创作品中"§102(a)"作者作品包括......文学作品",它是"用文字、数字或其他语言或数字符号表达的作品......"§§101, 102(a)。而一部作品如果是"作者独立创作的",并且"至少具有某种最低限度的创造性",那么它就是"原创的"Feist PublicationsInc.v.Rural Telephone Service Co.499 U.S.3403451991)。在Java平台上声明代码的行文很容易满足这个"极低"的门槛。同上。首先,它们是以"文字、数字或其他语言或数字符号"来表达的,因此是作者的作品。§101。其次,正如Google所承认的那样,这几行声明代码是原创的,因为Oracle可以用任何方式创建它们。

谷歌认为,声明代码是一种"操作方法",因此被§102(b)排除在保护之外。该条款将"任何想法、程序、过程、系统、操作方法、概念、原则或发现"排除在版权保护之外,而不论其描述、解释、说明或体现的形式如何。这一规定编纂了"思想/表达二分法",即版权保护只涵盖思想的"作者的表达",而不是思想本身,见Golan v. Holder, 565 U. S. 302, 328 (2012)。想法本身的财产权只有在可以通过信件专利保护的情况下,才能予以保护Bakerv.Selden, 101 U. S. 99, 105 (1880)。因此,例如,"记账方法"不受版权保护,但描述该会计方法的表达方式受版权保护。同上,第101-102页。因此,一个人写了一本书,发明了声明代码的想法,他对书中的表达有版权保护,但对声明代码的想法本身没有版权保护。谷歌公司承认,实现代码是受《版权法》保护的,但它认为,宣布代码的功能更强,因此是保护范围之外的"操作方法"

这一论点是失败的。正如大多数人正确地认识到的那样,声明代码和实施代码"密不可分地结合在一起"。前注,第22页。声明代码定义了一组实现代码的范围,并给程序员提供了一种通过捷径使用它的方法。因为声明代码包含了实现代码,它本身没有功能。实现代码也是如此。如果没有声明代码,开发人员将不得不从头开始编写每一个程序,使得复杂的程序在创建时非常耗时。因此,声明代码和实现代码的功能通常会一起上升和下降。

谷歌的论点也无法解释国会将受保护的计算机代码定义为 "一套直接或间接在计算机中使用的语句或指令,以实现某种结果 "的决定,§101(强调是后加的)。因此,国会拒绝在声明代码和执行代码之间进行任何分类的区分。实施代码直接命令计算机操作。宣告代码通过纳入实施代码间接地进行操作。当面对禁止保护"操作方法"的一般语言和保护声明代码的具体语言时,"'具体的管辖一般的'" "RadLAX Gateway, LLC v.Amalgamated Bank, 566 U. S. 639, 6452012)。

这一上下文清楚地表明,§102(b)中的 "操作方法 "一语并没有仅仅因为代码是功能性的,就取消对申报代码的保护。但是,这种解释并没有使"操作方法"失去意义。它"被与之相关联的邻接词赋予了更精确的内容"United States v. Williams, 553 U. S. 285, 294 (2008)。同一小节中的其他术语,如 "思想""原则 " "概念 "表明,"操作方法 "涵盖了计算机代码实现的功能和思想--如数学函数、会计方法或声明代码的思想--而不是Oracle创造的具体表达方式。Oracle公司不能对使用声明代码的思想进行版权保护,但它可以对在其库中发现的该思想的具体表达进行版权保护。谷歌还争辩说,声明代码不受版权保护,因为 "合并原则 "禁止在只有一种方式表达一个想法时进行版权保护。该论点与谷歌的§102(b)论点失败的原因相同。即使该原则存在,谷歌也承认它只是对§102(b)的应用。而且,无论如何,Google复制声明代码行的方法可能只有一种,但Oracle有无数种方法可以写出这些代码。当然,苹果和微软也设法创造了自己的声明。

 

法院莫名其妙地拒绝处理版权问题。其唯一的理由是"技术、经济和商业相关的环境"正在"迅速变化"。前注15页。当然,在涉及计算机的地方,这是一个不变的事实。

法院并没有解决这个主要问题,而是简单地假设声明代码是受保护的,然后得出结论,每个合理使用因素都有利于谷歌。我同意大多数人的观点,即国会并没有将计算机程序从合理使用的普通应用中"屏蔽"。前注,第18页。但多数人对合理使用的应用远非普通应用。通过跳过可版权性,多数人把方法论弄反了,导致法院回避了一个不可避免地影响合理使用分析的关键结论。国会拒绝在声明代码和实施代码之间做出明确的区分。但大多数人却制造了这样的区别。这种扭曲分析的结果是一种意见,即很难想象在任何情况下,声明代码仍将受到版权保护。

我同意大多数人的观点,基于我们先前的司法判例,合理使用是一个客观事实和法律层面的混合问题,而法律层面占主导地位。因为陪审团发表了支持谷歌合理使用的结论,我们必须解释支持故意的所有事实的分歧和推论解释,并质询关于法律层面的证据是否足以支持陪审团的裁决。见联邦规则公民诉讼.规则50b)程序,50b)。但法定的公平使用因素是否有利于一方或另一方,是一个需要重新审查的法律问题。国会规定了四个法定公平使用因素供法院衡量。而其中的三个因素充分有利地支持Oracle公司。即使假设主要的因素有利于谷歌,而除了该因素,没有更多的因素,也不能在此情况下合法地确定公平使用。

大多数人持相反的观点,认为每一个因素都是支持谷歌。在很大程度上,他们都偏向于谷歌,因为它在很大程度上依赖于其在声明和实现代码之间的不同,而这种不同是法规所拒绝的。值得注意的是,大多数人他们既不按顺序,也不按重要程度来评价这些因素(基于我们的司法判例,至少有两个因素更重要5)。相反,它从第二个因素开始:版权作品的性质。这样做的目的是为了在声明代码和实现代码之间建立一种区别,使前者比后者更不值得保护。由于多数人的错误分析在很大程度上是因为这个因素,所以我也从这个因素分析开始。

 

A:版权作品的性质:

这一因素要求法院评估原创作品的创造性或功能性水平。当版权作品的"信息性或功能性"大于"创造性"时,它一般倾向于合理使用。4 M. Nimmer & D. Nimmer, 版权(2019.由于代码主要是功能性的,所以当原始作品是计算机代码时,这一因素往往会有利于复制。但由于国会决定声明和实现代码是可以复制的,因此仅这一因素不能支持合理使用的结论。

然而,大多数人利用这一因素在声明代码和实现代码之间制造了一个区别,实际上取消了对声明代码的版权保护。它的结论是,与实现代码不同,声明代码远"不是版权的核心",因为只有当第三方(计算机程序员)重视它时,它才会变得有价值,而且因为它"本质上与不可复制的想法捆绑在一起""前文,第23-24页。

然而,国会拒绝了这种断然的区分,因为这种区分会使声明代码不值得保护。  《版权保护法》"在计算机中操作以带来某种结果"的代码,包括"直接"(实现代码)和"间接"(声明代码)。而如果说,声明代码更接近于"版权的核心"。前注24页。开发者甚至看不到实现代码。先例,公司诉谷歌公司2016 WL 3181206*4ND Cal.201668日);另见前注23页。(声明代码是"以用户为中心")。因此,实现代码没有向开发者传达任何表达。相比之下,声明代码是面向用户的。它的设计和编排方式必须是直观的、可被开发人员理解的,以便他们能够调用它。

即使抛开这些顾虑,多数人的区别对待也是站不住脚的。诚然,声明代码"本质上与不可版权的想法捆绑在一起"。前注,在23-24页。难道什么都不是吗?书籍本质上是与不可复制的思想捆绑在一起的--使用章节,有情节,或包含对话或脚注。这并没有使书籍远离"版权的核心"。而实现代码,多数人承认它是可版权的,但它本质上与"计算任务的分工"捆绑在一起,不能进行版权保护。6   前注22.   我们并没有仅仅因为某项作品与不可版权的创意相关联而对其打折扣。虽然思想不能被授予版权,但这些思想的表达可以。Golan, 565 U. S., at 328.

同理,声明的价值也没有什么不同,编码取决于第三方投入多少时间来学习它。

许多其他版权作品也是依赖如此。一个百老汇音乐剧剧本需要演员和歌手投入时间学习和排练。但一家剧院不能仅仅因为想吸引演员转院,而且复制剧本比要求演员学习新剧本更有效,就复制一个剧本--其版权由一家小剧院持有。

大多数人所说的声明代码是正确的,实现代码也同样如此。宣告代码是程序员访问预写的实现代码的方式。因此,该实现代码的价值与程序员对相关声明代码的重视程度成正比。多数人正确地认识到声明代码"与实现代码紧密相连",前文第22-23页,但它忽略了自己结论的含义。

只有在错误地得出结论,认为声明法的性质使得该法一般不值得保护之后,法院才继续考虑其他因素。这一错误的开头成为法院的整个分析污点。

 

B:市场效应

"合理使用的最重要因素无疑是谷歌的复制"'[Oracle]版权作品的潜在市场或价值'的影响。"Har- per & Row, Publishers, Inc.Nation Enterprises, 471 U. S. 539, 566 (1985)。正如联邦巡回法院正确地阻止了,"源于谷歌复制行为的实际和潜在损害的证据是'压倒性的'"886 F. 3d 117912092018)。通过复制Oracle的代码来开发和重新租赁Android,谷歌至少以两种方式毁掉了Oracle的潜在市场。

首先,Google消除了制造商愿意付费安装Java平台的原因。谷歌的业务模式与Oracle不同。Oracle公司通过向设备制造商收取安装Java平台的费用来赚取收益,而谷歌则主要通过广告销售获得收益。

它的策略是向设备制造商免费发布Android系统,然后利用Android系统作为收集消费者数据和发布行为广告的工具。由于免费产品包含了Oracle公司的大部分代码(因此具有类似的编程潜力),设备制造商不再认为有什么理由付费嵌入Java平台。

例如,在谷歌发布Android之前,亚马逊为在Kindle d- vices中嵌入Java平台支付了许可费。但在谷歌发布Android系统后,亚马逊利用Android系统的免费可用性,与Oracle公司协商97.5%的许可费折扣。庭审中的证据相似的显示,就在谷歌发布Android之后,Sam- sungOracle的合同从4000万美元降至100万美元左右。谷歌对这些都没有提出异议,只是说亚马逊使用了不同的Java平台,Java微版而不是Java标准版。这种区别并不重要,因为前者只是后者的一个较小的子集。谷歌复制了这两种平台形式的代码。大多数人并没有对这一巨大的危害提出异议,甚至没有提及。

其次,谷歌干扰了Oracle的机会。以向智能手机操作系统的开发者授权Java平台。在谷歌抄袭Oracle的代码之前,市场上几乎所有的手机都含有Java平台。Oracle的代码对于任何想要开发智能手机的人来说都是非常有价值的,这也是为什么谷歌四次尝试授权Oracle代码的原因。多数人认为,谷歌还向Oracle公司寻求其他许可,前注,第33页,并没有改变这一核心事实。双方都同意,Oracle公司可以通过授权其声明代码进入谷歌的现有市场。但通过复制代码并发布Android系统,谷歌消除了Oracle为该用途许可其代码的机会。

大多数人将这一伤害写在了陪审团身上,他们认为陪审团可以发现,Oracle公司可能无法顺利进入现代智能手机市场。

但是,Oracle公司本身是否能进入该市场只是一半的情况。我们不仅要看"原创作品的创作者一般会开发的"潜在市场,还要看著作权人可能"许可他人开发的"潜在市场。坎贝尔诉阿库夫玫瑰音乐公司案,《美国判例汇编》第510卷第569592页(1994年)。书籍作者不需要能够亲自将一本书转化为电影,只要他能够许可他人这样做。Oracle公司可以许可其代码用于Android系统,这是无可争议的。

由于无法认真争论谷歌的行为对Oracle的潜在市场产生了灾难性的影响,大多数人改变了方向,并声称强制执行版权保护可能会损害公众,因为它给Oracle提供了"限制Android上程序未来创造力"的权力。前注,第34页。但本案只涉及到201411月之前重新租赁的Android版本。Order in No. 3:10-cv-3561 (ND Cal., Feb. 5, 2016), Doc.1479,第2页(确定到Android Lollipop 5.0的版本)。此后,谷歌已经发布了六个主要版本。只有大约7.7%的活跃的Android设备仍然在运行有关的版本。如果这起诉讼涉及的是广泛使用或将广泛使用的Android版本,那么多数人对锁定效应的担忧可能会更有分量。这在一个关于接近过时的版本的诉讼中没有什么意义。

多数人对锁定效应的担心也是投机取巧。历史证明了这一点。首先,Oracle从来没有限制权力。

 

大多数人(再次)忽略了苹果和Mi- crosoft在没有使用Or- acle的声明代码的情况下创建了移动操作系统。其次,Oracle公司总是将其去声明代码免费提供给程序员。没有什么理由怀疑Oracle可能会因为现在停止使用而伤害程序员。第三,大多数人简单地假设,陪审团在未来关于当前Android版本的诉讼中,会给予Oracle公司对Android系统的控制权,而不是仅仅判处损害赔偿或永久使用费。

如果多数人要猜测Oracle可能会做什么,至少应该考虑谷歌做了什么。多数人表示担心Oracle可能会滥用其版权保护(在过时的Android版本上),"'试图垄断市场前注34-35   

但最近,正是谷歌因滥用Android系统违反反垄断法而被处以创纪录的50亿美元罚款。案例号:40099,谷歌安卓,2018718(欧洲通信欧盟委员会发布新闻稿,对谷歌的非法行为处以43.4亿欧元的罚款,2018718日。谷歌控制着世界上使用最广泛的移动操作系统。而如果公司现在可以自由复制声明代码的库,只要它比编写自己的代码更方便,那么其他公司很可能会犹豫是否要花费Oracle所做的资源来创建直观的,组织良好的库,以吸引亲克,并可以与Android竞争。如果大多数人担心垄断,就应该考虑谷歌是否是更大的威胁。

通过抄袭Oracle的作品,谷歌斩获了Oracle的市场,并创造了一个移动操作系统,现在在超过。25亿台活跃使用的设备,每年赚取数百亿美元。如果这些对Oracle潜在市场的影响有利于谷歌,那么我们的公平使用分析就有很大问题。

C:使用的目的和特点

第二个最重要的因素--"使用的目的和性质,包括这种使用是商业性质还是非营利性教育目的"§107(1)--要求我们考虑使用是否是"商业性的",是否是"变革性的"。坎贝尔案,510U.S.,在578-579。这两个方面都对Oracle公司非常有利。首先,从压倒性的商业性质开始。谷歌的抄袭。仅在2015年,也就是公平使用审判的前一年,谷歌就从安卓系统中获得了180亿美元的收入。随着安卓系统在全球市场占有率的增长,这个数字无疑大幅增加。9在这个尺度上,谷歌使用Oracle公司的声明代码的行为,即使不是决定性的,也是对公平使用的重重阻碍。

多数人试图驳回这种压倒性的商业使用,指出商业使用"不一定是"对合理使用的影响。前注27.的确如此。商业使用有时可以被足够"转化性"的使用所克服。Campbell, 510 U. S., at 579.但是,"我们不能忽视[谷歌]用自己的平台取代[Oracle]有商业价值的平台的预期目的。Harper, 471 U. S., at 562 (强调是原文)。即使我们可以,我们也从未发现合理使用达到数百亿美元的复制,并破坏了版权人的市场。

无论如何,谷歌在转换性使用上的表现也不会好到哪里去。除非复制者的使用是转换性的,否则法院一般不能认定为合理使用。10一件作品如果"增加了新的东西,具有进一步的目的或不同的字符,用新的表达、意义或信息改变了第一件作品",那么它就是"转化性的"Campbell, 510 U. S., at 579.这个问题"§107序言中给出的[合理使用]的例子为指导"Id.,在578处。这些例子包括:"批评、评论、新闻报道""批评、评论、新闻报道、教学......、学术或研究"......、学术或研究"§107.虽然这些例子并不是唯一的,但它们是说明性的,GoogleJava代码从大型计算机转到小型计算机的做法与这些例子都不相似。谷歌并没有使用Oracle的代码来教导或反向工程系统以确保兼容性。相反,为了"避免在开发新产品时的繁琐",同上,在580处,谷歌将声明代码用于与Oracle相同的目的。正如联邦巡回法院正确地指出,"将受版权保护的作品一字不差地用于与竞争平台上的原作相同的目的和功能,是不公平的""886 F. 3d, at 1210.

大多数人承认,谷歌使用了复制的声明代码"出于同样的原因"Oracle。前注25.因此,多数人轮流改变了"变革性"的定义。现在,我们被告知,"变革性"仅仅意味着--至少对计算机代码而言--一种将帮助他人"创造新产品"的用途,这个新定义抹杀了版权。

这个新定义抹杀了版权,一个未经许可就将一本书改编成电影的电影制作人,不仅创造了一个新产品(电影),而且使其他人能够"创造产品"--电影评论、商品、YouTube的精彩片段、深夜电视采访等等。几乎所有的计算机程序,一旦被复制,都可以用来创造新产品。当然,大多数人不会说,一个作者可以盗版微软Word的下一个版本,仅仅因为他可以用它来创造新的手稿。11

最后,大多数人错误地将变革性使用与衍生性使用混为一谈。一部作品要想具有转化性,必须做一些与原作根本不同的事情。在新的语境下,作品仅仅是为了相同的目的--多数人承认这一点是正确的--是具有竞争性的,而不是转化性的。国会明确指出,Or-acle拥有"制作衍生作品的专有权利......"......准备衍生作品的专属权利"§106(2).谷歌并没有创造出一个转化性的产品,而是"从对版权材料的利用中获利,而没有支付通常的价格"Harper, 471 U. S., at 562.

 

D.所用部分的数量和实质内容

法定的公平使用因素还指示我们考虑以下问题

"相对于整个版权作品而言,所使用的部分的数量和实质内容"§107(3).在一般情况下,使用量越大,越可能是不公平的复制行为。同上。但是,即使复制者只取用了少量,复制作品的" '心脏'""焦点"也会对公平使用产生影响,Harper, 471 U. S., at 565- 566, 除非"'取用的数量不超过必要的数量'",复制者才能实现转化使用,Campbell, 510 U. S., at 589

谷歌对联邦巡回法院关于其抄袭Oracle作品的核心或焦点的结论没有异议。886 F.3d,在1207。声明代码是Java平台吸引程序员的原因,也是谷歌对该代码如此感兴趣的原因。而谷歌"逐字"地复制了该代码,这对合理使用是不利的。Harper, 471 U. S., at 565.大多数人并不反对。相反,它的结论是,谷歌采取的只是创造新产品的必要手段。这种分析是失败的,因为谷歌的使用并不是变革性的。Campbell, 510 U. S. at 586 (承认这第四个因素"将回溯到[目的和特征]法定事实")。因此,这个因素对谷歌不利。

即使谷歌的使用是转换性的,多数人认为谷歌只复制了一小部分原创作品的结论也是错误的。多数人指出,11,500行声明代码--足以填满附录中约600页,Tr.57-只是Java平台中代码的一小部分。但正确的去提名者是声明代码,而不是所有代码。如果复制作品可以"作为原作的市场替代品"或该作品的"潜在许可衍生品",那么它在数量上就是实质性的。Campbell, 510 U. S., at 587。宣告代码是吸引程序员的原因。这也是Android成为Oracle公司Java平台的"潜在许可衍生品""市场替代品"的原因。谷歌的复制行为在质量上和数量上都很可观。

 总而言之,在四个法定合理使用因素中,有三个因素对谷歌非常不利。受版权保护的作品的性质--唯一可能有利于谷歌的因素--本身不能支持对合理使用的认定,因为不认为谷歌是"合理使用"

否则,这将不适当地推翻国会关于宣布代码可享有版权的决定。12

 

大多数人打算将声明代码是否可受版权保护的问题留待日后解决。这样做的唯一理由是,大多数人无法将其根本上有缺陷的合理使用分析与声明代码可受版权保护的结论相提并论。多数人利用合理使用来回避国会深思熟虑的政策判断。我谦逊地表示异议。



[1]SeeH.R.Rep.No.94-1476,pp.65-66(1976)

[2]SeeLexmarkInt’l,Inc.v.StaticControlComponents,Inc.,387F.3d522,543–545(CA62004)

[3]SeeSonyComputerEntertainment,Inc.v.ConnectixCorp.,203F.3d596,603–608(CA92000)

[4]SeeSegaEnterprisesLtd.v.Accolade,Inc.,977F.2d1510,1521–1527(CA91992)

[5]SeeCampbell,510U.S.,at577-578.

[6]See17U.S.C.§106.

[7]SeeHarper&Row,471U.S.,at560.

[8]SeeU.S.BankN.A.v.VillageatLakeridge,LLC,583U.S.,(2018)(sliop.,at9).

[9]SeeFolsom,9F.Cas.,at348.

[10]SeeCampbell,510U.S.,at592–593

[11]SeeHarper&Row,471U.S.,at564

[12]SeeSony,464U.S.,at451

[13]SeeU.S.Bank,583U.S.,at___(slipop.,at8)

[14]See886F.3d,at1196

[15]SeePeterF.GaitoArchitecture,LLCv.SimoneDevelopmentCorp.,602F.3d57,63(CA22010)

[16]SeeU.S.Const.,Amdt.7;seealsoGasperiniv.CenterforHumanities,Inc.518U.S.415,432-433(1996)

[17]SeeNeelyv.MartinK.EbyConstr.EbyConstr.Co.386U.S.317,322(1967)。

[18]Markmanv.WestviewInstruments,Inc.,517U.S.370,376(1996)。Markmanv.WestviewInstruments,Inc.,517U.S.370,376(1996)

[19]SeeGylesv.Wilcox,2Atk.141,142-144,26Eng.Rep.489,490-491(Ch.1740)

[20]SeeSayrev.Moore,1East361,n.,102Eng.Rep.138,139,n.(K.B.1785)

[21]SeeMarkman,517U.S.,at376.

[22]SeeLotusDevelopmentCorp.,49F.3d,在809。

[23]SeeBakerv.Selden,101U.S.99(1880)

 

[24]SeeCampbell,510U.S.at586

[25]SeeCampbell,510U.S.,at579.

[26]See4NimmerOncopyright§13.05[A][1][b](quotingNetanel,MakingSenseofFairUse,15Lewis&ClarkL.Rev.715,746(2011)).

[27]See510U.S.,at580–581.

[28]See17U.S.C.§107(1).

[29]SeeFeist,499U.S.,at349–350.

[30]SeeU.S.Const.,Art.I,§8,cl.8.

 

[31] 另一家公司Sun创建了这个库。但由于Oracle后来收购了Sun公司,为了简单起见,我把这两家公司都称为Oracle

[32] 考虑一个简单的方法的相关文本--设计为将三个整数中最大的整数重新转化为整数--会是什么样子。public static int MaxNum (int x, int y, int z) { if (x >= y && x >= z) return x;

else if (y >= x && y >= z) return y; else return z;

}

第一行是声明定义方法的代码,包括它可以处理哪些输入(整数xyz)以及它可以输出什么(一个整数)。剩下的部分是实现代码,检查哪一个输入是最大的,并返回结果。一旦写好这段代码,亲们就可以通过键入,例如"MaxNum4129"来调用它。

 


登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 联系我们
联系我们: