Tom Lane 的 Postgres 成长之路:从编程新手到核心开发者的故事

John Doe 八月 27, 2026

Postgres 作为世界顶级的开源关系型数据库系统之一,其背后的故事和贡献者同样精彩。

目录

image

在本篇文章中,我们通过 Tom Lane 这位资深 Postgres 核心团队成员的访谈,带你走进他如何开始程序员生涯,如何与 Postgres 结缘,以及他对开源社区、数据库技术和开发者文化的深刻见解。


从高中数学实验室到 Carnegie Mellon:一名“极客”的编程启蒙

Tom Lane 的编程旅程始于高中时的数学实验室,那时他和少数志趣相投的同学使用连线到远程的 Honeywell 计算机,学习基本的 BASIC 编程语言。尽管当时只是打发时间写了求解三次方程的程序,但这段经历激发了他的技术兴趣。

进入名校 Carnegie Mellon 大学(CMU)后,Tom 最初的梦想是设计弹珠台机械,甚至专攻机械工程。但在大一时,他被一门吸引人的电气工程课程打动,最终转换了专业。一个偶然机会,他参加了计算机科学入门课,并被教授推荐成为研究助理,从此开始了更加系统的计算机科学学习和实践,主要参与了 “Hydra”——早期的对称多处理器研究项目。

教学要点:

  • 编程兴趣可以从简单问题和环境开始培养
  • 紧跟兴趣转换专业是成长关键
  • 参与科研项目和实际开发助理工作是学习的有效方式

职业起步:惠普的桌面计算机与技术磨炼

本科毕业后,Tom 进入惠普(HP)的桌面计算机部门工作。他解释说,这里开发的是配备 BASIC 语言的桌面计算器,算得上当时的小型计算机。HP 当时偏好电气工程师而不是计算机科学毕业生,但这些机器需要软件工程人才,Tom 正好契合。

在惠普工作期间,他对软件开发、产品设计和工程文化有了深入理解,将“为隔壁工程师打造产品”的理念铭记于心。五年后,他选择回到 CMU 攻读研究生,原因部分是家庭因素,他的妻子希望回到匹兹堡。

关键启示:

  • 技术公司的文化能大幅影响个人成长
  • 跨专业知识(例如电子与计算机科学)助力多面发展
  • 职业转场需考虑家庭与生活平衡

研究生岁月:开源启蒙与“只要代码免费”

攻读博士期间,Tom 接触到了早期的互联网开源代码管理,例如他曾维护 Usenet 新闻组的软件,亲历了早期开源授权的诞生。虽然博士阶段 “Lieberman 队列” 的琐事让他卸货饮料机,但他选择了运维新闻站点,开启了与开放源代码世界的深入联系。

同一时期,他还积极参与了 libjpeg 项目,这是基于 JPEG 图像压缩标准的一套开源实现,极大地推动了数字图像的传播效率。这项工作尤其重要,因为jpeg标准配合 libjpeg 的自由开源许可证,确保了 JPEG 格式成为全球广泛接受的标准。令人惊讶的是,他的代码甚至被用于火星探测器的摄像头中,如“毅力号”火星车。

开放源码的力量体会:

  • 代码免费且高质量,有助于广泛采用
  • 开源项目推动技术标准化和工业实践
  • 早期开源经验塑造了开发者的理念和价值观

偶然成为 Postgres 社区的核心贡献者

在退役惠普设备的二手软件维护生涯后,Tom 和伙伴转向利用金融市场交易模型尝试通过股市获利。在构建相关系统时,选择数据库管理交易数据自然成为关键需求。他考察了当时主流数据库:Postgres、MySQL、Oracle。Postgres 代码整洁且具备良好的可读性,而 MySQL 则让他望而却步。Oracle 则因费用太高被直接放弃。

因实际需要,他开始提交针对 Postgres 在 HP-UX 上的移植补丁,解决监听通知(listen/notify)机制的缺陷,逐渐深入代码。之后他加入了 Great Bridge 公司(首个对 Postgres 投入全职开发的商业实体),从“业余爱好”转为职业生涯。

给开源贡献者的启示:

  • 先做用户再做开发,理解场景至关重要
  • 参与开源社区带来成长与转职机会
  • 一点点小补丁可以引导你进入更深层次的开源贡献

Postgres 发展及社区治理:从小群体到多元协作

Postgres 从伯克利大学的研究项目转为生产级项目后,核心团队由最初4人逐渐扩展。Tom 于 1999 年加入核心团队,团队现已发展出多层次治理结构,包括筹资、基础设施、安全、行为准则等多个子委员会,核心团队更多扮演公益监督和特殊决策角色。

这是一个注重规范和协作的自组织社区

  • 开发和决策高度透明,邮件列表是核心沟通渠道
  • 成员间相互尊重,倡导礼貌与建设性反馈
  • 通过 CommitFest 和 BuildFarm 等工具保障持续集成与质量控制

开源工作的日常与心态:面对挑战,保持温和与开放

Tom 坦言,扮演开源核心开发者不仅是技术工作,更涉及大量邮件沟通、补丁审查与社区互动。他认为:

  • “厚脸皮”+“宽容心”是必备品格:开源开发失败和错误一目了然,接受反馈,改正,是成长必经之路。
  • 持续学习与改进:经验积累带来代码驾驭能力与技术视角的提升。
  • 开放心态:乐于接受不同意见,愿意早期发布草稿,借助社区力量打磨方案。
  • 时间管理虽不完美,但主要靠关注用户反馈决定工作重点。

此外,他也摒弃成见,注重使用简明清晰的语言,避免生僻或含糊不清的表达,体现对多元文化的尊重。


为什么选择留在 Postgres?技术+人文的双重吸引力

尽管在 Red Hat、Salesforce、Crunchy Data 等多家企业工作,Tom 始终能将绝大部分时间贡献给 Postgres 社区。他强调:

  • 企业通常基于 Postgres 构建差异化产品,愿意投资维护开源
  • 参与 Postgres 从技术和人文两个层面满足了他的职业理想
  • 和社区朋友保持联系,参加 PGConf 系列线下/线上会议,深化归属感与友谊
  • 工作不仅是产出代码,更是分享与合作的过程

对于新入门者,他鼓励参加会议和邮件列表,积极试验小补丁,从审阅他人的代码入手慢慢融入。


对 Postgres 新人和开源贡献者的建议

  1. 从小处开始 选择一个小问题或模块入手,一步步积累信心和理解。
  2. 主动征求反馈 在写很多代码前先在邮件列表“卖点子”,早期交流能节省大量返工。
  3. 学习代码审查流程 积极参与Patch Review,了解项目运行和代码架构。
  4. 保持谦逊与开放心态 接受批评和建议,将其视为提升的机会。
  5. 注重社区交流礼仪 语言清晰礼貌,避免使用深奥的俚语,保持良好沟通。
  6. 参加线下线上活动 PGConf 等会议不仅增长技术,也能积累人脉和动力。
  7. 坚持不懈地投身实践 经验和能力来自于不断地敲代码和与社区互动。

总结

Tom Lane 的故事不仅是一位顶级软件开发者的职业轨迹,也是开源社区核心价值和动力的生动写照。自由、责任、协作与热情,构成了Postgres成功的基石。作为开发者,无论从业余爱好还是职业转向,关键在于寻找个人兴趣、用实际需求驱动学习,并积极参与社区交流。

你准备好开始你的Postgres贡献之旅了吗?


参考工具与资源

  • Postgres邮件列表(pgsql-hackers)
  • CommitFest补丁审阅平台
  • BuildFarm持续集成测试系统
  • PGConf系列会议(纽约、欧洲、加拿大线上线下)
  • 公开开源代码库Github与官方网站

愿你在Postgres社区找到属于自己的成长和乐趣!

参考

How I got started as a developer (& in Postgres) with Tom Lane