作为前端,什么是开源软件许可协议?我怎么不清楚?甚至没看见过?
我们打开swiper.js类库源码,看下面截图:
license是许可证,协议的意思,从意思上理解就是表示这个类库让你使用时要遵守什么,允许你可以做什么!
提示的后面 MIT这是什么意思?看下面资料内容:
MIT许可协议(The MIT License)是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件许可协议(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件许可协议。
MIT许可协议之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称“X许可协议”(X License)或“X11许可协议”(X11 License)
MIT内容与三条款BSD许可协议(3-clause BSD license)内容颇为近似,但是赋予软件被授权人更大的权利与更少的限制。
被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。
被授权人可根据程式的需要修改许可协议为适当的内容。在软件和软件的所有副本中都必须包含版权声明和许可声明。
此许可协议并非属copyleft的自由软件许可证条款,允许在自由及开放源代码软件或非自由软件(proprietary software)所使用。
MIT的内容可依照程式著作权者的需求更改内容。此亦为MIT与BSD(The BSD license, 3-clause BSD license)本质上不同处。
MIT许可协议可与其他许可协议并存。另外,MIT条款也是自由软件基金会(FSF)所认可的自由软件许可证条款,与GPL相容。
找到资料阅读,知道采用MIT协议非常宽松,我们最看重的就是该协议可以去修改内容,针对swiper我们可以改源码或者提炼出需要的部分源码加以使用,不过必须在你使用中表明人家的信息,理解就是把swiper提出了其中摸个模块,有添加大量自己代码,里面还有表明改的是swiper的具体版本等信息。
除了MIT我们在资料中发现还有其他对比协议,我们可以去了解,不在复制对应资料内容。
GPL:http://baike.baidu.com/view/130692.htm
LGPL:http://baike.baidu.com/view/606545.htm
BSD:http://baike.baidu.com/view/209692.htm
开源软件各个协议总的介绍:http://baike.baidu.com/view/1588839.htm
说到最后,就是我们在使用人家的插件,类库等时候,要先看人家的许可协议是什么,不要在使用中做出违背协议的操作。
我们最最熟悉的jq已经从GPL+MIT双协议改为仅保留MIT协议了,我们可以更宽松的使用它。