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年發布,它允許個人使用、商業使用、專利授權,允許復制、分發、修改,并且作者不承擔用戶使用的一切后果。但是它有很多限制:
必須開源
一旦使用了這個協議,如果他人想要進行分發、修改,那么他們修改后的源代碼也必須開源。這是開源的核心保障,如果沒有這條規定,就沒有人愿意持續公開自己的源碼了。
保留協議和版權
保留對協議和版權的敘述。
不允許更換協議
如果有人修改了一些源碼,覺得自己改得還挺多的,想要換一個MIT或者什么協議,這是不允許的。一旦最原始的源碼使用了GPL,其衍生的所有代碼都必須使用GPL。這也是開源保障之一
聲明變更
對于代碼的變更需要有文檔進行說明改了哪些地方。
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即可,保留你的全部權利,后續再去決定要不要更換協議。
總結
以上是生活随笔為你收集整理的GitHub开源协议详解及常用协议介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旋转编码器详解(主要讨论增量式编码器与绝
- 下一篇: 计算机通信网络发展趋势,通信网络的现状及