那么这场版权案件所争议的到底是什么呢?上世纪90年代,Java问世。到今天,Java已经成为最广泛采用的编程语言之一,其创建的标准子例程库让程序员可以“调用(call)”而不是从头开始编写子例程。在Java语言中,该调用创建到称为“声明(declaration)”的代码行的连接,该代码行又链接到“子例程( ApplicationProgramming Interface, API ) ”。通常有不同的方式来编写实现特定功能的子例程,但是在特定情况下,也存在只能以一种方式编写的可能性。在开发Android智能手机平台时,Google决定使用Java作为编程语言,同时判断需要以适合智能手机的方式编写新的子例程。为了达到Android与Java应用程序间的高度兼容,Google复制了Java库中大约20%子例程的11000个声明。通过这个方法,Java程序员更容易将带有Java调用的现有应用程序移植到Android而不必从头开始重写应用程序。2010年,甲骨文收购了Java创始公司太阳计算机系统的资产,并随后起诉Google侵犯版权。
那么问题来了:Google在不同程序元素之间复制链接(接口)时是否侵犯了版权?这个问题乍一看简单明了,但法官需要明晰软件开发人员创建与现有程序交互的新程序时应如何处理,细细思索起来就能感觉到其复杂及影响深远的程度。毫无疑问,Java语言不具有版权,而预编写的子例程具有版权。那么此二者之间的链接声明呢?就是这么一个一句话就能概括的问题却在经历了甲骨文与谷歌之间长达十年的诉讼依然没有得到解决。之所以这场诉讼拉锯十年之久,与美国法院管辖权制定离不开关系。2012年美国加州联邦法院(the Northern District of California)法官依据加州第九巡回上诉法院判例法裁定声明不属于版权保护范围。但由于Oracle诉Google为专利侵权及版权问题,依据法规,上诉仅能由位于华盛顿哥伦比亚特区的美国联邦巡回区上诉法院受理。依据美国法院管辖权的设定,该巡回区上诉法院对所有涉及专利的案件——即使案件的诉因并不是专利。巡回区上诉法院没有选择依据第九巡回法院的判例法,而是选择依据第三巡回法院判例法判定声明属于版权保护范围。2016年初审法院采用陪审团意见维持原判,然而2017年,巡回区上诉法院再次做出裁决支持Oracle。Google就此诉请最高法院审查该案件,最高法院最终批准受理。口头辩论原定于今年3月进行,但由于新冠疫情推迟至今。Google方的论点主要包括“声明不是表达”以及“声明与其所链接的子例程是功能性合并,无法分割”。美国版权法保护表达(expression),而不保护思想(idea)、系统(systems)、过程(procedures)或操作方法(methods of operation)。同时Google认为只有复制与调用匹配的Java声明后,该程序才能在Android环境中重用。也就是说Google认为自己找不到其它的编写方式书写这些声明。Oracle的观点则认为不应将声明与其它代码区分处理,与代码相比,这些声明的编写其实反映出更多创造力。有趣的是,在上世纪90年代,Oracle曾公开争辩过它认为软件接口不在版权保护范围之内——由此看来时间确实会改变一些事情,不论是观点,还是利益立场。对于这样一个烫手山芋,最高法院当然也十分头疼。要知道,计算机技术及现在崛起的人工智能领域一向是知识产权界的“灰色地带”。对于这样高新的技术,各方一直非常谨慎,尤其是美国,名动天下的Alice案(Alice Corp. v. CLS BankInternational.)也不过是六年前的事情。可以想见最高法院最稳妥的方法就是寻求回避对复杂的技术问题进行实质性的法律判定,而改为尽可能在程序正当性上做文章,例如联邦巡回法院忽视了陪审团的意见而做出自己的判断,从而导致判决无效等。我们不用体会法院的头疼,可以探索一下这个有趣的问题。Google背靠一堆同行支持,仿佛一脸正义凌然,然而当我们回归《美国版权法》关于“合理使用”的定义可以看到,Google的论点也不是那么站得住脚。