您的位置:首页 > 编程语言

那些 GitHub 所声明的开源协议都是什么意思

2021-01-01 20:36 274 查看

小帅b之前精选过几次

不错的 Github 开源项目



于是就有人问了

“这些项目可以直接拿来用吗?”






有些可以直接用

但是在之前还是要注意下

项目中声明的 License



也就是开源协议



当你去 GitHub 创建一个

开源项目的时候



可以看到有这么一个选项







这些常见的协议都怎么用的呢?



那么接下里就是

学习 License 的正确姿势

 



总有一些人会认为

开源就是不要钱

直接拿来用就可以了



如果你总是直接复制别人的代码

不管不顾的使用

可能会出问题哦







因为有些项目是声明了协议的

不一样的协议有不同的规定

你需要遵守这些协议才能使用



通常 

License 里面就详细且严谨的说明了

你对开源的项目代码的使用



是否可以私用?

是否可以商用?

是否需要注明来源?

哪些可以使用等等..







有些人会问了

哇靠啊

要是我自己搞一个开源的项目

我怎么知道怎么写 License?



不急

在 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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: