在GitHub上看到很多项目最后都声明了程序开源协议,常见的如MIT协议,vuejs就是使用MIT协议。
接下来介绍几种主流的开源协议
GNU GPL
开源界常用的许可模式。GPL 保证所有开发者的权利,同时为使用者提供足够的复制,分发,修改的权利:
- 可自由复制
- 可自由分发
- 可以用来盈利
- 可自由修改
需要注意的是
- 分发时需要明确提供源代码和二进制文件
- 使用GPL协议代码的项目必须使用 GPL 协议
- 必须在源代码代码中包含相应信息,以及协议本身
GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
例如:Linux采用GPL协议,能够免费使用
GNU LGPL
LGPL对产品所保留的权利比 GPL 少,LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库。
LGPL协议的开源代码很适合作为第三方类库或框架被商业软件引用,可以发布并销售;但不适合以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
BSD
BSD协议有很大的自由度,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但二次开发后产品时需要遵循:
- 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议
- 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议
- 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广
MIT
- 软件及相关文档对所有人免费
- 可以自由使用、复制、修改,可以用于自己的项目
- 可以免费分发或盈利
- 必须包含许可声明
MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。
Apache
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)
- 永久权利:一旦被授权,永久拥有。
- 全球范围的权利:在一个国家获得授权,适用于所有国家。
- 授权免费无版税:前期,后期均无任何费用。
- 授权无排他性:任何人都可以获得授权
- 授权不可撤消:一旦获得授权,没有任何人可以取消
分发代码时要在声明中对参与开发的人给予认可并包含一份许可协议原文。
Create Commons
Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,并提供相应授权模式,主要包含 4 种基本形式:
- 署名权:必须为原始作者署名,然后才可以修改,分发,复制。
- 保持一致:作品可以在 CC 协议基础上修改,分发,复制。
- 非商业:作品可以被修改,分发,复制,但不能用于商业用途。
- 不能衍生新作品:作品可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。
以上许可形式可以结合使用,如
署名、非商用、不能衍生新作品组合:非常严格,可分享作品,但不能改动、盈利,须为原作者署名,原作者对作品拥有完全控制权
署名:只需为原作者署名即可
暂无评论