目录
简介
常见的开源许可协议有五种:GPL、LGPL、BSD、Apache Licence、MIT。
GPL
GPL(General Public License,通用性公开许可证) 协议许可人们享有使用、传播、获得源码、改进软件、发行软件的自由。
GPL协议的四大原则:
- 必须开放源代码,保护开发成果不被窃取用作商业销售。
- 可以去掉所有原作的版权信息,但是要保持开源,并且随源代码、二进制版附上GPL许可证,让别人可以明确知道此软件的授权信息。
- 不论软件以何种形式发布,都必须同时附上源代码。
- 开发或维护遵循GPL协议开发的软件的公司或个人,可以对使用者收取一定的服务费用,但不得将源代码与服务做任何变相捆绑销售。
采用GPL协议的软件有Linux。
LGPL
LGPL【Lesser GPL,更宽松的GPL】是GPL的一个主要为类库使用设计的开源协议。
LGPL允许商业软件通过类库引用【link】方式使用LGPL类库而不需要开源商业软件的代码。
使用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售,但如果修改或者衍生LGPL协议的代码,那么所有修改或者衍生的代码都必须采用LGPL协议。因此使用LGPL协议的开源代码适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础进行二次开发的商业软件采用。
BSD
BSD协议要求开发者使用遵守BSD协议开源的软件源码时,附上BSD许可证的原文,此外还需要将开发者自己的版权资料也放上去。因此,可能会看到拿到一个以BSD许可证发行的软件时,版权资料许可证占的空间比程序还大。
Apache Licence
Apache Licence是非盈利开源组织Apache采用的协议。
Apache Licence的四大条件:
- 需要给代码的用户一份Apache Licence。
- 如果修改了代码,要在被修改的文件中说明。
- 在修改和衍生的代码中需要带有原来代码中的协议、商标、专利声明和其它原作者规定需要包含的说明。
- 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence允许使用者在满足条件的前提下修改遵守Apache协议的代码,并作为开源或者商业产品发布/销售。
MIT
MIT协议要求必须在软件发行版中包含原许可协议的声明,不论是以二进制发布,还是以源代码发布。
MIT协议允许被授权人在遵守MIT协议的前提下使用、传播、修改、发行、销售遵守MIT协议的软件及其副本,被授权人还可以根据需要修改授权条款为适当的内容,但在软件和软件的所有副本中都必须包含版权声明和许可声明。