首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Google是如何培养开源人才的?

Google是如何培养开源人才的?

作者头像
用户4035096
发布2026-07-09 19:59:01
发布2026-07-09 19:59:01
10
举报

Google是如何培养开源项目贡献者的?

国内的开源项目不少, 但是外部开发者活跃贡献的不多, 到底怎么做才能培养外部的开源贡献者呢?

可向Google学习!

本文由4部分组成, 看看以培养开源贡献者为目的的全球顶尖赛事GSoC是如何运作的? 再以常年参与GSoC的PG开源项目为背景, 介绍如何参与GSoC赛事, 可作为国内培养开源贡献者的参考!

(实际上国内也有类似的赛事例如“开源之夏” https://summer-ospp.ac.cn/ )

Google Summer of Code (GSoC) 是什么?

为什么 PostgreSQL 社区可以参加 GSoC?

如何参加 GSoC?(针对贡献者)

深度解读:PostgreSQL 社区的 GSoC 2025

💻 Google Summer of Code (GSoC) 简介

Google Summer of Code (GSoC) 是由 Google 组织的一项全球性年度开源活动,旨在鼓励学生开源新手参与开源软件的开发。

核心目标

GSoC 的主要目标是:

  1. 培养新一代开源贡献者: 为新人提供进入开源社区的结构化途径。
  2. 支持开源组织: 帮助各种开源项目获得新代码、新功能和新的长期维护者。

运作模式

  1. 指导组织(Mentoring Organizations): GSoC 首先会挑选一批活跃的开源软件组织(例如 Linux Foundation、PostgreSQL、Python 基金会等)参与。
  2. 项目提案(Project Proposal): 组织会列出他们希望完成的项目创意。贡献者(参与者)选择一个项目,撰写详细的技术提案并提交给组织。
  3. 夏季开发(The Summer): 选定的贡献者在夏季(约 10-22 周不等)在指定导师的指导下,远程完成其开源项目。
  4. 成果与报酬: 成功完成项目的贡献者将获得由 Google 提供的奖金

参与者类型

  • 指导组织(Organizations): 成熟的开源社区,提供项目创意、代码库和导师。
  • 贡献者(Contributors): 主要是学生开源新人,他们是实际编码、提交代码和学习的人。
  • 导师(Mentors): 组织内的资深开发者,负责指导贡献者完成项目。

简单来说,GSoC 是一个为期数月的、有偿的实习性质的活动,它将有抱负的开发者与经验丰富的开源项目和导师连接起来,共同为全球的开源软件添砖加瓦。

为什么 PostgreSQL 社区可以参加 GSoC?

PostgreSQL 社区能够常年参加 Google Summer of Code (GSoC) 并取得成功,主要是因为它完全符合 GSoC 对“指导组织”(Mentoring Organizations)的要求:

① 作为一个活跃且成熟的开源项目

  • 开源性质: PostgreSQL 是全球最先进的开源关系型数据库系统之一,其代码完全开源并遵循自由许可证。
  • 活跃的社区: PostgreSQL 拥有一个庞大、活跃且管理良好的全球开发者社区,具备正式的邮件列表、代码审查流程、测试设施(如 BuildFarm)和领导结构。
  • 历史和影响力: PostgreSQL 是一个长期存在的关键基础设施项目,具有巨大的行业影响力和稳定的维护历史。

② 具备指导能力和意愿

  • 充足的导师: GSoC 要求组织必须能提供愿意投入时间、经验丰富的导师来指导贡献者。如您在前一篇文章的解读中所见,PostgreSQL 社区拥有 GSoC 校友成长起来的导师队伍,形成了良性循环。
  • 管理组织能力: 社区能够承担 GSoC 所需的行政和管理工作,包括项目构思、提案审查、进度评估和与 Google 方面的沟通。

总结来说,PG 社区的本质是一个“大型、成熟、活跃、具有强大指导能力的开源软件项目”,这正是 GSoC 旨在支持的核心对象。

如何参加 GSoC?(针对贡献者)

如果您想作为贡献者(过去常称为“学生”)参加 GSoC,并可能选择 PostgreSQL 这样的组织,一般流程和关键步骤如下:

① 了解基本规则和时间线

  • 资格要求: 您必须年满 18 岁,并且是学生或开源新手(GSoC 正在扩大参与群体)。
  • 时间线: GSoC 是一个竞争激烈的项目,您必须尽早开始准备。导师组织通常在 2 月底公布,申请期通常在 3 月下旬至 4 月上旬
  • 官方网站: 经常访问 GSoC 官方网站(g.co/gsoc)查看最新的规则、时间表和常见问题解答。

② 选择组织并进行前期贡献

这是最关键的一步,尤其是对于像 PostgreSQL 这样竞争激烈的组织:

  1. 浏览项目列表: 一旦组织名单和项目创意公布(通常在 2 月底至 3 月初),仔细浏览 PostgreSQL 社区提出的项目创意列表。
  2. 深入研究代码库: 访问 PostgreSQL 及相关工具(如 pgmonetapgexporter 等)的网站、代码库和开发邮件列表。
  3. 开始小型贡献(强烈推荐): 尝试提交一个小的 Bug 修复、文档改进或功能,以此来:
    • 熟悉工具链: 了解如何编译代码、提 Pull Request (PR) 和使用社区的沟通方式。
    • 建立联系: 让导师和社区成员认识你,了解你的能力和沟通风格。

③ 撰写并提交项目提案(Proposal)

项目提案是您申请的“核心产品”,决定了您是否会被选中。

  • 选择一个项目: 将您感兴趣的项目范围缩小到 1 或 2 个。
  • 与导师交流: 通过邮件列表或聊天渠道(例如 PostgreSQL Hacking Discord) 积极与潜在导师和社区成员讨论您的项目创意、实施细节和技术选择。
  • 提案内容:
    • 清晰地描述您要解决的问题计划的解决方案
    • 制定详细的里程碑(Milestones)和时间表(Timeline),明确在项目周期的 1/3、2/3 和完成时要达成的目标。
    • 提供个人背景相关技能,证明您有能力完成项目。

💡 建议:不要等到最后一刻才提交提案。尽早与导师沟通,根据他们的反馈不断完善您的提案。一个优秀的提案不仅展示技术能力,更展示了沟通、组织和项目规划的能力

深度解读:PostgreSQL 社区的 GSoC 2025

以下内容总结自 Pavlo 的 Blog :

  • https://pashagolub.github.io/blog/2025/GSoC-2025-wrap-up/

1. 创纪录的成功率与隐藏的挑战

文章开篇即宣布了惊人的成就:所有 7 名 GSoC 贡献者全部成功通过了最终评估,取得了 100% 的成功率。这一数字不仅代表了项目的成功完成,更体现了贡献者、导师和社区的努力与决心。

然而,高成就背后也伴随着挑战:

  • 申请量激增与质量筛选难题: PostgreSQL 社区收到了创纪录的 213 份申请,是参与 GSoC 21 年以来的最高数字。但作者指出,这其中包含了大量垃圾邮件和 AI 生成的申请,使得筛选工作异常艰难。
  • 名额限制: 尽管申请人数众多,社区只获得了 7 个项目名额(低于他们要求的 9 个),这表明项目增长的最大瓶颈不是人才储备,而是导师和项目容量

2. 核心主旨:从代码到社区成员的蜕变

作者强调,GSoC 最有价值之处并非仅仅是代码本身,而是个人成长、决心和融入社区的过程

  • 定义 GSoC 的意义: 莫哈布(Mohab Yasser)的项目经验被引用为核心观点 —— GSoC 不只是写代码,而是 “深入接触 PostgreSQL 内部结构” 并在过程中成为专家
  • 建立信心: 蒂亚斯(Tejas Tyagi)的感言直击要害:“这次经历让我有信心能够在一个大型的、生产级的系统上工作和贡献。” GSoC 为年轻开发者提供了从学院派到工业级开发者的关键跨越。

3. 技术成果的多样性与深度

这七个项目覆盖了 PostgreSQL 生态系统的多个关键领域,展现了社区对核心功能、安全性、监控和工具链的全面关注.

不过没有核心功能啊, 也许是社区不敢让学生动核心代码? 又或者是这些项目都是PG周边生态的企业发起的原因, 有利益诉求. 不过不管怎么样, 就算是周边生态, 参与者也需要对PG本身对运作有非常详细的理解, 例如备份、连接诶吃, 总得理解内核机制吧.

贡献者

项目内容

意义/深度解读

Ashutosh Sharma

在 pgmoneta 中实现 PostgreSQL 13-16 的增量备份。

复杂且关键的基础设施工作,涉及底层块级别操作。

Mohab Yasser

创建 pgmoneta-walfilter 用于 精确的 WAL 流操纵。

深入到 PostgreSQL 源码,理解 WAL 记录格式,对内核的理解要求极高。

Tejas Tyagi

pgagroal安全改进(连接池)。

关注生产系统的安全性,掌握 TLS/SSL 协议等关键技术。

Bassam Adnan

为 pgexporter 添加 扩展支持(15+个扩展)。

扩大生态系统监控范围,涉及 API 重构和多项目受益。

Gaurav Patidar

现代化 pgwatchGrafana 仪表盘。

关键的维护工作,确保项目对用户的可访问性和现代化。

Mankirat Singh

构建 ABI 合规性检查器(Baza)。

教会了贡献者倾听反馈,从提交到标签进行策略调整,并为 BuildFarm 贡献了重要工具。

Ahmad Gouda

增强 pgwatchRPC 集成(迁移到 gRPC,支持 ElasticSearch, Iceberg 等)。

系统现代化和实际影响(代码已随 pgwatch v4 发布)。

4. 成功的要素:转变与学习的能力

作者总结了成功贡献者的共同模式,这些是比代码更宝贵的软技能:

  • 沟通 (Communication): 积极在 GitHub、邮件列表和 Discord 上互动,提问和寻求反馈。
  • 灵活应变 (Adaptability): 能够基于社区反馈做出“聪明的转向”(Smart Pivots),例如 Mankirat 改变比较策略,Ahmad 迁移到 gRPC。
  • 主人翁精神 (Ownership): 不仅完成分配的任务,还主动修复遇到的 Bug、改进文档,并考虑长期可维护性。
  • 社区融入 (Community Integration): 不孤立工作,而是参与同行评审、互相讨论和庆祝成功。

此外,文章通过“调试故事”强调了跳出舒适区的重要性:Mohab 在 PostgreSQL 源码中添加调试打印来解决 WAL 偏移问题;Mankirat 为了 BuildFarm 客户端模块学习了从未接触过的 Perl 语言。这证明了激情和毅力比先前的经验更重要

5. 社区的代际传承与未来呼吁

  • 导师与贡献者的相互学习: 作者提到,导师也从贡献者身上学到了东西(“新的视角”),这种教学相长是社区活力的来源。
  • 传承的循环: 许多本届导师本身就是往届的 GSoC 校友。这种“昨天的贡献者成为今天的导师,帮助明天的贡献者”的良性循环,是社区持续发展的基础。
  • 最紧迫的呼吁:招募更多导师: 文章的重点落在了对未来的思考上。鉴于 213 份申请证明了人才的充足,社区增长的唯一障碍是缺乏足够的导师。作者发出了强烈的呼吁,邀请有经验的社区成员加入导师行列,以支持更多的项目和人才。

总结:

GSoC 2025 对 PostgreSQL 社区来说不仅仅是一次技术成果的展示,更是一次成功的社区建设和人才培养的典范。这篇文章的核心在于庆祝 100% 的成功率,揭示了个人成长和社区融入是 GSoC 的真正价值,并指明了社区未来发展中最关键的瓶颈——导师资源的稀缺。七位贡献者不仅交付了代码,更成为了一个全球社区中充满信心的、有能力的长期成员。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 digoal德哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Google是如何培养开源项目贡献者的?
  • 💻 Google Summer of Code (GSoC) 简介
    • 核心目标
    • 运作模式
    • 参与者类型
  • 为什么 PostgreSQL 社区可以参加 GSoC?
    • ① 作为一个活跃且成熟的开源项目
    • ② 具备指导能力和意愿
  • 如何参加 GSoC?(针对贡献者)
    • ① 了解基本规则和时间线
    • ② 选择组织并进行前期贡献
    • ③ 撰写并提交项目提案(Proposal)
  • 深度解读:PostgreSQL 社区的 GSoC 2025
    • 1. 创纪录的成功率与隐藏的挑战
    • 2. 核心主旨:从代码到社区成员的蜕变
    • 3. 技术成果的多样性与深度
    • 4. 成功的要素:转变与学习的能力
    • 5. 社区的代际传承与未来呼吁
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档