这个标题“惊悚”不? 但它说的还真是实情。
这实际上是英文网站“Law & Crime”的一个标题,你看国外网站也挺标题党的。
去年写过一篇文章《今年IT界必定有一个超级大瓜!》,但是由于新冠肺炎的全球流行, 这个超级大瓜今年才吃到。
这个大瓜就是Google和Oracle之间的持续了10年之久的世纪诉讼。
稍微回顾一下这个诉讼的背景:
1995年 Sun 发明了风靡全球的Java语言。
2009年Oracle 用74亿美金收购了Sun,从此拥有了Java的版权。
2005年, Google收购了Android,试图建立一个移动平台,为了让程序员平滑地过渡到Android平台,Google 使用了Java 的API。
Andorid获得了巨大的成功,Google也获得了巨大的收益。
2010年,Oracle 指控Google在Android中抄袭了37个Java API(见下图中黄色方框部分), 并以此(间接)获取了巨额的商业利益(400多亿美金),因此索要88亿美元的赔偿。
在过去的十年,这个案件的发展错综复杂,简单来说:
Google在地方法院赢了。
然后Oracle通过联邦巡回上诉法院扳回一局。
2021年4月5号,最高法院以6比2裁定Google对Java API的使用属于合理使用的范围。
也就是说Google 可以Copy Java API的1万多行代码,在Android中使用。
在程序员的眼中, Oracle名声不太好, 是邪恶的,是蛮横的,是开源的阻碍者, 而Google则是推动开源的杰出代表, 但是如果抛开诉讼,抛开对公司的感情因素,我们都可以思考一下:
这些API是不是应该受到版权保护?
先来看Java API, 在Java SE中,有很多的包(java.lang, java.net, java.nio, java.util等),每个包下还有很多类,这些类应该叫什么名字,类之间有什么样的关系,如何进行交互,都需要精通面向对象设计的人仔细考量,小心设计,因为这是一门语言和一个平台的根基。
Java 中包的设计,接口的设计,类的设计,我相信都是大师级的作品,都是创意。
API的设计相当于建筑的设计图,哪个地方是楼梯,哪个地方是门,哪个地方是窗户,这些东西确定了,整个建筑也就确定了。
不是说实现不重要,而是说API设计非常关键,能设计API的人才是真正的牛人。
从这层意义上来说,Java API是应该受到版权保护的。
实际上Android的创始人Andy Rubin也认为java.lang应该受到版权保护:
但是站到另外一个角度, 保护API会阻碍技术进步。
在一份很多牛人联署的反对“API版权保护”的报告中,举了很多极好的没有保护API带来技术进步的例子:
康柏公司重现实现了IBM 的BIOS API
Linux重新实现了AT&T公司所拥有的Unix API
很多系统重新实现了BSD的Socket API
C标准库的API被重新实现了无数次 ......
如果这些公司、学校,组织都去保护API的版权,那现在的IT界估计还停留在几十年前。
一方面是公众利益和技术进步,另一方面要保护版权,这挺难的。
做个调查吧,仅就Java API这个诉讼来说,你是支持Google还是支持Oralce?