针对几种开源协议的比较

2023/7/6 10:13:32

如今的开源社区越来越热闹,所谓开源,就是开放软件的实现源码,为了保护作者许可内的著作权,给以他们法律层面的保护,建立许可协议将非常重要,各种乱七八糟的开源协议有时会让人您眼花缭乱,下面零度就为您做个简单的比较,关于细枝末节您可以访问百科查阅。

open-source-license

上面的图为零度原创,为了说明开源协议区别,复制请注明出处,目前微软.NET就是基于MIT许可证协议开源的。

BSD许可证协议

BSD是一种非常自由的开源协议,你可以针对源码进行二次开发,将修改后的源码你可以选择免费,也可用于商业用途。但它的有几个小要求:除你自己二次开发的部分外,原本代码必须使用BSD许可证协议继续分发,这也就是说,你修改的部分可以随便遵守某种其它开源协议,但原本部分必须继续遵守BSD许可证协议。由于BSD允许你修改后重新商用,所以对于盈利性企业来说是个友好的协议。

Apache许可证协议

Apache协议与BSD协议很类似,同样可用于免费和商业之处,不同与BSD的是Apache要求在新增文件和修改过的文件中进行注释,并保留原始版权。

GPL许可证协议

GPL协议允许您使用源码,修改源码,可二次分发,但使用和二次分发的的前提是你也必须也使用GPL协议,这意味着如果项目中引用GPL协议的代码,你的整个软件业必须遵守GPL协议,不能用于商业用途,这对盈利性企业是不友好的,因为你用了免费,你也得全部免费,鼓励传播,Linux的开源就基于GPL协议,商业软件不得使用GPL协议开源的代码,这强制要求你修改后也必须开源。

LGPL许可证协议

LGPL协议开源的代码,可以使用和修改,但二次分发中原本代码必须继续使用LGPL协议,原创部分可不作此限制,与GPL不同的是LGPL可以用于商业软件。

MPL许可证协议

MPL是Mozilla Public License的简称,修改后的不得将版权变更为修改者,版权归原始发起作者所有,可以在商业软件中使用。

MIT许可证协议

MIT协议和BSD协议一样自由,作者只想保留版权,无其它任何限制,你不能修改或者移除代码中的版权申明,但你可以使用和修改源码,可免费二次分发,也可用于商业用途的分发,商业软件可以使用,微软.NET目前开源就是采用MIT协议,这是一种比较自由的开源协议。