QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

主力开发已经 68 岁了!“老龄化”严重的 Postgres 开源社区呼唤“年轻一代”

  • 2023-10-16
    北京
  • 本文字数:3166 字

    阅读完需:约 10 分钟

大小:1.39M时长:08:05
主力开发已经68岁了!“老龄化”严重的Postgres开源社区呼唤“年轻一代”

开源已成为这个社会的根基。从上世纪 80 年代 Richard Stallman 发起的自由软件运动,到 Linux、GitHub 以及互联网的崛起,开源的发展也已经经历了不止一代人。

 

近日,分析机构 RedMonk 发表了一篇文章,指出 Postgre 核心开发社区正在逐渐老龄化,其平均年龄可能在 50 岁左右,主力开发已经 68 岁。这些老牌开源社区,希望唤起年轻人对开源的重视。InfoQ 也就“项目维护者老化与项目可持续性之间的关系”、“开源项目如何招募更多年轻开源爱好者”等问题采访了开源社区的资深专家,希望给大家带来启示。

 

Postgres 开源社区的“老龄化”问题

 

PostgreSQL 是一个功能强大的开源关系型数据库系统,其起源可以追溯到 1986 年,作为加州大学伯克利分校 Postgres 项目的一部分,经过几十年的发展,在当前数据库领域发挥着举足轻重的作用。

 

最近,Postgres 提交者兼 EnterpriseDB 首席数据库科学家 Robert Haas 统计了该项目的贡献者情况,发现了该社区面临的一个比较严重的问题,即核心开发社区正在逐渐老龄化,其平均年龄可能在 50 岁左右。比如现年 68 岁 Tom Lane 仍然是 Postgres 项目的支柱。

 


Hacker News 上也有网友指出,Postgres 已经好几年没有新的 committer 了。因此,Postgres 开源项目的可持续性的确令人担忧:“我们假设 Postgres 在 20 年内仍然强劲,那么 20 年后谁会从事这项工作?”

 

“Postgres 引擎的不断发展非常重要。”致力于 Serverless Postgres 的 Neon 公司首席执行官 Nikita Shamgunov 指出,“Postgres committer 人群年龄都在 50、60 岁左右,也许还有一些 30 多岁的。我们希望能够雇用更多初级人员,培训他们成为 committer 并希望最终成为维护者。成为 committer 需要付出很大的努力,但成为 contributor 则没那么难——你只需要编写好的代码即可。”但作为一家商业公司,他又对花钱雇佣初级人员这事儿有点犹豫,“目前尚不清楚这种花钱的方式是不是最好的。”

 

分析机构 RedMonk 认为,队列老化不是 Postgres 独有的问题,但 Postgres “在任何意义上”都没有做到努力去吸引新用户。“让年轻开发人员进入大型机领域 IBM 在这方面就做得非常出色,例如他们发起的大学职业教育项目。”

 

无独有偶,Linux 缔造者 Linus Torvalds 也曾在几年前表述过类似的问题。

 

2020 年,Linus 在一次会议连线中谈到了为开源操作系统寻找未来维护者时的问题:Linux 社区项目管理者是 Torvalds 这批五零后、六零后,但社区终归要考虑代际变更的问题,在目前这一代维护者逐渐老去之后,Linux 项目该怎么发展?

 

Linus Torvalds 当时表示,跟那些 30 岁上下的年轻人相比,他们确实是越来越老了。而且“事实证明,维护者真的不好找。我们的维护者确实不够。”而 Linux 社区的其他核心贡献者也非常担心自己变老精力变差,但年轻一代没有像当初贡献者们那样充满热情,导致“人才匮乏已经成为 Linux 实现进一步增长的最大障碍。”

 

如何改变“老龄化”现状?

 

从某种程度上来说, Postgres 和 Linux 都希望新生代程序员能够加入到项目维护中,来改变社区“老龄化”问题。

 

那么项目维护者老化会影响项目可持续性吗?如果年轻人较少会有什么影响?开源项目如何招募更多年轻开源爱好者?我们采访了开源社区的一些资深专家。

 

只要项目维护者精力还足够,年龄变大其实也不是很大的问题。国外有不少 50、60 岁还活跃在一起的程序员,战斗力其实也不差。如果确实已经年龄很大了,对项目的长期发展肯定还是有影响的,“需要尽早做打算”,Apache 软件基金会 Member、Apache HBase PMC 主席张铎指出。

 

但 Postgres 和 Linux 可能还不同于全部开源社区的整体情况,这两个社区属于“老牌”开源社区。

 

天工开物开源基金会、执行副秘书长庄表伟认为“整个开源社区在经过早期的飞速发展期之后,应该进入稳定期,年龄分布应该趋近于整个社会的工作人群的正常年龄分布(甚至还应该再年轻一些)。而老牌的开源项目,除非能够经过高妙的运营手段,焕发新的生机,再加上老项目的技术能够保持先进性,否则对于年轻人的吸引力,就是会出现‘自然下降’的现象。”

 

因此,庄表伟认为开源社区的老龄化,可能是一个伪命题:“老牌开源项目的老龄化,虽然的确是一个现实问题,但是真正应该关注的是:老牌开源项目(技术),在日新月异的开源技术发展浪潮中,如何保持先进性的问题。

 

项目维护者退休的确会影响项目的可持续发展,但很多开源项目背后也有多个商业公司开发新分支。对于如何吸引年轻人,并要保持项目的持续健康发展,Apache RocketMQ 作者王小瑞认为,商业公司的支持也能发挥重要作用,只有在开源项目上投入的资源足够多,产生的商业价值足够大,自然就会有更多的年轻人参与。因为不但会为年轻人带来荣誉,甚至会成为年轻人一生的事业,让他们将贡献开源作为业余爱好变为主要职业。(这样原创社区作为最大投入方,吸引了最多的爱好者,创造了最大的商业价值,就能避免商业公司开发新分支,导致生态分裂等问题,也能在项目维护者退休后有更多年轻人接棒,形成正循环。)”

 

Apache 软件基金会董事姜宁,以及张铎两位老师则提出了一个有实施前例的方案:“需要项目创始人适当的退出一下,围绕着项目构建起健康的社区,这样能保证项目的可持续发展。”

 

通常来说,只要项目还有足够的使用场景,总是会有新开发者进入的。这中间的关键点就在于原来的核心维护者需要花心思培育一个活跃的社区,并且逐步后退,把更多的责任交给社区里的其他人。这样后续项目发展的问题就变成了一个社区维护的问题,只要社区能一直维护好,原核心开发者是否退出影响就没有那么大了。

 

这个典型的例子就是 Apache NuttX 项目。

 

Nuttx 是一个基于实时操作系统 (RTOS) 的开源项目,旨在提供一个可嵌入、可移植、可扩展和可靠的操作系统解决方案。其创始人 Gregory Nutt (http://www.scguild.com/Resume/7465R.html  )在 2007 年正式对外开源了 Nuttx 项目。在这之后的很长时间里,基本都是由 Gregory Nutt 一个人在维护。

 

到了 2019 年左右,Gregory Nutt 已经 69 岁了,也到了“该考虑未来的时候了”。因为项目本身的特色,小米选择了这个项目作为 IoT 操作系统的基座。所以这一年,Gregory Nutt 和小米就项目的未来进行了讨论,在成立新的基金会挂靠,以及选择加入现有的几个基金会(Apache,SPI)之间进行比较之后,最终选择加入 Apache 进行孵化。该项目于 2023 年毕业,成为了顶级项目。

 


现在,Gregory Nutt 已经不是项目里最活跃的贡献者了,甚至代码写的也不多了。但当前项目依然非常活跃,贡献者高达 400 多人,每个月都有近百个开发者贡献代码。目前基本可以确定,NuttX 项目可以在脱离 Greg 完全控制之后也能发展的很好。

 

吸引年轻人,项目本身也可以做出一些改变,张铎提到了一些其他办法:例如发掘一些新的技术方向,引入一些新的技术,比如 Linux 的 eBPF 现在就非常火,和云原生结合,就可以吸引到大量新的开发者,以及在 linux kernel 中引入 Rust,也是一个吸引更年轻开发者的办法。

 

他同时认为开源项目其实也不必拘泥于一定要年轻人,只要不停的有新鲜血液进来就可以。年轻人总是会追热点的,并且老的技术方向,市场容量本身也有限。一个操作系统项目,在对年轻人吸引力显然无法和一个 AI 项目相提并论。“所以还是要放下执念,不同生命周期的项目维护者的年龄分布肯定是不一样的,不要强求。”

 

参考链接:

https://redmonk.com/jgovernor/2023/10/10/postgres-the-next-generation-investing-in-the-next-generation-of-committers/

https://www.infoq.cn/article/NfU1d3oCcfpgXc06NXlg

https://en.wikipedia.org/wiki/NuttX

https://github.com/apache/nuttx/graphs/contributors

https://incubator.apache.org/projects/nuttx.html

https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-apache-nuttx-as-a-top-level-project

 

2023-10-16 14:1210278

评论 2 条评论

发布
用户头像
所以还是要放下执念,不同生命周期的项目维护者的年龄分布肯定是不一样的,不要强求。
2023-10-18 08:23 · 浙江
回复
用户头像
年迈的开源软件postgres维护者,可以把自己有关postgres的知识,用人工智能转化为武功秘籍。然后等着年轻人上门学艺就行了。哪怕自己一旦走了也不怕。
2023-10-17 07:51 · 北京
回复
没有更多了
发现更多内容

Kafka灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(数据迁移和集群)

石臻臻的杂货铺

kafka

ChatGPT 掐网线,文心一言打太极:马斯克说得不错,这是要造反啊

豆哥

AI 马斯克 ChatGPT 文心一言 灵魂拷问

云电脑平台可以提供哪些服务?有什么优势

青椒云云电脑

云电脑 云电脑平台

Java进程CPU100%打满分析

落日楼台H

Java 性能优化 线程 cpu 100%

C++new和delete运算符介绍

芯动大师

《操作系统实战 45 讲》笔记4——设备与文件系统

袁世超

操作系统 Cosmos LMOS

论一个优秀的日志采集系统是如何设计和实现数据处理的

Yestodorrow

可观测性用观测云

明线与暗线:读懂云厂商鏖战大模型

脑极体

大模型

Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值

大瞿科技

方便的音频控制软件 SoundSource 免激活最新版

胖墩儿不胖y

音频编辑 音频处理工具 编辑音频 音频控制

少林寺、玄武湖景区签约、鲸鱼陪诊上架元服务,鸿蒙生态共繁荣

最新动态

打工人要的安慰,GPT 给不了

豆哥

AI 打工人 ChatGPT 工具人 自我意识

设计师用图形工作站哪种配置比较好?

青椒云云电脑

图形工作站

谁在利用虚拟人做局?

自象限

电商直播 虚拟人

红巨人调色降噪插件合集:Red Giant Magic Bullet Suite 最新激活版

mac大玩家j

Mac软件 视频处理工具 红巨星降噪插件

国产GPT到底哪家强?看看专家怎么选

豆哥

AI 评测 ChatGPT 文心一言 国产大模型

linux(ubuntu) 开启ssh root登录

圆弧

SSH 远程登录 root用户

Kafka的灵魂伴侣Logi-KafkaManger(5)之运维管控–平台管理(用户管理和平台配置)

石臻臻的杂货铺

kafka

Python 安装与快速入门

小万哥

Python 程序员 软件 后端开发 Python3

什么是云电脑平台?有哪些知名的云电脑云平台

青椒云云电脑

云电脑 云电脑平台

有史以来最香的日志收集平台是怎样练成的

Yestodorrow

可观测性用观测云

Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值

西柚子

Kafka的灵魂伴侣Logi-KafkaManger(3)之运维管控--集群列表

石臻臻的杂货铺

kafka

Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值

股市老人

ARTS-7

进德修业

Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值

石头财经

Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值

BlockChain先知

主力开发已经68岁了!“老龄化”严重的Postgres开源社区呼唤“年轻一代”_开源_Tina_InfoQ精选文章