第二章:开源协议(MIT 等)

2.1 MIT 协议是啥

MIT = Massachusetts Institute of Technology(麻省理工学院)

这是一份只有几百字、最宽松的开源协议。核心规则只有两条:

  1. ✅ 你可以随便用:商用、改、卖、闭源、做衍生品都可以
  2. ⚠️ 必须保留原作者的版权声明:在你的代码里要带上原协议文字

2.2 常见开源协议对比

协议宽松度主要限制典型项目
MIT⭐⭐⭐⭐⭐ 最宽松几乎没有限制React、Vue
Apache 2.0⭐⭐⭐⭐ 宽松多了”专利授权”条款Kubernetes、Android
BSD⭐⭐⭐⭐⭐ 宽松类似 MITFreeBSD
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 典型工作流

  1. 你看到 cooksleep/gpt_image_playground 想改改
  2. 点右上角 Fork → 仓库变成 你的用户名/gpt_image_playground
  3. git clone 到本地,随便改自己 fork 出来的版本,不影响原作者
  4. 改好后推回自己的远程仓库
  5. 如果改得好,可以发 Pull Request(PR) 请求原作者把你的修改合并回去

关系图:

原作者仓库(upstream / 上游)
        │
        │ Fork(云端 → 云端)
        ▼
  你的远程仓库(origin)
        │
        │ git clone(云端 → 本地)
        ▼
  你的本地电脑
        │
        │ 修改代码 + git push
        ▼
  你的远程仓库(origin)
        │
        │ Pull Request
        ▼
  原作者审核,决定是否合并

3.3 关键概念区分

操作发生在哪干啥
ForkGitHub 网站复制别人的仓库到自己账号
Clone命令行把远程仓库下载到本地电脑
Pull命令行同步远程最新代码到本地
Push命令行把本地修改推到远程
Pull Request (PR)GitHub 网站请求别人合并你的修改
Sync ForkGitHub 网站同步原作者最新代码到你的 fork

📌 类比:Fork 像”把书从图书馆复印一本回家”,可以在复印件上随便涂改。

💡 想立刻学 Git 命令实战? → 跳到 第十二章:Git 常用命令实战图解(按学习节奏,看完本章 Fork 概念后立刻学第十二章最自然)。


最后更新:2026-06-02(据 git 提交历史回填,非内容重新审校日期)