目前的开源协议种类非常多,也很难记住每种的详细特点和区别,但我们大多数时候只需要使用主流协议即可,主流的开源协议主要为以下六种:
GPL、BSD、MIT、Mozilla、Apache 和 LGPL
但是就算是这六种协议的特点和区别也很难总结,所以这里我借用一张阮一峰老师的图来分析这六种协议的简单区别:
简单分析一下这个图就可以发现他们对代码的宽松程度:
-
修改源码之后是否可以闭源,说明右边这三个协议要比左边的协议更宽松。
-
其中 Apache 许可证需要在每一个修改过的文件都放置版权声明,因此它要相对严格一点。
-
MIT 许可证是最宽松的,它允许衍生出来的软件使用它的名字促销。
举个例子:electron 和 vue 都是以 MIT 协议开源的,因此 electron-vue 就相当于是基于它们的衍生软件,因此就可以使用 electron 和 vue 来进行促销(假设商用的情况下)。
民间流传着关于 MIT 协议的一个很接地气的描述:“代码你随便用,但是出了事别找我”。
左边这三个许可证在修改代码之后必须开源,但又有一些小区别:
- GPL 许可证需要衍生代码的开源协议也是 GPL 协议。
- 其余两种不限制开源协议,但是 Mozilla 许可证需要对代码修改之处提供修改说明文档,而 LGPL 许可证则不需要。
因此,六大许可证的宽松程度由严到宽分别是:GPL > Mozilla > LGPL > Apache > BSD > MIT。
标签:GPL,协议,六大,代码,主流,开源,许可证,MIT From: https://www.cnblogs.com/touryung/p/17133388.html