小帅b之前精选过几次
不错的 Github 开源项目
于是就有人问了
“这些项目可以直接拿来用吗?”
有些可以直接用
但是在之前还是要注意下
项目中声明的 License
也就是开源协议
当你去 GitHub 创建一个
开源项目的时候
可以看到有这么一个选项
这些常见的协议都怎么用的呢?
那么接下里就是
学习 License 的正确姿势
总有一些人会认为
开源就是不要钱
直接拿来用就可以了
如果你总是直接复制别人的代码
不管不顾的使用
可能会出问题哦
因为有些项目是声明了协议的
不一样的协议有不同的规定
你需要遵守这些协议才能使用
通常
License 里面就详细且严谨的说明了
你对开源的项目代码的使用
是否可以私用?
是否可以商用?
是否需要注明来源?
哪些可以使用等等..
有些人会问了
哇靠啊
要是我自己搞一个开源的项目
我怎么知道怎么写 License?
不急
在 http://opensource.org 里面
就列举了很多协议
选一个就可以了
不过常见的协议也就是
我开头列举的那几个
都是被广为流传且都认可的
那么
这些常见的协议都各自是什么意思呢
接下来小帅b就跟你说说
Apache License
使用这个协议可以进行商用
你可以对其修改、分发
但是你要声明作者来源和你的修改以及协议
很多大型项目都使用这个协议
比如 tensorflow、puppeteer
MIT License
这是个人用得比较多的协议
因为比较宽松精简
只要声明版权和协议就可以了
可以商用、修改、复制、重新发布等操作
使用这个协议的就有
vue、react等
BSD License
这个和 MIT 协议类似
除了声明协议和来源
其它基本操作都可以使用
flask 用的就是这个协议
GNU License
你可以私用也可以商用
但是你必须声明来源
并且需要声明原有的协议
以及
你的代码也必须开源出来
我们很熟悉的 Linux 就是
采用这种协议
现在知道为什么
有那么多免费的 Linux 发行版了吧
就是得益于这个协议
NO License
也就是什么都不声明
但是并不意味着就可以乱来
这比声明了协议还严格
你可以使用、商用
但是你需要声明协议和来源
而且
你不能对代码进行修改、复制、再次发布
不过
你在 GitHub 使用了这个协议
还是可以被别人观看代码,fork 操作
Eclipse License
这个协议允许你商用、复制、修改、再次发布等
需要声明来源和协议
像 java 中的 junit4 就是使用这个协议
以上就是常见的协议
在使用开源项目的时候
需要先看下人家声明的协议
当你使用这些开源项目的时候
如果出现什么问题
原作者是不承担任何责任的
当然
你也不能出去吹牛逼说
我这个项目是谁谁谁(原作者)和你一起开发的
看到这里
有些人可能说
老子就是用了
就是不声明
你吹啊?
我只能说
“小傻瓜”
ok
我这里只是列了常见的协议
如果你需要了解更多
可以到这里获取:
https://opensource.org/licenses/alphabetical
那么我们下回见
peace
你学到的
不仅是 Python