GitHub开源协议详解及常用协议介绍

在这里插入图片描述

前言:

GitHub有许多开源的协议,刚开始使用时不知道选择哪些协议,今天我们就一起科普一下GitHub中的协议吧!
在这里插入图片描述

一、协议介绍
1. None / No License

如果你在使用GitHub中,没有选择协议默认是 No License, 这并不是代码什么协议也没有, 它表示: 不允许他人进行复制、分发、使用和修改。但是如果你把它上传到了github,那么默认允许他人查看(view)源码、分叉(fork)到自己的仓库,只是不能使用、修改而已。

2. Apache License 2.0

Apache License 2.0 协议来自于著名的Apache基金会,其最重要的开源软件就是Apache(HTTPD)网站服务器。它允许许任何人进行个人使用、商业使用、复制、分发、修改,作者免责,需要保留作者版权信息,声明更改的地方, 特点在于对于贡献者(Contributors)可以提供快速的专利授予。常用于大型开源项目

3. MIT License

MIT License MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.总结一下只有三段话,允许任何人进行个人使用、商业使用、复制、分发、修改,唯一的限制就是,必须得加上源码作者的版权信息(CopyRight)是一个相对宽松的常用的协议

4. GNU GPLv3

General Public License v3.0 开源正是由于GPL而变得越来越强大,GPLv3在2007年发布,它允许个人使用、商业使用、专利授权,允许复制、分发、修改,并且作者不承担用户使用的一切后果。但是它有很多限制:

  1. 必须开源
    一旦使用了这个协议,如果他人想要进行分发、修改,那么他们修改后的源代码也必须开源。这是开源的核心保障,如果没有这条规定,就没有人愿意持续公开自己的源码了。

  2. 保留协议和版权
    保留对协议和版权的叙述。

  3. 不允许更换协议
    如果有人修改了一些源码,觉得自己改得还挺多的,想要换一个MIT或者什么协议,这是不允许的。一旦最原始的源码使用了GPL,其衍生的所有代码都必须使用GPL。这也是开源保障之一

  4. 声明变更
    对于代码的变更需要有文档进行说明改了哪些地方。

5. BSD 2-Clause “Simplified” License

BSD 2-Clause 允许许任何人进行个人使用、商业使用、复制、分发、修改,除了加上作者的版权信息,还必须保留免责声明,免去作者的一些责任(比如使用后果) 例如: 你在GitHub发布了一个AI换脸的项目, 别人clone后玩脱了跟你没关系.

6. BSD 3-Clause “New” or “Revised” License

BSD 3-Clause 在BSD 2-Clause上增加了一个条款

未经特别事先书面许可,著作权人的姓名和其贡献者的姓名不得用于认可或推销源自该软件的产品。

在 BSD 2-Clause 的基础上, 不能使用作者的信息去做商业宣传, 应该是有人把开源软件拿去商用, 宣传说是xxx写的, 然后造成了不良影响…

7.Eclipse Public License 2.0

Eclipse Public License 2.0 是一种商业友好型协议,允许个人使用、商业使用、专利授权、复制、分发和修改,作者免责,需要保留版权信息、必须开源、不允许更换协议, 特点在于可以对软件进行商业使用,对专利授权免去版税

8.GNU Affero General Public License v3.0

GNU Affero General Public License v3.0 允许个人使用、商业使用、专利授权、复制、分发和修改,作者免责,贡献者可以快速专利授予,需要保留版权信息、必须开源、不允许更换协议、声明变更。和GPL类似,不同点在于,如果你修改了源码并在放到网上提供服务,那么你必须公开这个修改版本的完整的源代码。

9.GNU General Public License v2.0

GNU General Public License v2.0 相比于 GNU GPLv3,不能进行专利授予.

10.Mozilla Public License 2.0

Mozilla Public License 2.0 是BSD系协议和GPL系协议的折中,允许个人使用、商业使用、专利授权、复制、分发和修改,作者免责,需要保留版权信息、必须开源,不允许更换协议(但允许更换成某些GNU协议),不允许使用商标。

11.The Unlicense

The Unlicense 是一个完全免费无约束的协议,也就是你放弃你的所有权利,将劳动成功无私奉献出来。允许任何人为了任何目的使用任何手段进行任何操作,不用保留任何信息,当然,作者免责

二、特性总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、使用推荐

1、普通开发者

如果你是信仰开源大法的普通开发者,使用 MIT License 协议即可,它会保留你的版权信息,又允许他人进行修改。

2、用到了GNU的开发者

如果你用到了GNU的库,由于“传染性”,不允许更换协议,必须选择GNU相关的协议。

3、开源库开发者

推荐使用GNU LGPL相关协议。

4、无私奉献的雷锋

感谢你为世界作出的贡献,必选The Unlicense。

5、不知道该选什么

选择默认的None即可,保留你的全部权利,后续再去决定要不要更换协议。

  • 37
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub是一个面向开源及私有软件项目的托管平台,它提供了版本控制以及协作功能。下面是一份GitHub使用教程的图文详解: 1. 注册GitHub账号 首先,您需要在GitHub官网上注册一个账号。打开GitHub官网(https://github.com/)并点击右上角的“Sign up”按钮。填写注册表格中的个人信息,并按照指示完成注册。 2. 创建新仓库 登录后,您可以在个人主页上看到您的仓库列表。点击右上角的“New”按钮来创建一个新仓库。填写仓库的名称、描述等基本信息,并选择公开或私有等权限设置。点击“Create repository”按钮来完成创建。 3. 添加文件到仓库 在仓库页面中,您可以点击“Add file”按钮来上传文件到仓库。您可以选择单个文件或整个文件夹来上传,并选择是否保留原有文件的文件夹结构。点击“Commit changes”按钮来提交文件。 4. 创建分支 在仓库页面中,点击上方的“Branch: master”按钮来创建一个新分支。输入新分支的名称,并点击“Create branch”按钮来创建新分支。 5. 进行更改 在分支中进行更改,例如修改文件内容或添加新文件。编辑完毕后,点击“Commit changes”按钮来提交更改。 6. 发起合并请求 在新分支中进行更改后,您可以点击页面上方的“Pull requests”按钮来发起一个合并请求。填写合并请求的标题和描述,并选择从哪个分支向哪个分支发起合并请求。点击“Create pull request”按钮来创建合并请求。 7. 团队协作 在仓库页面的右侧可以看到“Contributors”和“Forks”等信息。选择“Contributors”标签页,您可以邀请其他GitHub用户来协作开发。选择“Forks”标签页,您可以复刻别人的仓库以便自己进行修改。 以上是一个简单的GitHub使用教程,希望对您有帮助。如果您想深入了解更多GitHub的功能和使用技巧,可以参考官方文档或寻找相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值