李家杭律师

  • 执业资质:1420120**********

  • 执业机构:北京大成(武汉)律师事务所

  • 擅长领域:合同纠纷公司法知识产权

打印此页返回列表

开源许可证及其项下权利义务概述

发布者:李家杭律师|时间:2022年11月13日|分类:行政复议 |1492人看过


【引言】开源是一种分布式协作模式,通过对软件源代码的开放,参与者可以使用、修改、再发布,进而共享创新成果。如今,利用开源代码编写软件已成为软件研发的主流模式,然而“天下没有免费的午餐”,这种便利同样也受到开源软件所采用的开源规则的限制,譬如商业使用限制、署名要求、专利保留要求、新增代码开源要求等等。作为开发者,如果你打算开源自己的代码,务必要选择一种开源许可证;作为使用者,也应当了解相应许可证的权利与义务要求,合规创新以避免侵犯他人权利被诉诸赔偿。


开源许可证(Open Source License),本质上是作者与使用者之间具有法律约束力的“版权许可协议”,开发人员使用开源软件(代码)就必须要遵守作者选定的许可证中涉及的特定条款和条件。目前,开源许可证类型约有两百余种,复杂性及其设定的权利与义务丢不甚相同。常见的开源软件协议大致有MIT、BSD、Apache、GPL、LGPL等。

 

作为使用了开源代码的商业软件开发者,必然会关心其开发的后续衍生软件,是否也应当全部开源。以此为标准,MIT、BSD、Apache等许可证允许“闭源”,而GPL、LGPL、Mozilla等许可证要求后续衍生软件必须“开源”。

 

(一)MIT、BSD、Apache等较宽松的开源许可证

 

MIT和BSD许可证均源于美国的大学组织,两者均以简洁、自由、限制少而著称。

 

MIT许可证而言,被授权人几乎不会受到限制,可以修改、发行及出售有关开源软件及其副本,也可以根据需要修改再授权内容。得益于此,MIT许可证的兼容性也极佳,适用MIT许可证的开源程序可与适用其他许可证的开源程序合并,而不会产生法律上的冲突。被授权人获得如此“慷慨”授权的同时,仅仅需要在其发行的软件及其副本中列明版权人和许可声明。

 

BSD与MIT在权利与义务的安排上基本一致,也可以将修改后的代码作为开源或者专有软件再发布,包括将后续衍生品作为商业软件发布和销售。不过BSD对使用者提出了几点限制:第一,不能用原始权利人的名字(名称)进行市场推广;第二,如果再发布的软件中包含源代码,则源代码必须继续遵循BSD许可证;第三,如果再发布的软件中只是二进制类库/软件,则需要在相关文档或版权文件中声明原始代码遵循了BSD协议。

 

BSD类似,Apache 2.0也可以适用于商业软件,允许用户修改代码并再发布。开发者在开发遵循该协议的软件时,须遵守以下四个条件:第一,该软件及其衍生品必须继续使用Apache许可协议;第二,如果修改了程序源代码,需要在文档中说明;第三,衍生软件需要保留原始代码中的协议、商标、专利声明和其他原来作者规定需要包含的内容;第四,如果再发布的衍生软件中有声明文件,则需在此文件中标注Apache许可协议及其他你想增加的许可协议。

 

Apache协议还具有授权不可撤消等特性,可以说对商业性使用十分友好。

 

值得一提的是,中国开源云联盟(COSCL)发布的中国首个开源协议MulanPSL也属于宽松许可证。

 

(二)GPL、LGPL等传染性许可证

 

只要软件中包含了遵循GPL(GNU General Public License)协议的产品或代码,该软件就必须强制性适用GPL许可协议——开源免费。换言之,一旦调用GPL库,你的软件将被“感染”为GPL的软件,此之谓“传染性”。因此GPL许可证并不适合商用软件。

 

LGPL(GNU Lesser General Public License)是GPL的一个衍生版本,相比于GPL更加宽松一些。LGPL允许商业软件通过“类库引用”的方式使用LGPL类库,而不需要开源商业软件的代码。但是如果修改LGPL协议的代码或者衍生品,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。

 

因此适用LGPL协议的开源代码适合作为第三方类库被商业软件引用,但不适合通过修改和衍生的方式做二次开发的商业软件使用。



0 收藏

相关阅读

免责声明:以上所展示的会员介绍、亲办案例等信息,由会员律师提供;内容的真实性、准确性和合法性由其本人负责,华律网对此不承担任何责任。