第二章:开源协议(MIT 等)
2.1 MIT 协议是啥
MIT = Massachusetts Institute of Technology(麻省理工学院)
这是一份只有几百字、最宽松的开源协议。核心规则只有两条:
- ✅ 你可以随便用:商用、改、卖、闭源、做衍生品都可以
- ⚠️ 必须保留原作者的版权声明:在你的代码里要带上原协议文字
2.2 常见开源协议对比
| 协议 | 宽松度 | 主要限制 | 典型项目 |
|---|---|---|---|
| MIT | ⭐⭐⭐⭐⭐ 最宽松 | 几乎没有限制 | React、Vue |
| Apache 2.0 | ⭐⭐⭐⭐ 宽松 | 多了”专利授权”条款 | Kubernetes、Android |
| BSD | ⭐⭐⭐⭐⭐ 宽松 | 类似 MIT | FreeBSD |
| MPL 2.0 | ⭐⭐⭐ 中等 | 修改的文件必须开源 | Firefox |
| LGPL | ⭐⭐ 较严格 | 修改后开源,但可被闭源软件链接调用 | 部分库 |
| GPL v3 | ⭐ 严格 | 用了就必须开源你自己的代码(“传染性”) | Linux、Git |
| AGPL v3 | 最严格 | GPL + 网络服务也要开源 | MongoDB(旧版)、Ghost |
2.3 实战判断
| 你的需求 | 建议选择 |
|---|---|
| 商业产品想用别人的代码 | 选 MIT、Apache、BSD |
| 自己开源不想被白嫖 | 选 GPL、AGPL |
| 写一个开源库给别人用 | 选 MIT(最受欢迎) |
📌 小白记忆:看到
MIT License= 放心用,标个原作者名字就行。
第三章:Fork 与 GitHub 协作
3.1 Fork 是啥
Fork(叉子的”叉”,引申为”分叉”)
在 GitHub 语境里 = 把别人的仓库”复制一份”到你自己的账号下,从此与原仓库平行存在。
3.2 典型工作流
- 你看到
cooksleep/gpt_image_playground想改改 - 点右上角
Fork→ 仓库变成你的用户名/gpt_image_playground git clone到本地,随便改自己 fork 出来的版本,不影响原作者- 改好后推回自己的远程仓库
- 如果改得好,可以发 Pull Request(PR) 请求原作者把你的修改合并回去
关系图:
原作者仓库(upstream / 上游)
│
│ Fork(云端 → 云端)
▼
你的远程仓库(origin)
│
│ git clone(云端 → 本地)
▼
你的本地电脑
│
│ 修改代码 + git push
▼
你的远程仓库(origin)
│
│ Pull Request
▼
原作者审核,决定是否合并
3.3 关键概念区分
| 操作 | 发生在哪 | 干啥 |
|---|---|---|
| Fork | GitHub 网站 | 复制别人的仓库到自己账号 |
| Clone | 命令行 | 把远程仓库下载到本地电脑 |
| Pull | 命令行 | 同步远程最新代码到本地 |
| Push | 命令行 | 把本地修改推到远程 |
| Pull Request (PR) | GitHub 网站 | 请求别人合并你的修改 |
| Sync Fork | GitHub 网站 | 同步原作者最新代码到你的 fork |
📌 类比:Fork 像”把书从图书馆复印一本回家”,可以在复印件上随便涂改。
💡 想立刻学 Git 命令实战? → 跳到 第十二章:Git 常用命令实战图解(按学习节奏,看完本章 Fork 概念后立刻学第十二章最自然)。
最后更新:2026-06-02(据 git 提交历史回填,非内容重新审校日期)