当前位置:产品库>>综合>>>正文

Android遍地花开 背后是API抄袭的十年之诉

时间:2021/6/7 16:02:38 | 作者:吴新 | 来源:

将近10年的甲骨文控告Google侵权使用Java SE API的官司在4月份落下了最后的结果——Google使用Java API并未违反著作权法。这桩官司起于2012年Java持有者甲骨文控告Google集中在Android系统中,侵权使用37项Java API程序代码的“结构、串行和组织”,要求赔偿88亿美元。后来并提高到200至300亿美元。最高法院以6:2的大法官判决结果,推翻了2018年10月联邦上诉巡回法院的判决,认定Google对Java API属于合理使用,软件从业者们也卸下了心中的大石。

Android遍地花开,背后是API抄袭的十年之诉

1.Android抄袭的历史问题


时间回到2005年,当时还是诺基亚、黑莓机等“半智能手机”横行的时代。智能手机山雨欲来,但尚未呱呱落地,具有代表性之作苹果iPhone要2年后才会问世,许多公司正紧锣密鼓地秘密开发智能手机。


其中一家公司便是Google,Google仅花5000万美元便并购了新创公司Android。Android 团队决定以Java语言为核心,建造新一代的手机操作系统。当时 Java 主要用于电脑与服务器。而团队负责人安迪·鲁宾指出Java已有众多的开发者与详尽的文件,是发展智能手机系统最好的起点。


问题在于Google需取得Java的拥有者昇阳(Sun Microsystems)的授权。Sun Microsystems是IT及互联网技术服务公司,创建于1982年,主要产品是工作站及服务器。1995年Sun Microsystems开发了Java第一个通用软件平台,在1997年Sun Microsystems开始推出其新的64位元服务器家族Sun Enterprise 10000,同年又开发出Java 2。


然而与昇阳的合作始终无法谈成,最终安迪·鲁宾在一封内部信中留下两个选项:


(1)放弃并改用微软的 CLR VM 与 C# 语言;


(2)硬做Java,然后捍卫决定,竖立更多敌人。


后来的进度表明Google选择了(2),其采用了一个巧妙的作法:它没有照抄Java所有的程序码,而是只抄袭了Java的应用程序介面(Application Programming Interface, API)。


2.“拿来主义”伸向Jave API


API翻译过来为“应用程序编程接口”,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。


比如研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。


Google重新写了实际制作部分的程序代码,主要是为了配合手机的特性,这部分称之为执行码(implementing code)。但 Google照抄Java 共 37 大项,11500 行的部分,称之为属性宣告码(declaring code),然后还照抄了其组织方式(如下图)。

Android遍地花开,背后是API抄袭的十年之诉

抄的好处当然多,当Java的工程师转过来工作时,就不用重新学习 API 架构,只要使用已知的指令呼叫方式(method call)就能上手。


Google的策略成功了,Android 免费、开源,迅速席卷市场,成为市占率最高的手机操作系统。相对的,昇阳却日落西山,于 2010 年被甲骨文并购。


甲骨文于2010 年控告 Google 侵犯其著作权,此案缠讼 10 年,不仅影响数百亿美金的手机市场,也牵动软件业的运行方式,被称为“十年来最重要的著作权案”。


而今年这一旷日持久的官司盖棺论定:Google 胜诉,推翻之前要求Google赔偿88亿美元的大法官斯蒂芬·布雷尔表示,允许甲骨文在其程程序码上执行著作权,将使其成为限制科技未来创造力的枷锁,从而损害公众利益。


3.Google胜诉对软件业的影响


为何Google摆明是抄袭,而且还挖角别家的开发者,却可以胜诉?


首先要理解著作权是一种手段,不是结果本身。著作权的存在是为了鼓励创作,特别是鼓励创作那些易于复制的东西,例如电影、书、音乐等。如果没有著作权保护,作品可以任意复制,作者无法从作品中获利,那就没有人进行原始创作了。如此来看,著作权是激发科学与艺术绽放的“催化剂”。


从某种意义来说,著作权的保护不是绝对的,著作权本质上是为了一个人(著作权人)的利益,限制整个社会的行为。所以一些国家也设下许多限制,限缩著作权的涵盖范围。例如若一个领域就算没有著作权保护,可以蓬勃发展,那么著作权就不需要过度的伸张。


而美国最高法院本次判决的核心,就是认为允许Google抄袭Java的API反而有助于创造更活络的软件环境。不过这是跳到结论,我们先倒回去,讨论个别的论点,Google 在上诉中提出了两个主要辩护论点。


第一,Google主张API不受著作权保护,就像物理课本里的地心引力公式,或是字典的索引不应该受著作权保护一样。


相反的,甲骨文则主张设计 API 是需要高度创造力。因为设计一套直觉、易记的 API 并不简单,跟写出《哈利波特》一样需要创意。而且 API 有许多种设计方式,微软与苹果后来都开发出自己的 API,因此甲骨文所选的设计当然应该享有著作权的保护。


这其实是本案最重要的争执点,也是软件业最关心的部分。很可惜最高法院回避了此一问题,只说“为了方便讨论,我们假设 API 具有著作权保护”,并直接跳到下一个论点。


第二,Google主张其是合理使用Java的 API。


如前述,著作权的保护不是绝对,会受到其他权利的限制。例如美国宪法第一修正案保证言论自由,因此虽然电视新闻享有著作权;但如果有人想要抨击、嘲讽电视新闻,就可以取用其中一小段,拿来制作抨击内容的材料,这是一种合理使用。


常见的合理使用包括评论、嘲讽、教学、研究、逆向工程等。本案中,法院必须根据 4 个要点来评估是否为合理使用:使用的目的和性质;著作权作品的性质;相对整个有著作权作品相比所使用的内容和数量;以及这种使用对有著作权作品的潜在市场或价值所产生的影响。


而最后判决之前,多数法官认为 4 个考量要点都对 Google 有利。法官首先考虑第 2 要点。他认为被抄的 API 与一般的程序代码不同,其并不直接执行任务,只是开发者与程式码之间的介面,且主要价值源自于开发者对于 API 的熟悉度,因此抄袭更可能是合理使用。


在第1要点上,法官认为Google 的抄袭也是一种转化使用,从电脑应用转移到手机,因此不会替代原本的使用场景。


在第3要点上,法官认为Google 抄袭的 API 仅佔总程序代码的 0.4%。而且 Google 不是为了API 的创意抄袭,而是为了让开发者能更快上手,不算实质性的抄袭。这有点类似我们制作一个同样使用QWERTY介面的键盘,不是因为这样的排列特别美丽或好用,而是因为大家都习惯了。


在第4要点上,法官认为 Android并不是Java的竞争者,没有伤害Java的市场。也没有证据证明如果Android没有抄袭,甲骨文就能成功地进军手机市场。事实上法官认为Android带动更多人熟悉 Java 语法,反而扩大了Java的市场。


基于以上四点,多数法官认为 Google 抄袭 Java 的 API 属于合理使用。允许其合理使用有助于加快软件发展,且没有伤害到甲骨文的原有市场,因此判决 Google 胜诉。


4.松了一口气的软件开发业


判决一出,软件社群大多一片好评,纷纷惊呼:心头大石终于落地了。因为使用既有的 API,再重新写执行码在业界实已是常态,如果甲骨文胜诉,整个软件业都要重新调整。


然而发表不同意见书的克拉伦斯·托马斯大法官则指出,多数法官的判决回避了核心的问题——API是否可以享有著作权保护。他认为 Android切实伤害了Java在手机市场的机会。托马斯指出Java原本是手机领域最普及的程序语言。原本亚马逊、三星都与甲骨文签有 Java 的授权协议;但因为Google没付钱、Android 又是开源的,导致亚马逊把授权金砍到原本的2.5%,三星的授权金则从4千万美金掉到1百万美金。


托马斯也不认为 Google 的使用方式有什么转化,两者 API 的功能根本一模一样,从电脑到手机也不算真正的跨界。他进一步质疑,如果谁都能抄袭,那么未来谁还愿意投资开发直觉、好记的 API 呢?


从产业的角度来看,挪用API 已是常态,目前看来新 API 前仆后继地出现,即可看见移动设备产业欣欣向荣的一面。如果判决反过来,变成每次写新的软件平台都要重学 API 或是付授权金,整个产业又将是怎样的场景呢?


未来软件之间的 API 会更接近,更相容,也更容易开发,这是趋势。可以确定的是,法院用了 62 页判决,其中超过 10 页解释何谓软件平台、API 与程序代码,证明了软件已成为社会的骨干,亟需更多权利义务的定义。

您可能感兴趣的文章:

相关文章