直接在 GitHub 網頁上創建
-
進入你的 GitHub 倉庫
-
打開你的項目倉庫頁面(如?
https://github.com/用戶名/倉庫名
)。
-
-
點擊 "Add file" → "Create new file"
-
在倉庫主頁,點擊右上角的?"Add file"?按鈕,然后選擇?"Create new file"。
-
-
輸入文件名?
LICENSE
(或?LICENSE.md
)-
在文件名輸入框輸入?
LICENSE
(全部大寫),GitHub 會自動識別它是一個許可證文件。
-
-
選擇 MIT License 模板
-
GitHub 提供了常見許可證的模板。在輸入文件名后,你會看到一個按鈕?"Choose a license template",點擊它。
-
在彈出窗口中選擇?"MIT License"。
-
修改?
[year]
?為當前年份(如?2024
),[fullname]
?為你的名字或組織名(如?Your Name
?或?Your Organization
)。
-
-
提交更改
-
點擊?"Commit changes",填寫提交信息(如?
Add MIT License
),然后確認提交。
-
開源協議
開源協議(Open Source License)種類繁多,每種協議對代碼的使用、修改、分發等都有不同的要求和限制。以下是常見的開源協議及其主要區別:
1. 寬松型協議(Permissive Licenses)
允許用戶自由使用、修改、分發代碼,幾乎無限制,通常只需保留版權聲明和許可協議。
常見協議:
-
MIT License
- 特點:簡單、寬松,允許商用、修改、私有化,只需保留版權聲明和許可文件。
- 適用場景:個人項目、小型開源庫(如 jQuery、React)。
-
Apache License 2.0
- 特點:類似 MIT,但明確授予專利授權,并要求修改文件需標注變更說明。
- 適用場景:大型開源項目(如 Android、Kubernetes)。
-
BSD 2-Clause/3-Clause
- 特點:與 MIT 類似,3-Clause 版禁止用作者名義推廣衍生作品。
- 適用場景:學術或商業項目(如 FreeBSD)。
2. Copyleft 協議(強保護型協議)
要求衍生作品必須以相同協議開源,確保代碼自由性不被私有化。
常見協議:
-
GNU GPL (General Public License)
- GPLv2:衍生作品必須開源,且整體項目需遵循 GPL(如 Linux 內核)。
- GPLv3:新增對專利和硬件限制的條款(如 Bash)。
-
AGPL (Affero GPL)
- 特點:GPL 的加強版,要求網絡服務(SaaS)也必須開源代碼(如 MongoDB 曾使用)。
-
LGPL (Lesser GPL)
- 特點:寬松版 GPL,允許動態鏈接閉源軟件(如 GTK 庫)。
3. 其他常見協議
-
Mozilla Public License 2.0 (MPL)
- 特點:介于寬松和 Copyleft 之間,要求文件級開源,但可組合閉源代碼(如 Firefox)。
-
Eclipse Public License 2.0 (EPL)
- 特點:類似 MPL,但衍生作品需開源(如 Eclipse IDE)。
-
Creative Commons (CC)
- 非軟件協議,用于文檔、藝術作品(如 CC BY-SA 要求署名且相同方式共享)。
核心區別對比
協議類型 | 允許閉源 | 要求衍生作品開源 | 專利授權 | 典型代表 |
---|---|---|---|---|
MIT | ? | ? | ? | React, Ruby on Rails |
Apache 2.0 | ? | ? | ? | Android, Kafka |
GPL | ? | ?(整體項目) | ? | Linux, GIMP |
AGPL | ? | ?(含 SaaS) | ? | MongoDB(舊版) |
LGPL | ?(動態鏈接) | ?(僅修改部分) | ? | GTK, FFmpeg |
如何選擇?
- 希望代碼自由使用:選 MIT/BSD/Apache。
- 防止代碼被私有化:選 GPL/AGPL。
- 庫或工具開發:寬松協議(MIT)或弱 Copyleft(LGPL)。
- 注意兼容性:GPL 代碼不能直接用于閉源項目。