题记与说明
- 课题:开源贡献入门:挑选项目、贡献指南、PR 流程与社区礼仪
- 成文日期:2026-11-06
- 综合输入:纵轴篇
parts/2026-11-06-开源贡献入门-vertical.md、横轴篇parts/2026-11-06-开源贡献入门-horizontal.md(两章均于 2026-11-06 当日完成检索与实测) - 综合说明:本报告将同日完成的两章合并为最终稿,并做了三类处理。其一,合并重复叙述:Contributor Covenant(纵轴讲起源、横轴讲现状,本文合成完整弧线)、Hacktoberfest(2014 起源—2020 危机—2025/2026 重构)、CodeTriage、up-for-grabs、Outreachy、firsttimersonly、curl 与 AI slop,以及"从 issue 到 merged"路径(纵轴 8 步版与横轴 10 步版,本文合并为统一十步基线并标注每步的历史来源)。其二,统一口径差异:Contributor Covenant 采用量两章分别记为"超过 4 万个项目"(官方 FAQ 口径)与"数万项目",本文统一采用前者并注明出处。其三,保留存疑标注:up-for-grabs 精确首发日期未找到一手来源;GNU 宣言、《大教堂与集市》等为常识背景未单独验证;横轴【检索】项为搜索摘要转述、未逐条复核。横轴数据沿用【实测】/【检索】标注约定。其四,本最终稿按独立审读意见逐条修订(2026-11-06):推荐路径 ②③ 的步骤归属重新对齐十步基线并同步 TL;DR;修正 Hacktoberfest 届数(十四年→十二年共十三届)与 Git→GitHub 间隔(四年→三年);尽调清单补为带经验阈值的量化版;按当日实测降格"存量竞品无 AI 礼仪教学"的断言口径、改写 opensource.guide 章节顺序表述;删除"Copilot PR 草稿形态"与"G 类承接阶段八"两处无出处锚点;补 curl bounty 关闭/重回机制与确认率历史基准;表 2.1 前补 A–G 类别图例,GSoD/CLA/CoC/PPP 逐处补全称;3.3 补齐 GSoC 申请窗时点与当期可申请项、Outreachy 资格判定标准、AI 披露话术模板、LFX 调整前津贴额与 Hacktoberfest 2025 表述。修订当日打开原始来源核实的内容以【实测 2026-11-06】标注,仍属检索转述的以【检索】标注。
TL;DR
开源贡献入门路径四十多年被重写至少八次:从邮件补丁、Git 与 GitHub 的 fork/PR、新手标签基建、CI 门禁,到 2026 年 AI 涌入。"从 issue 到 merged"已是十步标准路径,无单一资源能覆盖全程:沙盒只教工艺、指南只讲理念、issue 平台只管发现、带薪项目门槛高、节日活动质量失控。可行解是组合路径:沙盒练手、定向选项目、补课认领、真实 review、沉淀进阶。三大新变量:AI slop 令 curl 关停七年 bounty;Copilot 能开 PR 但 merged 决定权留给人类;Google Season of Docs(GSoD)终结、文档贡献失去带薪通道。礼仪新增 AI 条款:披露辅助、不提交没读懂的代码——merged 的每一行仍由人类负责。
一、纵轴:发展脉络——"入门路径"的八次重写
"如何向一个陌生人组成的社区贡献代码"这件事,四十多年来被重新发明了至少八次。每一代贡献者的入门路径完全不同:从往 Linus 的邮箱里发 diff,到在 SourceForge 上开 tracker 单,再到给 Copilot 编码代理派 issue。今天听起来像天然模板的那套流程——找带 good first issue 标签的仓库、读 CONTRIBUTING.md、fork、开 PR、过 CI、等 approve、merged——其实是八个阶段逐层沉淀的结果。
阶段一(1983–1997):邮件与 tarball 的"补丁时代"——贡献即通信礼仪
1983 年 GNU 宣言与 1985 年 FSF 成立确立了"自由软件"的理念框架与协作伦理(此段为常识背景,本次未单独检索验证)。1991 年 Linux 内核启动后头十年根本没有版本控制系统:所谓"版本控制"就是把 tarball 和补丁通过电子邮件发给 Linus Torvalds,由他手工合并——这是 Linux Journal《A Git Origin Story》明确记载的史实(https://www.linuxjournal.com/content/git-origin-story )。
这个时代的"贡献指南"不是文件,而是口头传统:你先在邮件列表潜水几周,理解社区口味,再投出第一份补丁;如何写 commit message、如何在邮件里自我介绍、如何回应批评,全靠师徒传承。Eric S. Raymond 1997 年的《大教堂与集市》("只要眼睛够多,bug 无处遁形")把这种文化第一次写成文本(catb.org,常识背景)。这一阶段埋下的两个基因至今未变:贡献的本质是"说服人"而不是"改代码";补丁必须小、必须独立、必须附解释。
阶段二(1998–2005):开源正名与集中托管——贡献流程第一次被标准化
- 1999 年 11 月,VA Linux Systems 上线 SourceForge,首个为开源开发者提供集中式托管的位置,一站集成版本控制、bug 追踪与邮件列表(https://en.wikipedia.org/wiki/SourceForge )。同年 Apache 软件基金会注册成立,Red Hat 与 VA Linux 上市,开源进入商业化叙事。
- 2004 年,为应对 SCO 诉讼风波,OSDL 为内核贡献流程引入 开发者原产地证书(DCO)1.1:贡献者在每个 commit 里加一行
Signed-off-by:,声明自己有权以项目许可证提交该代码——CLA(Contributor License Agreement,贡献者许可协议)之外的轻量级法律门禁,沿用至今(https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin 、官方文本 https://developercertificate.org )。 - 2005 年 5 月,Google 举办首届 Google Summer of Code(GSoC),把"带薪完成第一个开源贡献"制度化(https://en.wikipedia.org/wiki/Google_Summer_of_Code )。
- Karl Fogel 2005 年由 O'Reilly 出版的《Producing Open Source Software》第一次系统地把邮件列表礼仪、补丁评审、新人引导写成"官方教材",全书免费开放(https://producingoss.com )。
驱动因素:法律风险(SCO 案)迫使社区把"信任"显式化;风险投资热钱让集中托管成为可能。这一阶段完成了从"社区默认值"到成文文档(CLA/DCO、贡献流程、书籍)的跃迁——今天 CONTRIBUTING.md 的直系祖先。
阶段三(2005–2007):Git 诞生——分布式改写了"贡献的单位"
2005 年内核社区与专有版本控制系统 BitKeeper 的免费授权破裂,Linus Torvalds 于 2005 年 4 月用约五天时间写出 Git 第一版(官方史述 https://git-scm.com/book/ms/v2/Getting-Started-A-Short-History-of-Git ,叙事细节 https://www.linuxjournal.com/content/git-origin-story )。Git 的分布式设计不是抽象发明,而是为内核"邮件补丁"工作流量身定制:每个人手里都有完整历史,贡献可以在本地反复打磨再送出。Git 把"贡献"的最小单位从"一封邮件"变成"一串可签出、可重放、可审计的 commit"。没有 Git,就不会有三年后 GitHub 的 fork-and-PR 模型——这是整条纵轴上技术底座最关键的一次重铺。
阶段四(2008–2012):GitHub 与 Pull Request——fork / issue / PR 三件套成为行业默认
2008 年 4 月,Tom Preston-Werner 等四人创办的 GitHub 上线(https://en.wikipedia.org/wiki/GitHub ),把 fork → 修改 → 发起 pull request 做成网页按钮(PR 的演化脉络:2002 年前补丁工作流 → BitKeeper 时代 → 无 GitHub 的 Git 时代 → GitHub 集大成,见 https://rdnlsmith.com/posts/2023/004/pull-request-origins )。"social coding"从此把代码托管变成开发者社交网络,fork-and-PR 被广泛视为开源贡献规模化的推手(https://opentechschool.github.io/social-coding )。同期的另一条路线:约 2008 年 Google 为 Android 构建 Gerrit,打分制评审成为大团队标准,但其 UX 后来被评价为"仿佛刻意把新人挡在门外"(https://julien.danjou.info/blog/twenty-years-of-stacking-commits )。
Web 2.0 的产品思维把"贡献"拆成 issue(需求池)、fork(入场券)、PR(交易单元)三个可视化对象,每个都可评论、可点赞、可订阅——入门成本从"学会邮件礼仪"降为"点三个按钮"。SourceForge 随后衰落,2015 年其锁定出逃项目、投放恶意广告的丑闻进一步把项目推向 GitHub(https://arstechnica.com/information-technology/2015/06/sourceforge-locked-in-projects-of-fleeing-users-cashed-in-on-malvertising )。
阶段五(2013–2016):新手友好运动——从 RTFM 文化到"good first issue"基建
与课题关系最直接的阶段:"开源贡献入门"从一种运气(你恰好认识某个 maintainer)变成了可运营的基础设施。
- 约 2013 年,CodeTriage(Richard Schneeman 创办)上线,订阅仓库按邮件领取待分诊 issue(https://codetriage.com );同期 up-for-grabs.net 已在活跃运营(首发精确日期未找到一手来源,标注存疑;https://up-for-grabs.net ,活跃证据另见 https://opensourcefriday.com 所列资源)。
- 2014 年 10 月,DigitalOcean 举办首届 Hacktoberfest:整个十月提交 4 个 PR 换限量 T 恤,首届约 676–768 人参加(官方回顾 https://www.digitalocean.com/blog/looking-back-at-hacktoberfest 、十周年回顾 https://www.digitalocean.com/blog/ten-years-hacktoberfest )。
- 2014 年,Coraline Ada Ehmke 发布 Contributor Covenant v1.0——首个专为开源贡献者设计的行为准则模板,官方 FAQ 称后被超过 4 万个项目采用(https://www.contributor-covenant.org/faq ,v1.0 原文 https://www.contributor-covenant.org/version/1/0/0/code-of-conduct )。
- 2015 年 2 月,GNOME"女性拓展计划"(2006 年由 Marina Zhurakhinskaya 创立)加入 Software Freedom Conservancy 并更名为 Outreachy,扩展到所有弱势群体(https://sfconservancy.org/news/2015/feb/04/outreachy-joins 、https://www.outreachy.org/blog/2022-06-14/remembering-and-honoring-marina-zhurakhinskaya-founder-of-outreachy )。
- 2015 年 10 月 5 日,内核开发者 Sage Sharp 发表《Closing a door》,宣布因"残酷、倒退、纯粹负面"的社区文化离开内核开发(https://sage.thesharps.us/2015/10/05/closing-a-door ,背景 https://en.wikipedia.org/wiki/Sage_Sharp );同期 Kent C. Dodds 与 Scott Hanselman 发起 First Timers Only,呼吁维护者为首次贡献者保留"零难度"issue(https://www.firsttimersonly.com )。
- 2016 年 2 月 17 日,GitHub 官方支持 issue/PR 模板,后演化为
.github/目录约定(https://github.blog/developer-skills/github/issue-and-pull-request-templates );6 月 13 日发布 Open Source Guides,其中《How to Contribute to Open Source》至今仍是事实上的新人入门标准文本(https://opensource.guide/how-to-contribute ,发布日期佐证 https://timelines.issarice.com/wiki/Timeline_of_GitHub );同年推出 community profile,把 README、LICENSE、CONTRIBUTING.md、CODE_OF_CONDUCT.md、issue/PR 模板做成"社区健康度检查清单"——挑选项目的黄金标准从此可量化(https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories )。
三股力量在此汇合:(1)多样性与反骚扰的社会压力,把行为准则从"可有可无"变成"默认必备";(2)社交媒体放大了"贡献被羞辱"的个案,社区意识到毒性直接杀死新人;(3)平台发现新手流量就是增长引擎。"好客"从美德变成了工程:标签(good first issue / help wanted)、模板、目录站、行为准则、导师制实习,一整套"新人漏斗"就此成型。
阶段六(2017–2019):治理与自动化门禁——CoC 落地、CI 成为守门人
- 2018 年 9 月 16 日,Linux 内核采用正式行为准则(取代 Code of Conflict),随后 Linus Torvalds 发表著名的道歉与暂退声明,承认自己"需要改变一些行为"(原文 https://lkml.org/lkml/2018/9/16/167 ,报道 https://www.cnbc.com/2018/09/17/linux-creator-linus-torvalds-takes-time-off-apologizes-for-behavior.html ,背景 https://itsfoss.com/linux-code-of-conduct/ )。这是"社区礼仪"从民间倡议变成顶级项目硬规则的标志性时刻。
- 2019 年 11 月 13 日,GitHub Universe 宣布 GitHub Actions 正式商用(GA),上线时已有 1200 多个社区工作流(https://github.blog/news-insights/product-news/universe-day-one/ )。CI 检查从此内嵌于 PR 页面:格式、测试、DCO 签名检查机器人都可以在"从 issue 到 merged"的路径上自动设卡——礼仪第一次可以被机器部分执行。
阶段七(2020–2023):Spamtoberfest、社区健康工具与第一批 AI 足迹
- 2020 年 10 月"Spamtoberfest"危机:激励驱动的活动被反向利用,海量只改一个逗号的垃圾 PR 淹没维护者(Drew DeVault 号召反击 https://drewdevault.com/blog/Spamtoberfest ,同期批评 https://lobste.rs/s/epbcho/digitalocean_s_hacktoberfest_is_hurting )。DigitalOcean 被迫紧急改规则:仓库必须加
hacktoberfesttopic 才算报名、维护者标记 spam/invalid 的 PR 不计入、引入评审等待期(规则变更复盘 https://ongchinhwee.me/shitoberfest-ruin-hacktoberfest/ 、案例研究 https://developerrelations.com/case-studies/overcoming-hacktoberfest-spam )。 - 2021 年 8 月,GitHub Discussions GA,issue 与论坛分工,项目可以更从容地分流求助与闲聊(https://github.blog/news-insights/product-news/whats-new-from-github-changelog-august-2021-recap/ )。
- 2023 年秋,AI 的第一批足迹出现在"贡献"链路上——但先是以最坏的方式:curl 收到第一份由 AI(Bard)幻觉拼凑的假安全报告;12 月 28 日又收到一份伪装完美的"WebSocket 缓冲区溢出"报告,实际完全不存在。Daniel Stenberg 将其定性为 "AI slop" 现象(一手归档 https://daniel.haxx.se/blog/tag/ai/ )。
核心教训:当"完成 4 个 PR"变成 KPI,贡献的数量信号就与质量脱钩。新人漏斗的每一级都必须有维护者可用的否决权(opt-in、spam 标签、评审期)——这也是理解下一个阶段 AI 洪水的伏笔。
阶段八(2024–2026):AI 涌入——"从 issue 到 merged"的路径被重新定义
- 2024 年 3 月 29 日,Microsoft 工程师 Andres Freund 因约 500ms 的 SSH 登录延迟异常揪出 XZ Utils 后门(CVE-2024-3094)。攻击者账户 "Jia Tan" 通过长达数年的社会工程赢得原维护者信任、被吸纳为共同维护者,最终获得合并 commit 与发布版本的权限(事件脉络 https://en.wikipedia.org/wiki/XZ_Utils_backdoor ,治理分析 https://www.wilsoncenter.org/blog-post/how-to-secure-open-source-software-dilemma-xz-utils-backdoor ,技术复盘 https://arxiv.org/html/2404.08987v1 )。警钟:"从 issue 到 merged"的路径本身就是攻击面,贡献者的信任授予机制成了安全议题。
- 2025 年 5 月 19 日,GitHub 宣布 Copilot coding agent 公开预览:把一个 issue 指派给 Copilot,它在后台独立完成并自动开出 pull request 供人评审(https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview 、https://blogs.microsoft.com/blog/2025/05/19/microsoft-build-2025-the-age-of-ai-agents-and-building-the-open-agentic-web );正式商用后明确新门禁:Copilot 的 PR 必须经人工批准,CI/CD 才会被触发(https://github.com/orgs/community/discussions/159068 、官方教程 https://github.blog/ai-and-ml/github-copilot/github-copilot-coding-agent-101-getting-started-with-agentic-workflows-on-github )。
- 2025 年 8 月 11 日,Google Big Sleep 团队(DeepMind + Project Zero 的 AI 代理)向 curl 报告 CVE-2025-9086——curl 收到的第一份由 AI 代理发现并成立的真漏洞;9 月起 ZeroPath、Aisle 等 AI 分析器送来 400 多个潜在问题,第一批催生约 50 个修复被合并(https://daniel.haxx.se/blog/tag/ai/ )。
- 2026 年 2 月 1 日,curl 完全关闭运行七年、累计支付超 9 万美元的 bug bounty——关掉的是"为有效报告付赏金"的计划本身,而不是停止接收漏洞报告:2025 年起 AI slop 报告占比升至约两成、有效报告率跌至约 5%,赏金模式难以为继。curl 一度改用 GitHub 的漏洞报告通道,发现不够用后于 2026 年 3 月重回 HackerOne、收紧受理门槛继续收报告,随后到来的是 "high quality chaos"(高质量混乱)——几乎每份报告都用 AI 写成、频率是 2025 年的两倍,但确认率从 2025 年约 5% 的谷底回升到 15–16%,即回到 2024 年 AI 洪水出现之前的正常水平;curl 预计全年发布约 50 个 CVE(全部一手数据 https://daniel.haxx.se/blog/tag/ai/ )。
- 2026 年 5–6 月,Anthropic 借 Linux Foundation 之手向 curl 提供 Mythos 模型扫描:报告"确认"5 个漏洞,人工复核后只承认 1 个低危 CVE(3 个误报、1 个普通 bug)。Daniel Stenberg 立下 curl 的立场:"我们亲自为合并的每一行代码负责——作为人类"(We stand for every bit of code we merge – as humans);截至该文,curl 仓库 17.6 万行 C 代码,历史上有 1,465 人的改动被合并(https://daniel.haxx.se/blog/tag/ai/ )。
大模型让"写一份看起来专业的 issue/PR/漏洞报告"的边际成本趋近于零,阶段七的激励失灵教训被指数级放大。平台给出的初步答案是:agent 可以进流水线,但 merged 的决定权必须留在人类手里。
纵轴小结:反复出现的三个张力
- 规模 vs. 质量。每次降低参与门槛的工具(集中托管、fork/PR、good first issue、Hacktoberfest、AI)都同时带来贡献洪水:2013 年前是邮件噪音,2020 年是 Spamtoberfest,2025 年是 AI slop。社区的应对模式高度一致——加一级"维护者否决门"(spam 标签、opt-in、人工批准、PR 评审)。
- 法律与信任的显式化。从 DCO(2004)到 Contributor Covenant(2014)到 Copilot PR 的人工批准(2025),整条纵轴就是不断把"我信任你"翻译成可检查的机器可读凭证的历史。
- 礼仪先于工具。每代工具都先于配套礼仪出现:邮件列表先于《提问的智慧》,GitHub 先于行为准则普及,AI agent 先于 2026 年的"AI 参与标注"共识。"开源贡献入门"课题的本体,其实是这条礼仪线的持续追赶——这也是为什么 opensource.guide(2016)的《How to Contribute to Open Source》至今仍把"有效沟通(Communicating effectively)"作为"如何提交贡献"一章的第一节,排在"开 issue"与"开 PR"之前【实测 2026-11-06:目录顺序,https://opensource.guide/how-to-contribute 】。
二、横轴:横向对比——2026-11-06 截面上的七类资源
2.1 课题界定与统一路径基线
本课题不是一款软件产品,而是一条学习路径:帮助新手走完"挑选项目 → 读贡献指南 → 提交 PR → 遵守社区礼仪 → 最终 merged"的全流程。因此其"竞品"界定为同样承诺"教会你做开源贡献"的所有替代形态。两章各自给出过"从 issue 到 merged"的路径(纵轴 8 步版、横轴 10 步版),本文合并为统一十步基线,并标注每一步沉淀自纵轴哪个阶段——这张表也是后文评估每类资源覆盖度的标尺。类别图例(定义与详情见 2.2、2.3):A 练手沙盒|B 权威指南|C issue 发现平台|D 结构化带薪项目|E 节日活动|F 礼仪规范|G 数据平台。
| 步骤 | 动作 | 历史来源(纵轴遗产) | 新手常见死点 | 覆盖资源 |
|---|---|---|---|---|
| 1 | 确定技术栈与贡献动机(学习/求职/回馈) | 补丁时代"先潜水后投稿"传统的远祖 | 无目标海投 | B 类指南 |
| 2 | 发现候选项目 | 阶段五的标签基建(good first issue / help wanted) | 只看 star,不看活跃度 | C 类平台 |
| 3 | 项目尽调:合并速度、CONTRIBUTING.md、行为准则、维护者响应 | 2016 community profile 清单 | 选中僵尸项目,PR 无人 review | C 类 + G 类 |
| 4 | 通读贡献指南与提交规范、法律门禁(CLA/DCO) | 2005《Producing OSS》→ 2016 模板;2004 DCO | 不读指南直接提 PR 被秒关 | B 类 |
| 5 | 认领 issue(评论 claim、等 maintainer 指派) | 邮件时代"先讨论再发补丁"的直接后代 | 重复认领、闷头做完发现已被做 | C/D 类 |
| 6 | 本地跑通构建与测试 | Git 时代"本地反复打磨"传统 | 环境搭不起来即弃坑 | A 类 |
| 7 | fork → 分支 → 小步提交 → Fixes #N 关联 | 2008 fork/PR 按钮三件套;2016 PR 模板 | diff 失控、PR 描述缺失 | A/B 类 |
| 8 | 提交 PR 过 CI | 2019 Actions GA;DCO 机器人 | CI 红灯不修 | A/B 类 |
| 9 | Review 往返(礼仪核心区) | 2014/2018 CoC(Code of Conduct,行为准则);2026 新增 AI 披露条款 | 情绪化争论、催促维护者、AI slop | F 类 + B 类 |
| 10 | merged 后清理分支、跟进发版、沉淀长期身份 | committer 信任积累(XZ 警示:这也是攻击面) | 合并即失联 | D 类 + G 类 |
前 6 步是"从 issue 找到并启动",第 7–8 步是"PR 工艺",第 9 步是"社区礼仪",第 10 步是"从一次性贡献者变成长期成员"。AI 时代的叠加规则作用于第 7–9 步:Copilot agent 开出的 PR 须经人工批准后 CI 才会运行(见纵轴阶段八);用 AI 辅助写作 issue/PR,则必须自己核实每个事实、自己理解每行代码。
2.2 七类资源总对比(2026-11-06 截面)
| 对象 | 类别 | 成本 | 覆盖步骤 | 活跃度(2026-11) | 最大局限 |
|---|---|---|---|---|---|
| firstcontributions/first-contributions | A 练手沙盒 | 免费 | 6–8 | 【实测】56,713 星 / 112,300 fork,最后 push 2026-11-05 | 合成仓库,非真实项目,无 review 博弈 |
| firsttimersonly.com | A 练手倡议 | 免费 | 5–8 | 【检索】仍被 opensource.guide 等现役资源引用 | 规模与更新不及 first-contributions |
| opensource.guide | B 权威指南 | 免费 | 1–4、9 | 【实测】15,785 星,push 2026-11-05,仅 5 个开放 issue | 偏方法论,不提供 issue 供给 |
| GitHub Docs「Contributing to open source」 | B 权威指南 | 免费 | 4、7–8 | 【检索】持续维护 | 只讲平台动作,不讲人情世故 |
| freeCodeCamp how-to-contribute | B 指南清单 | 免费 | 1–4、9 | 【实测】9,341 星,push 2025-05-30(约 17 个月未更新) | 清单型,链接腐化风险 |
| up-for-grabs.net | C issue 发现 | 免费 | 2–3 | 【实测】在线;主仓库 6,038 星、2,497 fork(GitHub API 中旧仓库名已 404、已更名) | 项目自报名,质量参差 |
| goodfirstissue.dev | C issue 发现 | 免费 | 2 | 【实测】在线,列表数小时级刷新(DeepSource 运营) | 只聚合热门项目 |
| CodeTriage | C issue 发现 | 免费 | 2、5 | 【实测】在线,自称 100,511 开发者 / 10,676 仓库,版权 2026 | 邮件驱动偏被动,噪声大 |
GitHub 原生搜索 label:"good first issue" | C issue 发现 | 免费 | 2 | 平台内建,持续可用 | 无质量过滤,标签滥用常见 |
| Google Summer of Code 2026 | D 带薪项目 | $750/$1,500/$3,000 | 2–10 | 【检索】贡献者申请 2026-03-16 至 03-31(成文日已截止) | 竞争激烈、周期以月计 |
| LFX Mentorship | D 带薪项目 | $1,000–$6,600/12 周(PPP,购买力平价调整) | 2–10 | 【检索】累计 1,514 名学员、发放超 $4.2M | 需先具备基础贡献能力 |
| Outreachy | D 带薪项目 | $7,000/3 个月 | 2–10 | 【检索】每年两期,2026-12 期报名中 | 面向受系统性偏见影响的群体(资格标准见 2.3) |
| Google Season of Docs | D 带薪项目 | 已终结 | — | 2019–2024 共六届后官网宣布结束 | 2026 起文档贡献失去专属带薪通道 |
| Hacktoberfest 2026 | E 节日活动 | 免费(有周边激励) | 2、7–8 | 【检索】约 115,385 名参与者、70+ 国家 500+ 场线下 Fest;DEV 接管线上 | 历史上垃圾 PR 重创维护者口碑;2025 年门槛提至 6 个高质量 PR |
| Contributor Covenant | F 礼仪规范 | 免费 | 9 | 【检索】v2.1 长期主流,2025-07 发布 v3.0 | 只是文本模板,不教具体对话 |
| OpenSauced | G 数据平台 | 免费+付费层 | 2–3 | 【检索】持续运营 | 偏分析仪表盘,非教学路径 |
2.3 分类要点(合并两章后的完整弧线)
A 类·练手沙盒。first-contributions 把步骤 6–8(本地环境 → fork/分支/commit → 开 PR)压缩成一次 30 分钟的零风险演习:在一个专为练习而生的合成仓库里提 PR,不会被骂、不会失败,含中文在内的多语言版本降低了非英语用户门槛。它只教 Git 工艺——没有真实 issue 尽调(步骤 2–3),没有真实 review 博弈(步骤 9),礼仪训练接近于零。新手最常见误区是"在 first-contributions 提了个 PR 就算会开源了"。firsttimersonly(2015 年发起,见纵轴阶段五)是同一精神的倡议站,规模与更新不及前者。
B 类·权威指南。opensource.guide(2016 年 6 月发布,GitHub 官方出品,当日实测仍在活跃维护)是"挑选项目 + 社区礼仪"两个环节的经典文本;GitHub Docs 把平台操作层(fork、PR、issue 关联语法)讲到实操级;freeCodeCamp 的聚合清单已约 17 个月未更新,是清单型资源链接腐化风险的活例。B 类讲"什么是对的事",但既不提供 issue 供给(需 C 类)也不提供练习场(需 A 类)。本课题相对 B 类的增量应放在其普遍薄弱的两处:项目尽调的量化方法(怎么看合并速度、响应率)和 review 往返的实战话术。
C 类·issue 发现。三家的选择逻辑不同:up-for-grabs 靠项目自报名(老牌,2013 年前后即活跃),goodfirstissue.dev 靠 star 门槛筛选热门项目(DeepSource 运营,数据数小时级新鲜),CodeTriage 靠邮件习惯养成("订阅仓库,每天推一个 issue")。GitHub 原生搜索是最不用学习但噪声最大的兜底。组合用法:goodfirstissue 选热门,up-for-grabs 选小而具体,CodeTriage 养习惯,GitHub 搜索做兜底。C 类是七类中"离 issue 最近、离 merged 最远"的一层。
D 类·结构化带薪项目。唯一结构性覆盖步骤 2–10 的形态——有导师、有津贴、有时间表,把"从 issue 到 merged"变成有组织的全职实习。GSoC 源自 2005 年(纵轴阶段二),2026 届分 90/175/350 小时三档、津贴 $750/$1,500/$3,000;LFX Mentorship(Linux Foundation 旗下导师制)12 周一期、$1,000–$6,600(按购买力平价 PPP 调整;官方博客口径:基准 $6,000 按 PPP 调整、$6,600 上限与 PPP 机制保留,2026-07-01 之后开课的项目最低额降至 $1,000【实测 2026-11-06】,调整前最低额为 $1,500【检索】),累计 1,514 名学员;Outreachy 前身是 2006 年 GNOME"女性拓展计划"、2015 年更名(纵轴阶段五),$7,000/3 个月、每年两期。Outreachy 的人群资格有明确判定标准【实测 2026-11-06:官方申请指南 https://www.outreachy.org/docs/applicant 】:面向在所在国科技行业中遭受代表性不足、系统性偏见或歧视的人群开放申请,明示欢迎顺性别与跨性别女性、跨性别男性、非二元与性别酷儿者,以及美国境内的黑人/非裔美国人、西语裔、原住民、阿拉斯加原住民、夏威夷原住民与太平洋岛民裔申请者(不限性别);申请者须年满 18 周岁(按当期实习开始日计),实习期全职投入(每周 30 小时),实习期间不得另有实习或全职工作(兼职须经组织方批准),在校学生须有连续 42 天不与课程考试冲突的空闲时间并按所在半球申请对应期数;曾参与过 Outreachy、其前身 Outreach Program for Women(OPW)或 GSoC(含未完成者)不可再申请,可多次投递但只能中选一次。共同门槛:不是入门工具而是进阶通道——GSoC 竞争激烈且周期以月计,LFX 与 Outreachy 要求先具备基础贡献能力,Outreachy 还有人群资格门槛。2026 年关键变化:Google Season of Docs 六届后终结,以写作为长的贡献者失去专属带薪通道,改道 LFX/Outreachy 的文档类项目名额,或在 C 类平台按 documentation/docs 标签筛 issue。
E 类·节日活动。Hacktoberfest 十二年(共十三届)的完整弧线:2014 年首届 676–768 人 → 2020 年 Spamtoberfest 危机与规则重构(纵轴阶段七)→ 2025 年由 DigitalOcean 与 DEV 联合运营、把门槛从 4 个 PR 提高到 6 个高质量 PR【检索】(2014 年以来并无停办届次:2024 年官方活动照常举办,当年营销语境中的 "is back" 指新季度开场与联合运营,而非停办复办)→ 2026 届约 115,385 人、主题"AI belongs to everyone"、DEV 接管线上挑战、DigitalOcean 退居 presenting partner。从 676 人到 11.5 万人,它是"只考核 PR 数量如何系统性违背社区礼仪"的最生动案例库——GitHub 官方 2026 趋势文章所批评的 "AI slop"("对人类注意力的拒绝服务攻击",https://github.blog/open-source/maintainers/what-to-expect-for-open-source-in-2026 )正是这一机制的集中爆发点。2026 年的结构变化也意味着"蹭节日完成首次 PR"的性价比在下降。
F 类·礼仪规范。Contributor Covenant 2014 年 v1.0 → v2.1 长期主流 → 2025 年 7 月发布 v3.0(部分大项目如 Mastodon 已在讨论迁移);官方 FAQ 口径称超过 4 万个项目采用。它告诉你社区划了哪些红线,但不教你在 code review 的具体对话里如何做人——如何礼貌地坚持观点、如何接受拒绝、如何催而不烦。礼仪环节应以 CoC 为底线、以真实 review 话术为血肉,这是任何存量竞品都没做透的部分。
G 类·数据平台。OpenSauced 定位"开源情报平台",为贡献者提供项目洞察与个人贡献画像,为维护者提供团队分析。它覆盖步骤 2–3 的数据面(项目健康度、贡献者轨迹),但不构成教学路径——本课题将其作为"量化尽调"环节的推荐工具而非竞品。
三、交叉洞察:两轴结合说明了什么
3.1 七类资源是八段历史的沉积层
把横轴的七类资源与纵轴的八个阶段对齐,对应关系清晰得近乎整齐:横轴上每一种"教会你做开源贡献"的形态,都是纵轴上某个阶段的遗产。A 类(沙盒)与 B 类(指南)承接阶段四、五的工艺与文档遗产(fork/PR 三件套 + opensource.guide 与 community profile);C 类(issue 发现)承接阶段五的标签与目录站基建(good first issue、CodeTriage、up-for-grabs);D 类(带薪项目)承接阶段二(GSoC 2005)与阶段五(Outreachy)的制度遗产;E 类(节日)承接阶段五的 Hacktoberfest 与阶段七的 Spamtoberfest 教训;F 类(行为准则)承接阶段五(CoC 1.0)与阶段六(内核 CoC)的治理遗产。G 类(数据平台)在纵轴八阶段中找不到直接前身——纵轴通篇没有"项目数据分析"这一环——本文不为其强行指派阶段映射,只把它当作横截面上新长出的辅助工具(见 2.3:量化尽调的推荐工具而非竞品)。
反过来读同样成立:纵轴上每个阶段沉淀的机制,在 2026 年的横截面上都有对应的现役资源。历史没有过时,只是沉淀成了今天的选择题——新手面对"选哪类资源",本质是在替自己选择从哪段历史开始:从 30 分钟的沙盒(阶段四的工艺遗产)开始,还是从带薪实习(阶段二的制度遗产)开始。
3.2 纵轴三张力在横截面上的投影
其一,规模 vs 质量在横轴上表现为"门槛—覆盖—质量"的负相关。 覆盖步骤越少、门槛越低的资源(E 类节日、A 类沙盒),质量越失控;覆盖越全的(D 类带薪),门槛越高、越不"入门"。没有任何单一资源同时做到低门槛与高质量——Spamtoberfest(2020)与 AI slop(2025)两次证明:低门槛一旦叠加激励,质量必然崩塌,且必须有维护者否决门兜底。所以用户的可行解不是"挑一个最好的资源",而是按十步路径排序组合——这正是下文推荐路径的逻辑起点。
其二,信任显式化在横轴上有现役形态可查。 DCO(commit 里的 Signed-off-by:)、CoC(Contributor Covenant 2.1/3.0)、平台门禁(分支保护、Copilot PR 人工批准)都是 2026 年截面上可点开的活文档。XZ 事件补上了这条线的暗面:merged 路径本身就是攻击面,"谁可以成为 committer"是安全议题。用户在尽调(步骤 3)时检查项目有没有 CoC、要不要 sign-off,不只是在学礼仪——也是在给这个项目的信任机制做一次安全审计。
其三,礼仪先于工具在横轴上留下一片明确的空白。 横轴盘点发现,存量竞品中与礼仪相关的章节大多写于 AI 普及之前:它们教邮件礼仪与 review 话术;而就本报告 2026-11-06 当日【实测】/【检索】所及(限于 2.2 与 2.3 所盘点的资源,非对全网礼仪文本的穷尽核查),未见任何一家系统教"如何与 AI 共处地做贡献"。2026 年的新礼仪(披露 AI 辅助、不用 AI 批量生成 issue/PR、不提交自己没读懂的代码)是纵轴阶段八的直接推论,也是本报告竞品矩阵里的最大空白——这正是本课题相对所盘点存量资源的最大增量机会。
3.3 对用户的判断与建议
推荐组合路径(2026-11 截面;②③ 的步骤归属已对齐 2.1 十步基线的 1→4→5 顺序):① 用 A 类(first-contributions)30 分钟打通 Git/PR 工艺(模拟步骤 6–8)→ ② 定向并发现项目(步骤 1–3):先用 B 类(opensource.guide《How to Contribute to Open Source》)想清楚技术栈与贡献动机(学习/求职/回馈),再用 C 类(goodfirstissue.dev 选热门 + up-for-grabs 选小项目 + CodeTriage 养习惯)发现候选项目并完成尽调,G 类(OpenSauced)可作项目健康度的数据佐证 → ③ 补课并认领(步骤 4–5):锁定目标项目后,用 B 类(opensource.guide + GitHub Docs)通读该项目的贡献指南、提交规范与 CLA/DCO 法律门禁,再回 C 类平台按礼仪认领 issue(评论 claim、等 maintainer 指派)→ ④ 以 F 类(Contributor Covenant)为底线、叠加 2026 年 AI 披露礼仪,完成首次真实 review 往返(步骤 9)→ ⑤ merged 后用 G 类(OpenSauced)沉淀贡献画像,再考虑 D 类(GSoC/LFX/Outreachy)作为进阶带薪通道(步骤 10)。
分人群通道建议:纯新手严格走 ①→④,不要直接海投 PR,警惕"沙盒 PR 等于会开源"的错觉;学生与求职者把 D 类当目标而非起点——先攒 3–5 个真实 merged PR 再申 GSoC/LFX,命中率更高。时点提示(成文日 2026-11-06):GSoC 2026 贡献者申请窗(2026-03-16 至 03-31)已经截止,下一届 GSoC 2027 时间线尚未公布,历年惯例为春季开放申请(以官方时间线页为准,见参考来源 10);当下即可申请的带薪通道是 Outreachy 2026-12 期(报名中,实习期 2026-12-07 至 2027-03-08,见 2.2 表)与 LFX Mentorship(12 周一期、按期滚动招生,当期时间表见 https://docs.linuxfoundation.org/lfx/mentorship/mentorship-program-timelines 【检索】)。文档型贡献者因 GSoD 终结改走 LFX/Outreachy 文档名额或 C 类平台 docs 标签 issue;Hacktoberfest 参与者把它当社交事件而非入门路径——2026 年 6 个高质量 PR 的门槛与线下为主的结构,蹭奖性价比已经下降。
尽调清单(步骤 3 的量化版)——以下阈值均为本报告给定的经验默认值(非任何官方标准,可按项目体量增减:大项目放宽、个人小项目收紧),核对入口以 GitHub 仓库页与 Insights(Pulse/Commit activity)为主,G 类工具(OpenSauced 等)可作批量佐证:
- 活跃度:最近 90 天内有 commit、最近 30 天内有 issue/PR 活动;主分支超过 90 天无 commit 一票否决(僵尸项目)。
- 合并速度:已合并 PR 从开出到 merge 的中位时长 ≤ 14 天为佳;开放 PR 超过 30 天无维护者评论的比例过高,说明没有 review 人力,慎入。
- 响应速度:新 issue 首次获得维护者回应 ≤ 7 天为佳;挂起超过 30 天无人回应的 issue 占比过高,慎入。
- 文档与标签:CONTRIBUTING.md 与 CoC 是否存在(2016 community profile 清单可直接当 checklist);
good first issue/help wanted标签下的 issue 近期是否真实在被认领与合并——点开最近被认领的几个 issue 看它们是否走向 merged,而非挂了几个月的装饰。 - 法律门禁:CONTRIBUTING.md 规定流程,行为准则规定语气,CLA 或 DCO 规定法律关系(今天通常表现为 commit 里的
Signed-off-by:行)。
礼仪底线(步骤 9):先在 issue 下留言对齐方案再动手(邮件时代"先讨论再发补丁"的直接后代);回应每条 review comment、小步推进、不用 force-push 打乱已开始的讨论;被拒时礼貌追问原因;接受"被批评的是代码不是你本人"。2026 年新增 AI 条款:披露 AI 辅助、不用 AI 批量生成 issue/PR/漏洞报告、不提交自己没读懂的代码——curl 一年内的三波教训(AI slop 报告洪水、Mythos 扫描五个"漏洞"只承认一个、关停七年 bounty)就是这条条款的全部理由。披露的具体话术可参照以下模板(本报告建议的措辞,非任何社区的强制标准):
- issue/PR 描述末尾加一行披露:中文项目可写"本文由 AI 辅助起草,技术判断与全部代码改动已由本人逐行核实";英文项目可写 "Drafted with AI assistance; all technical judgments and code changes were reviewed and verified by the author."
- 引用 AI 的分析结论时,先声明来源再给结论:"以下分析由 <工具名> 生成,我人工复核了其中 <N> 处关键结论";复核不过的结论直接删掉,不要原样贴出。
- 漏洞报告写明工具与验证过程:说明用了什么分析工具、哪些步骤由本人验证过;AI 给出的线索若未能亲自复现,明确标注"未复现,仅供参考"——curl 对 Mythos 扫描的处理(5 个"确认"经人工复核只承认 1 个)就是省略这一步的代价。
一句话判断:工具四十年代代更替,唯一没变的是纵轴阶段一埋下的基因——贡献的本质是说服人,merged 的决定权与责任必须留在人类手里。学开源贡献,学的是这套"说服 + 负责"的流程,而不是点按钮的顺序。
四、参考来源
早期历史与版本控制
- Linux Journal — A Git Origin Story: https://www.linuxjournal.com/content/git-origin-story
- Pro Git — A Short History of Git: https://git-scm.com/book/ms/v2/Getting-Started-A-Short-History-of-Git
- Wikipedia — SourceForge: https://en.wikipedia.org/wiki/SourceForge
- Wikipedia — Developer Certificate of Origin: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin ;DCO 官方文本: https://developercertificate.org
- Wikipedia — GitHub: https://en.wikipedia.org/wiki/GitHub
- rdnlsmith — A Brief History of the Pull Request: https://rdnlsmith.com/posts/2023/004/pull-request-origins
- Open Tech School — social coding: https://opentechschool.github.io/social-coding
- julien.danjou.info — Twenty years of stacking commits(Gerrit): https://julien.danjou.info/blog/twenty-years-of-stacking-commits
- Ars Technica — SourceForge 2015 锁定项目与恶意广告丑闻: https://arstechnica.com/information-technology/2015/06/sourceforge-locked-in-projects-of-fleeing-users-cashed-in-on-malvertising
制度、书籍与带薪项目
- Wikipedia — Google Summer of Code: https://en.wikipedia.org/wiki/Google_Summer_of_Code ;GSoC 2026 官方时间线: https://developers.google.com/open-source/gsoc/timeline ;OSI 博客·GSoC 2026: https://opensource.org/blog/google-summer-of-code-2026-advancing-open-source-through-mentorship
- Karl Fogel — Producing Open Source Software: https://producingoss.com ;出版信息: https://www.researchgate.net/publication/200026371_Producing_Open_Source_Software_How_to_Run_a_Successful_Free_Software_Project
- Linux Foundation 博客 — LFX 津贴模型(2026-07 起新模型,官方博客原文仅明言"最低额降至 $1,000"): https://www.linuxfoundation.org/blog/strengthening-lfx-mentoring-a-fairer-stipend-model-and-a-shared-standard-of-excellence ;当期时间表: https://docs.linuxfoundation.org/lfx/mentorship/mentorship-program-timelines ;CNCF mentoring 讨论: https://github.com/cncf/mentoring/discussions/1896
- Outreachy — 加入 SFC 公告(2015-02): https://sfconservancy.org/news/2015/feb/04/outreachy-joins ;创始人纪念文: https://www.outreachy.org/blog/2022-06-14/remembering-and-honoring-marina-zhurakhinskaya-founder-of-outreachy ;申请指南: https://www.outreachy.org/docs/applicant
- Google Season of Docs(已终结声明): https://developers.google.com/season-of-docs
新手友好基建与资源生态
- up-for-grabs.net: https://up-for-grabs.net ;goodfirstissue.dev: https://goodfirstissue.dev ;CodeTriage: https://codetriage.com ;opensourcefriday.com(资源佐证): https://opensourcefriday.com
- DigitalOcean — Hacktoberfest 首届回顾: https://www.digitalocean.com/blog/looking-back-at-hacktoberfest ;十周年回顾: https://www.digitalocean.com/blog/ten-years-hacktoberfest ;2024/2025 届动态与规则(检索转述): https://www.digitalocean.com/blog ;2025 届第三方规则记录【检索】: https://adiati.com/blog/hacktoberfest-making-it-enjoyable-for-contributors-and-maintainers 、https://cloudinary.com/blog/hacktoberfest-first-time-maintainer ;2026 届官网: https://hacktoberfest.com
- Contributor Covenant — FAQ(采用量口径): https://www.contributor-covenant.org/faq ;v1.0 原文: https://www.contributor-covenant.org/version/1/0/0/code-of-conduct ;官网: https://www.contributor-covenant.org ;v3.0 发布公告(2025-07): https://ethicalsource.dev/blog/contributor-covenant-3
- Sage Sharp — Closing a door(2015-10-05): https://sage.thesharps.us/2015/10/05/closing-a-door ;Wikipedia — Sage Sharp: https://en.wikipedia.org/wiki/Sage_Sharp
- First Timers Only: https://www.firsttimersonly.com
- GitHub Blog — issue/PR 模板(2016-02-17): https://github.blog/developer-skills/github/issue-and-pull-request-templates ;模板现状文档: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates
- Open Source Guides — How to Contribute to Open Source: https://opensource.guide/how-to-contribute ;GitHub 时间线(发布日期佐证): https://timelines.issarice.com/wiki/Timeline_of_GitHub
- GitHub Docs — community profiles: https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories
- GitHub Docs — Contributing to open source: https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-open-source
- freeCodeCamp — how-to-contribute-to-open-source: https://github.com/freeCodeCamp/how-to-contribute-to-open-source
- firstcontributions/first-contributions: https://github.com/firstcontributions/first-contributions ;github/opensource.guide: https://github.com/github/opensource.guide
- OpenSauced GitHub org: https://github.com/open-sauced
治理与自动化门禁
- LKML — Linus 道歉与暂退(2018-09-16): https://lkml.org/lkml/2018/9/16/167 ;CNBC 报道: https://www.cnbc.com/2018/09/17/linux-creator-linus-torvalds-takes-time-off-apologizes-for-behavior.html ;It's FOSS 背景: https://itsfoss.com/linux-code-of-conduct/
- GitHub Blog — Universe Day One(Actions GA,2019-11-13): https://github.blog/news-insights/product-news/universe-day-one/
- GitHub Blog — Discussions GA(2021-08): https://github.blog/news-insights/product-news/whats-new-from-github-changelog-august-2021-recap/
- Drew DeVault — Spamtoberfest: https://drewdevault.com/blog/Spamtoberfest ;Lobsters 批评: https://lobste.rs/s/epbcho/digitalocean_s_hacktoberfest_is_hurting ;规则变更复盘: https://ongchinhwee.me/shitoberfest-ruin-hacktoberfest/ ;案例研究: https://developerrelations.com/case-studies/overcoming-hacktoberfest-spam
AI 时代(2024–2026)
- Wikipedia — XZ Utils backdoor: https://en.wikipedia.org/wiki/XZ_Utils_backdoor ;Wilson Center 治理分析: https://www.wilsoncenter.org/blog-post/how-to-secure-open-source-software-dilemma-xz-utils-backdoor ;技术复盘: https://arxiv.org/html/2404.08987v1
- GitHub Changelog — Copilot coding agent 公开预览(2025-05-19): https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview ;Microsoft Build 博客: https://blogs.microsoft.com/blog/2025/05/19/microsoft-build-2025-the-age-of-ai-agents-and-building-the-open-agentic-web ;Copilot 101 教程: https://github.blog/ai-and-ml/github-copilot/github-copilot-coding-agent-101-getting-started-with-agentic-workflows-on-github ;PR 人工批准门禁讨论: https://github.com/orgs/community/discussions/159068
- Daniel Stenberg — curl 与 AI 一手归档(2023 Bard 幻觉报告、2023-12-28 假溢出报告、Big Sleep CVE-2025-9086、bug bounty 2026-02-01 关闭、2026-03 重回 HackerOne、"high quality chaos"、Mythos 扫描复核、"We stand for every bit of code we merge – as humans"): https://daniel.haxx.se/blog/tag/ai/
- GitHub Blog — What to expect for open source in 2026(Octoverse 趋势,"AI slop 是对人类注意力的拒绝服务攻击"): https://github.blog/open-source/maintainers/what-to-expect-for-open-source-in-2026
*存疑与未验证事项(保留自两章原标注,并按审读意见于 2026-11-06 修订时补充核验):up-for-grabs.net 精确首发日期未找到一手来源;GNU 宣言(1983)、FSF 成立(1985)、《大教堂与集市》(1997)、《提问的智慧》等为模型既有常识背景,本次未单独检索验证;横轴【检索】标注项(GSoC/LFX/Outreachy 2026 细节、Hacktoberfest 2025/2026 数据、CoC v3.0、OpenSauced 等)为搜索摘要转述,未逐条打开原始页面复核。修订当日(2026-11-06)新打开原始来源核实并标注【实测 2026-11-06】的项:opensource.guide《How to Contribute》章节顺序、Outreachy 官方申请指南的资格标准、Linux Foundation 博客的 LFX 津贴新模型、curl 归档中 bounty 关闭与重回 HackerOne 的机制及确认率、GitHub changelog 2025-05-19 原文(确认其中没有"草稿 PR"表述,故正文删除该说法);仍属检索转述并标注【检索】的新增项:LFX 调整前最低额 $1,500(官方博客原文仅明言"降至 $1,000")、Hacktoberfest 2024 年照常举办与 2025 年 DigitalOcean+DEV 联合运营、GSoC 2027 时间线惯例。其余关键事实均于 2026-11-06 通过当日检索/实测的一手来源核实。*