在谷歌诉甲骨文案中支持开发者

2020-10-07 15:50:16

Mike Linksvayer是GitHub开发者政策的负责人,领导该公司在全球范围内倡导开发者的努力。

当我们使用接口时,我们不需要了解(或关心)接口另一端的功能是如何执行的。只是起作用了。当您坐在电脑前时,QWERTY键盘允许您将单词快速显示在屏幕上。当您向供应商提交在线付款时,您确定资金将出现在供应商的帐户中。只是起作用了。

在软件世界中,软件程序之间的接口称为“应用编程接口”或API。API可以追溯到20世纪50年代,允许开发人员编写重用其他程序功能的程序,而不需要知道这些功能是如何执行的。如果您的程序需要对列表进行排序,您可以让它使用排序程序的API来对您的程序的列表进行排序。只是起作用了。

开发人员历来使用的软件界面没有版权问题,这种自由加速了创新、软件互操作和开发人员工作的流动性。使用现有API的开发人员可以节省时间和精力,从而将节省的时间和精力重新集中在新的想法上。开发人员还可以将API从一个软件平台重新实现到其他软件平台,使创新能够在软件平台之间自由流动。

重要的是,重用API为开发人员提供了工作可移植性,因为一组API的知识更适用于跨行业。即将到来的谷歌诉甲骨文(Google v.Oracle)案可能会改变这一局面,损害开发者、开源软件和整个软件行业。

谷歌诉甲骨文案是长达十年的纠纷的高潮。早在2010年,甲骨文就起诉谷歌,称谷歌的Android操作系统侵犯了甲骨文在Java方面的权利。十年后,这场争论现在归结为谷歌在Android中重复使用JavaAPI是否侵犯了版权。

在此之前,大多数人都认为版权不包括API等功能性软件的使用。在这一假设下,竞争平台的API重新实现允许开发人员根据API协议构建新的但熟悉的东西:每个人都可以使用API来构建彼此互操作的应用程序和平台。坚持API使事情变得“只需工作”。

但是,如果谷歌诉甲骨文案的裁决表明API的重新实现需要版权许可,那么这笔交易就会破裂。除非平台制造商同意,否则没有什么是“有效的”;他们现在规定了互操作性的规则-向开发人员收取高额平台费用,或者阻止竞争对手、兼容的平台的构建。

如果API不是免费和开放的,平台创建者可以阻止竞争平台使用兼容的API。这种缺乏竞争阻碍了平台创新,并损害了开发人员,他们不能同样容易地将技能从一个项目转移到另一个项目,从一个工作转移到另一个工作。

Oracle的流行数据库MySQL重新实现了mSQL的API,因此用于mSQL的第三方应用程序可以“轻松地”移植到MySQL上。如果版权限制了这些API的重新实现,那么MySQL的采用、旧mSQL程序的可重用性以及“LAMP”堆栈实现的扩展都会被扼杀,整个生态系统也会因此而变得更差。这一点以及其他API重新实现的例子-IBM的BIOS、Windows和Windows Wine、UNIX和Linux、Windows和WSL、.NET和Mono,推动了可能是人类历史上最令人惊叹的创新,开源软件成为世界关键的数字基础设施。

同样,API兼容实现的版权限制使开发人员受制于平台制造商的说法-无论是出于他们的技能还是他们的程序。一旦为一组给定的API编写了程序,该程序就锁定在该平台上,除非这些API也可以在其他软件平台上使用。一旦开发人员学会了如何使用给定API的技能,重用就比为另一个平台重新培训API容易得多。如果平台创建者决定收取高昂的费用,或者终止平台支持,开发人员就会陷入困境。对于非开发者来说,想象一下:QWERTY布局是受版权保护的,版权所有者决定向每个键盘收取1000美元的费用。你会有一个选择:要么重新训练你的手,要么付清。

任何人使用的所有软件都是由开发人员创建的。我们应该给予开发人员自由重新实现API的权利,因为开发人员在软件生态系统之间转换应用程序和技能的能力使每个人都受益-我们都能获得更好的软件来完成更多任务。

我希望最高法院的裁决会注意到开发者的经验表明:免费和开放的API促进了技术领域的自由、竞争、创新和合作。