在著作权法的框架下,开源软件使用许可证来授予用户使用、修改和分发软件的许可。作为回报,被许可人必须遵守许可证条款并保持软件的开源属性,在开源许可证下发布软件的所有衍生版本。作为众多开源软件许可证的先驱和典型,GPL许可证是自由软件基金会(Free Software Foundation, 简称FSF)推广的GNU项目(全称为Gun’s Not Unix,目标在于创建完全兼容于Unix的自由软件环境)中最著名和适用最广的许可证;同时,GPL也是所有开源许可证中最为严格的。开源软件的用户在获取或者使用源代码之前,必须首先同意开源许可协议,所谓以开源换许可。经由GPL许可证,开源软件的使用者享有复制、修改和分发软件的权利,他们也相应负有两方面义务:其一是开
P16
源义务,即公开其软件源代码;其二是告知义务,即需以合理形式声明和公告软件的版权、许可证等信息。异于宽松型的开源许可证(如MIT、BSD、Apache 许可证等),GPL包含具有强传染性的“版佐”(copyleft)条款。如果专有软件落入由开源许可证控制的范围,则该软件也变为在开源许可证之下分发,GPL项下分发的开源软件这一特征被称为“版佐”, 并被视为GPL许可证的标志性特征。“版佐”(copyleft)一词是与版权(copyright)相对应的文字游戏,体现了开源运动对传统专有软件的反对态度。“版佐”条款的基本内容大多体现在GPL的第二部分。GNU项目下的所有开源软件都在“版佐”条款下分发,由此“版佐”也成为了GPL许可证的核心法律机制。由GPL许可的初始作品及其所有后续衍生作品都应当在GPL许可证下分发,这也是“版佐”条款传染性的体现,避免后续衍生作品的作者形成专有权利,破坏开源软件的开源属性。实质上,“版佐”条款是保障GPL开源属性的本质因素。选择适用“版佐”条款的开源软件开发者依然就其软件享有著作权,其著作财产权实际上受到了限制,但是署名权等著作人身权基本不受限制。“版佐”条款的这一属性,也充分保障并彰显了开源软件权利人对荣誉的精神层面追求,以填补经济利益刺激缺位的不足。亦有学者从经济学的角度分析开源软件的繁盛情况,即开源软件的权利人可以通过非金钱方式获得奖励,他们可以从开源社区的彼此学习和互利互惠中受益,除此之外,开发者也可以将公开性质的开源项目列入其工作项目之中,助力自身职业生涯发展。较之开源软件的作者,开源软件的使用者被赋予了更多的权利,但是施加较少的限制。选用GPL许可证分发软件的软件开发者,其首要目的不是通过开发专有软件获得经济收益,而是希望尽可能扩大开源软件范围,丰富公共领域的计算机软件开发资源。无论开源软件的用户是否真正认同开源理念,为换取开源软件项下的相关权利,用户只能选择接受“版佐”条款,促成开源软件的进一步传播。
囿于“版佐”条款的传染性,开源软件也存在固有的不确定性。在GPL许可证项下分发的开源软件如病毒一般具有高度传染性,会感染其涉及的任何一个软件项目并使之变为适用GPL许可证。亦有观点认为,“版佐”条款的根本目的在于将专有软件转变为开源软件。GPL禁止软件私有化,所以开源代码的贡献者不会利用修改来谋取私人利益。伴随开源软件的逐步开发迭代,集体行动的约束效应变大,软件项目的开源锁定效应增强,并最终形成稳定的GPL循环许可网络。“版佐”条款的传染性对于开源社区的发展具有一定的必要性,“版佐”条款的较高影响力和感染力本身就可证明其成熟性。GPL的反对者则认为,“版佐”条款可能创造出一个计算机软件只有适用GPL许可证才能存活的孤岛。不愿意开源的软件开发者需时刻小心谨慎,避免被“版佐”条款感染。对开源软件传染性的这种担忧,可能导致开源软件的使用率降低以及交易成本的增加。值得注意的是,GPL并没有强迫软件开源的恶意,相反,它促进并培育了开源社区的发展。GPL的这种传染特性既非强制性,也非不可躲避,用户永远都享有是否使用该类软件的自主决定权。专有软件的权利人可以选择远离开源代码,始终独立开发软件,或者拥抱并加入开源社区,将专有软件转变为开源软件。如果专有软件的开发者想要重现开源软件的功能特性,则需要独立编写源代码,但这是宽泛意义上的重复劳动。相反,如果开发者选择代码开源,则可以借鉴其他软件开发者的既有成果,在满足代码需求的同时避
P17
免重复劳动。故重新编写代码意愿不强但是程序使用需求强烈的开发者,可能不得不同意“版佐”条款,以实现只有开源软件才能达成的独特功效。“版佐”条款一定程度上在开源软件和专有软件间制造了交流壁垒,不利于彼此间的互操作性和兼容性。但是,GPL许可证也为开源代码和专有代码的共存进行了相应尝试,就“版佐”条款的传染性专门为专有软件提供了一个安全港,如GPL 3.0约定“其他单独且独立的作品”(other separate and independent works)可能被归类为“软件集合包”(aggregate),并排除“版佐”条款的适用(参见GPL 3.0 第5条第2段)。例如,早期开发Linux内核项目时,开发者就利用这一规则巧妙架构项目结构,使专有代码免受具有传染性的“版佐”条款的影响,进而增加了Linux项目的法律效力稳定性和商业世界的投资者热情。在罗盒玩友案中,广州知识产权法院也指出,谷歌公司通过划分安卓系统的层级结构,能够有效将GPL的适用范围局限在独立的底层Linux内核空间之中,避免GPL传染整个安卓系统。
截至目前GPL共发行3个版本,分别是GPL 1.0,GPL 2.0以及GPL 3.0。三版本都包含“版佐”条款,并且都传达了其他专有软件若将在GPL项下发行的开源软件纳入其中将导致专有软件也需在GPL项下发布的开源理念。GPL的初始版本,即GPL 1.0在1989年发行,紧随其后GPL 2.0在1991年推出。为了消除以往GPL版本的不确定性并改善以往版本遗留的明显缺陷,GPL 3.0于2007年发布。GPL 2.0的文本依赖于美国版权法中的关键术语,理查德·斯托曼和伊本·莫格勒(Eben Moglen)在GPL 3.0重新明确许可证文本需要解决的几个关键性概念具有地域限制性的问题。例如将衍生作品(derivative work)变为修改版本(modified version),将集体作品(collective work)统一为汇编作品(compilation),将分发(distribution)变为转发(convey)和传播(propagation)两个不同概念等, 完善后的GPL 3.0更加符合国际化的通用需求。除此之外,3.0版本也修改了违反GPL条款的法律效果,GPL 3.0第8节将GPL 2.0中的“自动终止”(automatic termination)替换为“非自动终止”(non-automatic termination),放宽了违约者的责任后果,并赋予其补正的权利。
GPL三版本彼此间并不兼容,故GPL的迭代更新,可能存在重新许可的问题。但由于只有享有作品著作权的权利人才有权再许可,某个特定的主体很难拥有开源代码的全部版权,因为GPL项下分发的开源软件源自众人合作,参与项目的每一个人都享有自己的对应版权,故需要找到每个对应权利人以获得许可。为应对这一问题,FSF提出3种应对方式:作者使用贡献者协议(contributor agreements)将其版权分配给FSF等指定的版权持有人,所有贡献者指定一名代理人来决定该软件项目的许可证升级问题,以及在许可证中添加“在某版本或者任何更高版本”的声明。