谈开源软件、开源许可证和逆向工程
下学期准备一门新课,有一节内容是知识产权,重点讲开源软件和许可证。在收集材料过程中,我不仅找到很多有趣素材,更惊讶我们对开源许可证重视不够、对开源软件贡献微小。
自由软件(free software)定义
一个软件如果是自由软件(free software),这意味着用户可以自由地运行,拷贝,分发,学习,修改并改进该软件。
开源软件(open source software)定义
以源码形式分开或公开的源码的软件称作开源软件,通常遵守某个开源许可证(license)。
互联网飞速发展,在很大程度上得益于开源软件,从Linux、gcc、虚拟化、安卓再到数据库和web服务器。互联网行业很少有人和公司讨论开源许可证,人们“大胆”使用开源代码,更在乎功能和性能等技术因素,对开源许可证和逆向工程引发的法律问题并不特别担心。
以下是几个经典案例(大部分来自《IT之火-计算机技术与社会、法律与伦理》):
1) 1983年环球影业诉索尼公司
该案件是美国最高法院对受版权保护作品进行私人、非商业拷贝的第一个案件,影响深远。环球影业状告索尼侵犯版权,因为有客户使用索尼制造的Betamax摄像机录制在电视上播放的电影。法院裁定拥有大量合法用途的设备制造商不应该有人用其设备侵犯版权而受到惩罚(即索尼获胜)。
2) 1992年世嘉公司诉Accolade公司
Accolade拷贝世嘉公司Sega游戏机程序,对其进行逆向工程,世嘉提起诉讼,Accolade获胜。法院裁定,Accolade拷贝Sega程序是为了创作新的游戏产品,而不是为了销售世嘉软件。该案例对逆向工程合法性产生巨大影响。
3) Napster与共享音乐
Napster是第一个被广泛应用的点对点音乐共享服务,它极大程度影响了人们使用互联网方式,是一款影响巨大、毁誉参半的软件。Napster案例是互联网知识产权经典案例,对共享音乐有巨大影响(在某种程度上改变了唱片行业)。法院裁定,Napster公司“明知鼓励和协助侵犯知识产权”,被迫关闭。
4)谷歌与Oracle关于Java知识产权诉讼
谷歌与Oracle就Java知识产权诉讼历时八年之久,涉案索赔金额高达近90亿美金,诉讼核心是Java API是否属于知识产权保护范围。该案件仍未结束。
2012年5月,陪审团认为谷歌安卓系统使用了9行Java代码构成侵权;2012年5月,法官推翻了陪审团认为谷歌侵权意见,称API不应该受版权保护;2014年4月,美国联邦上诉法院判定API受版权保护,谷歌侵权;2014年10月,谷歌不服判决上诉至美国最高法院,请求高院介入;2016年5月,联邦上诉法院开启第二次审理,陪审团认定Android并未侵犯Oracle所拥有的版权,随后Oracle再次提起上诉。2018年3月,法院认定谷歌侵权,判Oracle胜诉,谷歌表示会进一步采取措施,寻求其他解决方案。该案件仍未结束。
这些案件及其裁决对互联网发展产生了重大影响。目前很多软件和游戏都有长长的EULA(End User License Agreement,最终用户协议),明确规定对知识产权的权利主张(几乎都不允许进行逆向工程)。
如果搜索近年互联网行业知识产权案例,大多与开源许可证和逆向工程有关。也许我们并不关心开源许可证问题,但是当产品在更大范围销售和使用时,知识产权也许比产品和技术更重要。例如产品在欧洲销售,欧盟要求审查源码、分析开源许可证使用情况,如果产品包含修改后的开源代码(使用GPL v2许可证),那么厂商就必须提供源码。
GPL不要求你发布你的修改版或者任何一部分修改版。你有自由修改并自用,而不必发布。这个规则也适用于机构(包括公司);机构可以做出修改版并在内部使用而不向其他外部组织发布。但是如果你以某种方式把修改版向公众发布,GPL就要求你向用户提供修改版的源代码。- GNU许可证常见问题(GNU官网)
另一个引人深思的问题是我们在大量使用开源代码的同时,对开源软件贡献很小,特别是在硬核与新领域(如操作系统、编译器、浏览器和人工智能)。在某种程度上,对开源软件的贡献与核心技术的掌握并不矛盾。
越来越多的从业者和公司开始关注开源许可证,例如“中国GPL第一案”(下图来源https://cloud.tencent.com/developer/article/1566540)。
软件知识产权不仅有趣,而且有高收益。欧美软件知识产权诉讼的天文数字(动辄上千万美元)让律师们赚得盆满钵满,这也许是欧美学生攻读法学院的一大驱动力。国内是否会有知识产权法律与IT技术交叉的人才和学科,值得期待。
小孩们并不愿意分享自己的玩具,大人们都会对他们说首先要学会分享,才能得到更多。