常用的开源许可证介绍

1. GUN通用许可证(GPL)

广泛使用的开源软件许可协议之一,用户有运行、学习、共享和修改软件的自由,由自由软件基金会创始人Richard Stallman起草。只要软件中包含了遵循GPL许可证的产品或者代码,该软件就必须开源、免费,不适合商业收费软件。Linux内核等大部分开源软件都基于GPL许可证。

GPL许可证的五大自由:(1)使用自由;(2)复制自由;(3)修改自由;(4)衍生自由;(5)收费自由

2. 较宽松的通用许可证(LGPL)

主要为了保护类库权益而设计GPL开源协议。允许商业软件以引用类库的方式使用开源代码,不用将产品整体开源,普遍被商业软件用来引用类库代码。(针对使用LGPL许可证的开源代码,在涉及这部分代码以及修改或衍生出来的代码时,必须采用LGPL协议,其他不强制要求)

3. 伯克利软件发布版许可证(BSD)

相较于GPL许可证,BSD更加宽松,适合于商业用途。用户可以使用、修改和重新发布遵循该许可证的软件,且可以将软件作为商业软件发布和销售。

BSD许可证发布和销售的3个条件

(1)如果再发布的软件中包含开源代码,必须遵循BSD许可证

(2)如果再发布的软件中只有二进制程序,需要在相关文档中声明原始代码遵循了BSD许可证

(3)不允许使用原始软件的名字、作者名、机构名进行市场推广

4. Apache许可证

由Apache软件基金会负责发布和维护的开源许可协议,为开发人员提供版权及专利许可的同时,还允许用户拥有修改代码及再发布的自由,非常适合商业软件,Hadoop、Apache HTTP Sever、MongoDB等都是基于该许可证开发。

Apache许可证的4个条件

(1)该软件及其衍生产品必须继续使用Apache许可证

(2)如果修改了程序源代码,必须在文档中进行声明

(3)若软件是基于他人的源代码编写而成,需要保留原始代码的许可证、商标、专利声明以及原作者声明的其他内容信息

(4)如果再发布的软件中有声明文件,需要在此文件中注明基于Apache许可证及其他许可证

5. MIT许可证(X11协议)

源于麻省理工学院,目前限制最少的开源许可证之一。用户可以使用、复制、修改、再发布软件,只要修改后的软件源代码保留原作者许可信心即可,普遍被商业软件使用(Node.js和jQuery)。

6. MPL

将GPL和BSD协议进行融合,形成MPL。被Firefox、Thunderbird等产品使用,最新版有以下特点:

(1)在使用基于MPL许可证的源代码时,后续只需要继续开源这部分特定代码即可,新研发的软件不用完全被该许可证控制

(2)开发人员可以基于MPL、GPL、BSD等多种许可证的代码一起混合使用

(3)开发人员在发布新软件时,必须附带一个专门说明该程序的文件,内容要有原始代码的修改时间和修改方式

常用的开源许可证介绍_第1张图片

你可能感兴趣的:(开源)