一、引言

开源协议(Open Source License)本质是知识产权的许可协议,旨在促进软件的自由共享和技术创新,避免版权纠纷。它们允许软件的源代码对社区成员开放,使得其他社区成员可以查看、修改和分发该软件,同时规定相应的条件与义务。人们根据开源协议内容的自由程度将不同开源协议分为宽松型开源协议(Permissive Licenses)与严格型开源协议(Copyleft Licenses)。宽松型开源协议(也称为“宽松许可协议”)允许开发者和企业在使用、修改和分发软件时具备较大的自由度。常见的宽松开源协议包括MIT License、Apache License Version 2.0和BSD License等,它们通常要求在代码发布时保留原作者的版权声明和许可声明,但并不强制要求将修改后的代码开源。这类协议为企业和开发者提供了灵活性,能够在使用开源代码的同时,更容易地将其集成到商业产品中,促进技术创新与商业应用的结合,故本文围绕上述三种宽松开源协议进行介绍,并对相关的法律风险进行探究。

二、MIT开源协议

(一)简介

MIT开源协议(MIT License)起源于麻省理工学院,最早出现在上世纪八十年代末。该协议旨在简化软件许可条款,使开发者和用户能够轻松理解和使用开源代码,其核心理念是保障最大限度的自由,允许用户在几乎没有限制的情况下使用、修改和再分发软件。最初,MIT许可证没有明确的官方版本,但随着时间的推移和不同项目的需求,逐渐形成了今天人们熟知的标准版本。随着互联网和开源运动的兴起,MIT许可证因其极大的自由度和对原作者的适度尊重,成为世界上使用最广泛的开源协议之一。

(二)主要内容

MIT开源协议文本内容简单,仅包括版权声明、授权条款、限制条件以及免责条款。下述为关键条款解读。

授权条款:MIT协议明确授权用户免费使用软件及相关文档,并且用户可以不受限制地使用、复制、修改、合并、发布、分发、再授权和出售软件的副本。它允许用户自由地以任何方式使用软件,甚至可以商业化软件,对其进行修改后作为闭源软件分发,这体现了开源软件促进创新和自由使用的核心理念。

限制条件:协议要求所有副本都必须保留原始版权声明和许可声明。这一方面确保了原版权持有者的权利得到承认,并且所有后续使用者都能看到相同的许可条件。另一方面意味着除此之外没有其他的限制,用户可以自由使用软件而无需公开其修改后的代码。

免责条款:协议明确版权持有者不对软件的适用性、质量等提供任何担保。如果软件存在缺陷或使用过程中产生问题,版权持有者不承担任何责任。此外,版权持有者和贡献者不会对任何因使用软件或与软件相关的行为而产生的损害等承担责任,即使他们已经被告知可能出现此类损害。因此,用户在使用该软件时,必须自行承担使用软件的风险。

(三)内容分析

MIT协议以其宽松灵活、简洁易懂和广泛兼容性而广受欢迎。它不对使用、修改和商业化施加过多限制,仅要求保留原始版权声明和许可声明。同时,由于其不会强制衍生作品开源,可能导致他人将开源项目封闭化;由于缺少专利授权条款,它无法提供专利保护,存在潜在的专利侵权风险。因此,许多项目和开发者在MIT协议的基础上,选择额外添加专利保护的条款,以确保开发者在使用或修改软件时不会面临专利侵权的风险。

三、Apache 2.0 开源协议

(一)简介

Apache 2.0 协议(Apache License 2.0)是由 Apache 软件基金会(ASF)发布的开源协议,广泛应用于许多开源项目。与其他开源协议相比,Apache 2.0 协议在使用和分发方面具有灵活性,同时提供了专利权保护,这使其在开源社区和商业应用中广受欢迎。

(二)主要内容

授权条款:协议明确用户可以在遵守协议条款的前提下使用软件,包括复制、修改、展示、执行、再许可和分发作品及衍生作品。这意味着该协议允许商业化而不必强制开源。

专利授权:协议授予用户“为其软件贡献中包含的任何专利权的永久、全球、非独家性、免版税的授权”。同时,协议禁止专利滥用,如果用户以专利侵权的方式起诉其他用户,协议会自动终止专利许可。

修改和分发:协议规定再分发条件包括:向接收者提供本许可证的副本;修改后的文件需标明已修改;在分发的源代码形式中保留原作的版权、专利、商标和归属声明;若原作包含"NOTICE"文件,分发的衍生作品必须包含该文件中的归属声明。这些做法核心在于确保开源许可的传递性和透明性。

贡献的法律效力:协议明确贡献者若无例外声明,该贡献将自动适用本许可证的条款,且不得附加其他条件。同时,协议允许贡献者与许可方另行签署协议,该协议的条款优先于许可证的默认规则。这一机制在维护开源项目法律一致性的同时,为特定贡献和特殊合作提供了灵活性。

未授予商标使用:协议未授予对许可方的商标、服务标志、商品名称或产品名称的使用权,除非是用于合理和惯常的用途,例如描述作品来源或再现“NOTICE”文件中的内容。这一规定保护了许可方的商标权,防止其商标被滥用或误导性使用,同时允许在必要范围内对作品来源进行合法标识,兼顾了商标保护与合理使用的平衡。

保护机制:协议的第七、八、九条共同构成了Apache 2.0许可证对权利人的法律保护机制,分别从保证免责声明、责任限制和额外义务三方面展开。

保证免责声明:协议声明作品按“原样”提供且无任何担保,明确贡献者和许可方不对软件的质量、性能或适用性作任何保证,将潜在风险转移给使用者。

责任限制:协议严格限制贡献者的责任,特别是对直接、间接或后果性损害的免责。这减少了贡献者参与开源项目的法律风险,防止因用户的错误使用导致的责任扩大,

额外义务:规定再分发者在提供额外担保或服务时其责任不涉及其他贡献者,这一条款确保贡献者的独立性,避免因再分发者的商业行为而承担连带责任,同时允许再分发者在遵守许可证的前提下开展商业化活动。

(三)内容分析

Apache 2.0协议以其明确的专利授权和灵活性而广受欢迎,它允许在闭源项目中使用开源代码,无需公开修改后的源代码,同时提供专利保护以减少企业使用开源代码时的法律风险。协议条款清晰易懂,具有良好的兼容性。同时需要注意再分发时的条件,以及不强制要求衍生作品开源,修改后的代码可以保持封闭。

四、BSD开源协议

(一)简介

BSD开源协议(BSD License)起源于1970年代末的加州大学伯克利分校,最初用于BSD Unix的发布,旨在推动软件的自由使用和分享。1990年,伯克利团队发布了BSD许可证,允许用户自由地使用、修改和分发代码。从最初的4-Clause版本,到1999年简化为更受欢迎的BSD 3-Clause和BSD 2-Clause协议,这些协议具有宽松的授权条款和商业友好性。其中,BSD 3-Clause增加了禁止使用原作者或贡献者名称进行推广的条款,而BSD 2-Clause则更为简洁,仅包含基本的版权声明和免责声明。本文将围绕BSD 3-Clause展开介绍。

(二)主要内容及解读

源代码再分发条件:源代码的再分发无论是否修改,必须保留原始的版权声明、许可证条款以及免责声明,以确保原始版权信息和条款能够传递给每个接收者,保护原作者的知识产权,同时保证所有再分发者都遵守相同的使用条件和免责条款。

二进制代码再分发:二进制形式的再分发中同样要求复述版权声明、条件清单和免责声明,确保接收者能够了解原始的版权和许可证条款。由于二进制代码通常不直接包含源代码,需要以文档和附加材料的形式传递许可证。

禁止名义背书:协议禁止未经授权使用版权持有者或贡献者的名称来推广衍生产品。该要求旨在保护版权持有者和贡献者的声誉,防止软件被用于未经授权的商业用途或推广。

免责声明与责任限制:软件按“原样”提供,版权持有者和贡献者不提供任何担保;版权持有者和贡献者不对因使用软件引起的任何损害承担责任,即使他们已被告知。该条款意在最大限度地减少版权持有者和贡献者的法律风险,将责任转移给使用者,要求用户自行承担因使用软件所产生的所有风险。

(三)内容分析

BSD 3-Clause许可证因其宽松的许可条件而广受欢迎,它允许用户自由使用、修改和再分发代码,包括商业用途,并且可以与闭源项目结合而无需开源衍生作品,使得它在企业和商业软件中得到广泛应用。此外,BSD 3-Clause提供了额外的名义保护,禁止未经授权使用原作者或贡献者的名称进行背书,从而保护开发者的品牌和声誉。同时需要注意,该协议未提供专利授权许可。

五、三类开源协议的对比

比较维度

MIT

Apache 2.0

BSD 3-Clause

许可证类型

宽松许可证

宽松许可证

宽松许可证

修改后再发布

允许闭源再发布

允许闭源再发布

允许闭源再发布

专利授权

明确包含专利授权

再分发要求

保留版权声明、本许可证条款

保留版权声明、本许可证条款、文件修改通知(如有)、提供NOTICE 文件

保留版权声明、本许可证条款

免责声明

明确的责任免责声明

明确的责任免责声明

明确的责任免责声明

商标使用限制

禁止使用贡献者的商标

禁止使用贡献者的名称进行背书

与其他许可证的兼容性

兼容大多数许可证

兼容大多数许可证

兼容大多数许可证

对修改部分的开源要求

无(修改后可闭源)

无(修改后可闭源)

无(修改后可闭源)

常见应用

小型开源项目、前端库

企业级项目、大型开源框架

系统软件、网络应用

适合的场景

适合快速发布的项目,简单、无附加义务

适合需要专利保护、法律保障的项目

适合系统级软件和闭源结合项目

六、法律风险

宽松开源协议如今已得到普遍适用,但是由于其本身过于强调自由而存在法律风险,具体如下:

(一)缺乏违反开源协议的法律后果与责任

宽松开源协议具有合同的性质,其明确列出限制条件,例如保留版权声明与本许可证条款,但并未约定违反这些限制条件的后果与责任。具体来说,上述几种开源协议的文本并未像GPL协议一样明确规定违反协议条款是否导致授权终止,这一缺陷导致通过宽松开源协议发布的软件源代码,在使用者违反限制条件后难以追究其违约责任,从而使权利人的相关权利无法得到确切的保障。

(二)版权声明的局限性

前述开源协议中记载的作者信息并不一定属实,需要注意甄别。通常情况下权利人选择开源协议后发布软件源代码,会在协议中加入版权声明,要求使用者在再分发时保留版权信息,此时版权信息记载的主体是真正权利人。然而存在例外情形,即第三方获取源代码后在开源社区发布,在其中更改版权声明记载的权利主体,如深圳花儿绽放网络科技股份有限公司与浙江盘兴信息技术有限公司等侵害技术秘密纠纷案中,使用者的技术人员将权利人的采取保密措施的软件源代码公开发布到开源网站上,使软件源代码处于对外披露的泄密状态,此时版权声明并非真正的权利人信息,这无疑侵犯了权利人的权利。目前缺乏有效的机制来验证发布者是否拥有合法的权利或授权,协议本身也无法解决这一问题,导致在实际应用中可能存在版权归属不清的情况,给权利人和用户带来了潜在的法律风险。

(三)权利人维权行为面临挑战

前述开源协议中通常包含免责条款,这些条款主要针对的情形是源代码发布后,使用者在其基础上进行进一步开发利用并对其使用行为负责,发布者不对源代码品质做出担保,也不对其后续使用造成的损害承担责任。侵权者可以通过表面上无关联的第三方在开源平台违法披露他人的源代码,再通过开源平台获取该源代码进行使用,或进行多次再分发的行为,切断发布者和使用者之间的关联,给权利人的维权行为造成严峻的挑战。

七、结语

开源协议是一种新型的技术竞争方式,不同类型的开源协议其特点,以及适应的用户群体也不同。宽松式开源协议对于发布者、使用者的责任约束较低,而且一般情况下允许闭源发布,不要求强制开源,可以满足部分企业的特定商业需求。而且宽松式开源协议可以与大部分其他许可证兼容,可以更好的满足研发单位多元化的技术需求。但是宽松式开源协议并没有明确的救济途径,其强调自由分发而不加以适当限制,导致基于这些协议发布的软件代码在发生纠纷后难以具有可诉性,也难以基于许可证本身的约定制止侵权行为或终止授权,不利于合理稳定秩序的建立。因此,研发者应当结合其自身的需求,对不同许可证之间的兼容性进行审查,选择与其匹配的许可证类型。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐