1. 开源软件及开源软件许可证的概述
1.1. 开源软件的概念及特征
开放源代码的软件即开源软件,一般指源代码可以公开获取,并允许被修改、复制和再发布的计算机软件。因此,其本质特征体现在以下维度:第一,源代码透明化。首先,源代码应当被人们自由地获取,软件发布者在发布软件的同时应当将源代码一起发布,并采用便利的途径供人们获取。其次,软件发布者须保证源码的完整性与可溯性,禁止以混淆或转译形式发布。第二,修改的自主性。社会公众获得源代码后,可依据需求进行功能调整与二次开发,衍生作品的创作权利受到保障。第三,复制的开放性。用户享有不受限制的复制权限,确保技术成果的广泛传播与应用。第四,发布的自由。经修改优化的源代码允许再次发布,形成技术迭代的良性循环。
1.2. 开源软件许可证的概念及形成
开源软件许可证本质属于著作权许可合同[1],是根据开源软件的内涵制定的,即将软件所有权人的有关权利通过非独占许可的方式许可给所有接受许可合同的人。其发展历程可追溯至1989年,自由软件先驱Richard Stallman推出首份开源协议文本GNU GPL (简称GPL)。该协议明确规定用户可自由修改与传播GNU系统,开创性地确立了开源软件的法律地位。理查德认为,只有符合GPL规则所发布的软件,才是真正意义上的开源软件。最初,GPL并不被大多数人所接受,由于GPL是在反版权的理念下提出的,故大多使用者将其视为开源软件著作权人放弃权利的声明。若将开源软件许可证视为此种声明会使得开源软件失去著作权的保护,无法保障软件权利人的合法权益,从而阻碍开源软件的发展。该问题被发现后,之后的开源软件协议都陆续增设著作权声明条款,以表明权利人享有相应的著作权[2],既维护开发者法定权益,又促进开源生态的可持续发展。
为了系统化规范开源软件管理,1998年,Eric Raymond和Bruce Perens先驱者牵头创建了开放源代码促进协会,该组织成功注册OSI认证商标后,正式启动开源许可证专项审核机制,对符合开放源代码定义的授权协议授予官方认证标识。历经二十余载发展,当前业界公认唯有通过OSIA认证的许可证所发布软件方具备开源软件资质[3]。
2. 开源软件著作权保护现状
2.1. 国外对开源软件的著作权保护
作为计算机软件的特殊类型,开源软件兼具作品属性与技术功能双重特征。鉴于其兼具作品属性和实用功能,理论上应受专利法与著作权法双重规制。然而由于技术专利审查的复杂性,多数国家选择以著作权保护为主导机制。
美国在1980年通过《版权法》修订案将计算机程序正式纳入保护客体。但其对计算机软件的保护标准过于简单:仅要求软件体现创作者独创性表达,这属于著作权法的保护客体[4]。这种笼统规定引发实践争议——计算机软件与传统文字作品存在本质差异,其功能性特征导致单纯著作权保护存在局限性,美国版权法并未对其与传统作品进行区分,使其难以得到有效的保护。
出于上述考虑,日本本想制定一部关于计算机软件的全新法律对其进行保护[5],但其受美国的影响较大,最终也仅在1985年修改的著作权法中加入了计算机软件著作权的概念。
随着《伯尔尼公约》等国际条约采纳美国立法模式,计算机软件著作权保护逐渐成为国际通行做法。
计算机软件被认定为著作权的保护客体之后,作为计算机软件的开源软件也同样受著作权保护。
在此法律框架下,开源软件作为计算机软件的特殊形态自然获得著作权保护。司法实践中,美国联邦法院在2009年Jacobsen案中首次确认开源许可证属于附随著作权的许可协议,该观点后续得到德国司法机关的司法确认。
2.2. 国内对开源软件的著作权保护
我国自1990年《中华人民共和国著作权法》(以下简称《著作权法》)实施起就将计算机软件纳入保护范畴,并配套颁布《计算机软件保护条例》(以下简称《条例》)形成双重规范体系,这种双重立法体系使得人们对软件的著作权范围产生争议:《条例》中并未将计算机软件的著作权内容列举完全,如,“保护作品完整权”、“汇编权”等其他权利是否为权利人所享有并未说明。
基于特别法优先适用原则,《条例》应视为完整涵盖《著作权法》规定的各项著作权利。在司法实践中,我国法院通过典型案例确认开源许可证法律效力,据此开源软件在我国同样享有完整的著作权法律保护。
3. 开源软件著作权保护模式存在的困境
3.1. 著作权法保护的适用困境
现行著作权制度在软件保护方面存在三方面制约:首先,权利边界存在界定难题。作为计算机软件的开源软件有其独特的表达方式,并且其表达方式也不尽相同,如,目标代码、程序菜单等方式,这些多样化表达方式难以全部纳入《著作权法》保护范畴。此外,《条例》对软件的定义为计算机程序及其有关文档,有关文档与传统的文字作品存在何种区分标准《条例》并未解释清楚,导致部分文档可能无法受到《著作权法》的保护。其次,软件行业垄断风险持续存在。根据现行著作权法的相关规定,软件源代码在无需发表的情况下,其著作权人即可获得相应利益,而通常情况下,作品需要作者公开后才可获得相应利益,如,小说作者创作出的作品只有公开发表才能获取一定的经济利益。这与传统作品(如文学作品)需公开发表方能获利的机制形成反差,客观上助长了技术垄断的可能性。再者,源代码保护力度被削弱。现行条例将源代码与目标代码视为同一作品1,导致公开目标代码即等同于披露源代码,这种制度设计引发双重后果:其一,源代码虽名义保密实则丧失商业秘密保护资格;其二,技术新颖性标准难以维持,可能影响软件专利申请效力。对于开源项目而言,源代码公开特性虽排除了商业秘密保护路径,但专利保护机制仍具重要性,现行规定客观上制约了开源技术的知识产权保护效能。
3.2. 开源软件许可证的实践困境
当前普遍存在违规使用开源软件现象,多数使用者未严格遵守许可证约定条款。
许可证保护的局限性主要体现在以下方面:第一,约束效力不足。首先,开源许可证通常被嵌入软件目录中,呈现形式相对隐蔽,行为人通常难以发现,导致使用者容易忽视其法律效力;其次,许可证的发布是单方面的面向大众发布的,具有单方公示特性,协议签署方往往难以追溯,致使大量用户可能忽略开源许可证的法律效力;最后,即便使用人在知道许可证的情况下,由于该种侵权几乎没有成本,所以仍然会有许多使用人故意滥用授权的情形。第二,许可证之间不互通。尽管多样化的许可证类型能满足不同软件的发布需求,但其具有的冲突也十分明显。实践中,开源许可证存在的横向与纵向条款冲突问题尚未解决。第三,用户利益保障机制不健全。首先,开源软件使用者需自行承担使用软件产生的风险,由于开源软件无需付费使用,许可方通过“免责条款”规避责任,即使用人使用软件造成的损失,许可人无需负责;其次,用户没有诉讼的权利,用户对开源软件的开发也做出了一定的贡献,他们的权益应收到相应的保护,在现行制度下,贡献者缺乏独立诉权,其权益维护需依附著作权人主体资格。
因此,开源软件许可证存在不少问题,需要对其进行相应的完善。
3.3. 司法实践中开源软件著作权保护的现实困境
第一,诉讼主体资格认定存在争议。诉讼当事人是指能够以自己的名义进行诉讼,请求法院判决以维护其权益的当事人,诉讼当事人的确定是解决民事纠纷的前提,要确定开源软件著作权纠纷案件的诉讼当事人首先要确定开源软件的著作权人,因为著作权人是此类诉讼中最常见的当事人。但是,学界对开源软件权利主体的认定标准尚未形成共识,即便存在统一认识,没有相关法律的支持也很难将学界的观点直接适应到司法实践中去。我国目前有关此类诉讼的案例极少,更加缺乏了制定法律的现实基础。
第二,违反开源许可证的法律救济问题。违反开源许可证是常见的法律纠纷行为,司法实践中,法院通常将违反许可证的行为定性为著作权侵权,而忽略了该行为合同违约属性。因为开源许可证本身属于一种合同,著作权许可合同,所以违反许可证的行为是由于被许可人不恰当使用软件著作权的行为造成的,这将导致违约责任与侵权责任的竞合2。相较于先去认定许可证的法律性质再去确认违反许可证应承担的违约责任来说,直接适用传统著作权侵权规则成为更具操作性的司法选择路径。例如,在(2020)沪73民初104号案件中幻想纵横公司将软件独占许可给恺英公司后,自身仍继续使用。法院认定,该行为违反《著作权法》独占许可的相关规定,导致被许可方合同目的落空,构成根本违约。判决:解除合同,许可方返还已收许可费。
4. 开源软件著作权保护的优化路径
4.1. 鼓励公开软件源代码
开放源代码有助于缓解软件行业的垄断问题。鉴于源代码作为著作权人的智力成果通常不会主动公开,可行的解决方案是对未公开代码的权利人设定必要约束,或制定激励代码共享的政策措施。例如,在软件著作权确权程序中,可适当加重权利人的举证义务或减轻被控侵权方的证明责任;同时通过国家层面的政策引导,唯有推动开发者自愿开源,方能从根源上解决行业源代码垄断问题。
4.2. 诉讼主体资格认定机制
由于开源软件通常由众多开发者协作完成,相关著作权纠纷往往构成必要共同诉讼类型3。这意味着涉及相关纠纷的作者均为当事人,需一同参加诉讼,在此类案件中,要求所有作者共同参与诉讼存在现实困难,需建立明确的诉讼主体确认规则,可以有以下两种选择:其一,减少当事人的数量,若涉案代码可与其他代码独立使用,则根据我国《著作权法》的规定4,这属于可分割使用的合作作品,开发者可单独对侵权方提起诉讼,其余作者无需参与,此举能显著精简诉讼主体;其二,选取诉讼代表人,适用《民事诉讼法》中的诉讼代表人制度5,通过推选代表参与诉讼程序,有效解决当事人数量过多问题。
4.3. 构建专业化软件著作权管理机制
现行诉讼制度难以应对复杂的开源软件侵权纠纷,究其根源在于诉讼主体难以明确。对此,可探索将著作权相关权益委托给专业机构,由其代理相关法律诉讼事务。建议推动成立国家级开源软件基金会,鼓励开发者将项目捐赠至基金会进行托管。该机构可提供项目开发管理、法律咨询及财务支持等专业化服务,形成系统化的开源生态支持体系。国家开源基金会定位为基础设施与战略引导者,区别于市场化服务的具体实践。其应协同商业法律服务,明确合规边界,并对接国际开源基金会规则,参与全球治理。治理框架需设立理事会,下设技术、法务与国际合作委员会,确保战略协同与生态共建。
4.4. 完善开源软件许可证制度
第一,许可证约束力不足的完善。首先,可以在《著作权法》或《条例》的许可章节增设条款,明确许可证的契约属性;其次,建立开源项目标准化管理体系,通过规范化开发流程降低许可证违约风险;最后,完善署名权保障机制,要求开源项目必须准确标注贡献者信息,并将署名审查纳入项目监管机构的职责范畴,这既是软件权利人的权利也是义务[6]。
第二,软件许可证之间不互通的完善。针对纵向冲突的许可证,首要措施是确认许可证具备可更新特性。鉴于开源项目的迭代更新可能引发新旧版本授权条款冲突,建议在许可协议中增设版本升级条款,明确规定升级后的版本自动适用最新授权规则。同时,授权方在制定许可条款时,应采用更灵活的授权表述方式,将授权范围从特定版本扩展至后续更新版本,确保协议延续性。
针对横向冲突的许可证,可采取多重解决机制,其一,建立违规行为触发机制,当被许可方违反协议条款时,视为许可关系自动终止,进而认定开发者有侵权或违约行为,将冲突问题转为侵权或违约责任问题;其二,实施多版本并行发布策略,允许用户根据实际需求自主选择适用协议版本,以解决许可证的冲突问题;其三,可采用“从旧兼从严”的规则进行认定,从旧是指许可证发生冲突时优先考虑最初的许可证作为新软件的许可证,从严是指新发布的许可证规则更为严谨时优先考虑使用新发布的许可证,即在协议冲突时优先适用原始版本条款,若新版协议规定更为严格则优先适用新版条款。
第三,强化用户权益保障机制。在免责条款适用方面实施分类管理:针对软件固有缺陷引发的损害,除著作权人存在主观恶意外,原则上免除其责任,因为开源软件为免费软件,使用人在使用时也应当自负一定风险,对于开源软件自身的侵犯他人知识产权的情形,免责条款不应当被适用。同时,需在许可协议中明确被许可方的诉讼主体资格,并严格限制许可方单方面撤销授权的权利,确保持续稳定的授权状态。
第四,违反开源许可证的法律救济。首先,违约与侵权责任择一承担,在法律责任认定方面实施分层处理,当违规行为同时具备民事侵权与合同违约特征时,此时会产生违约与侵权责任的竞合,允许权利人选择适用责任类型。需特别注意的是,判断违约行为是否具有侵权性质时一定要注意开源许可证的类型,因为不同许可证在授权内容上是有差距的;其次,只承担违约责任,当违反许可证的行为不具有侵权属性时,对于单纯违约行为,仅需承担合同违约责任;最后,在救济措施层面,建议突破传统赔偿模式。虽然多数纠纷案件以经济赔偿结案,但考虑到开源协议的特殊性(无偿授权性质),更宜采用恢复性救济原则。通过要求违规方停止侵权行为、撤回非开源版本等方式,使软件回归开源状态,这既符合开源精神,又能有效维护开源生态的健康发展。
NOTES
1参见《计算机软件保护条例》(2013年修正)第三条第(一)项。
2徐瑄,张汉华:“计算机开源软件许可证的许可条款性质认定一一美国联邦巡回上诉法院第2008-1001号裁决评析,《知识产权》2014年第6期,第85-93页。
3参见《北京市高级人民法院〈关于审理知识产权纠纷案件若千问题的解答〉的通知》(京高法发[2002]365号)第7条。
4参见《中华人民共和国著作权法》第十四条第三款。
5参见《中华人民共和国民事诉讼法》(2017年修正)笫五十三条。