近一半的开源维护者已经从事这项工作超过 10 年,对他们的需求也在不断增加。会有人取代他们吗?
译自 Open Source Needs Younger Maintainers. How Can It Get Them?,作者 Richard Gall。
近几个月来,人们一直在谈论开源的“老龄化”:维护者社区正在老龄化,而年轻的开发者却很少接手他们的项目。
这个问题在 7 月份联合国的一次青年与开源小组讨论上引起了更广泛的关注,当时来自尼日利亚的项目经理Ruth Ikegah评论道:“我们需要更多年轻人参与进来,因为我看到很多老人。”
然而,现在被讨论为一种集体直觉或感觉的东西,现在有了数据来证实它:Tidelift(一个支持开源维护者的组织)发布的最新开源维护者现状报告显示,维护者社区不仅正在老龄化,而且参与维护项目的年轻开发者也缺乏。
具体来说,45% 的调查参与者已经担任维护者 10 年或更长时间;相比之下,只有 9% 是新维护者(在开源领域工作不超过两年)。这清楚地表明了问题所在。
Tidelift 的营销主管Chris Grams表示,过去几版的调查都强调了这些人口趋势。Grams 在接受 The New Stack 的电子邮件采访时表示,自 2021 年首次调查以来,报告自己年龄在 46 至 55 岁或 56 至 65 岁之间的维护者人数一直在增长:2021 年为 11%,2023 年为 27%,2024 年为 21%(今年下降表明人们正在离开该行业)。
然而,他认为围绕年轻开源维护者的数字更重要:“真正有趣的消息是,26 岁以下维护者的比例从我们 2021 年调查的 25% 急剧下降到去年的 12% 和今天的 10%,”他写道。“也许维护者社区正在老龄化,但更令人震惊的是年轻维护者的人口正在下降。”
毫无疑问,这是令人震惊的。技术已经深深地融入我们的生活,它应该引起所有人的关注,而不仅仅是技术人员。TNS 的读者可能已经看到了著名的 xkcd 漫画,关于现代软件基础设施是如何由“内布拉斯加州的某个随机人”支撑起来的。
今天迫切的问题是,当那个内布拉斯加州人决定退出并用他们的时间做其他事情时,而没有人愿意接手,会发生什么。
但究竟是什么导致了这个问题?鉴于开源软件现在已经成为主流,并被用于几乎所有数字产品或服务中,那么成为维护这种活力的社区的一部分应该很有吸引力,是开发者想要加入的吗?
具有讽刺意味的是,更有可能的是相反的情况:实际上是开源的流行使得参与项目维护变得如此要求苛刻。
“我认为很多人都是为了乐趣而来,那就是编写代码,然后突然之间你就会有一种多巴胺的快感,那就是其他人开始使用你编写的代码,”Grams 在接受 TNS 的视频采访时说。
“你会想,‘哇,太棒了,人们正在使用我的代码!’然后突然之间,有数百万人使用它,然后你会想,‘哇,太棒了,但我的收件箱满了。’”
当前的背景比开源仅仅是主流和更广泛使用要微妙得多。首先,新的监管浪潮以及对更大程度的监督和透明度的趋势意味着对维护者应该修复和修改的内容有了新的期望。
“部分原因是政府出台了更高的安全标准,他们希望软件包能够满足这些标准,”Grams 说,并补充说,“组织以某种方式期望他们从互联网上免费下载的开源软件包将具有与他们为开发人员支付数十万美元创建的软件包相同的安全标准。”
他说,对于一群收入微薄的业余爱好者来说,这是一个“错误的假设”。
他建议,许多使用开源软件的公司显然缺乏理解或意识。 “在过去几个月里,我看到过很多例子,维护人员收到来自大型公司的表格,要求他们承诺一系列他们需要遵守的事项,”Grams 指出。
开源软件如今可能被企业界所接受,但似乎仍然缺乏对这些有价值(有时至关重要)的工具是如何构建和维护的了解。
Carla Gaggini,Isovalent 全球社区和活动负责人,也是 OpenUK 大使和 Cloud Native Computing Foundation 营销委员会主席,持有类似观点。然而,她对企业对待开源软件的方式更加批判。
“在过去 15 年左右的时间里,对开源项目的利用一直在增长,”她在一次在线采访中说。“这已经变得相当不可否认,因此当有人利用开源项目获得金钱利益时,人们免费捐赠时间和精力的动力就会降低。”
Grams 将这个问题视为遵循“公地悲剧”模式的问题,该概念由已故生态学家 Garrett Hardin 提出,用来描述当一群人无限制地使用某项资源时会发生什么。
“即使你的整个业务都依赖于开源软件,你环顾四周,发现没有其他人真正为它付费,你就会认为其他人会照顾它,而你没有必要这样做,”Grams 说。“这与任何其他类型的公地,比如清洁空气或清洁水,是一样的,对吧?”
这个问题不仅仅是处理业务期望的问题,也是我们自身的问题。“我认为现在人们对心理健康、倦怠和自我保健 的意识要高得多,”Gaggini 说。
这可以解释为什么年轻的软件专业人士更不愿意承担维护开源项目的责任。事实上,随着行业内部压力的增加和更多裁员,在过去十年进入工作岗位的软件开发人员一代最关心自己的安全和健康是有道理的。
同样,对于那些在业界工作多年的人来说,日益增长的不稳定感只会让他们更有可能放弃这一切。
“在过去 15 年左右的时间里,对开源项目的利用一直在增长。这已经变得相当不可否认,因此当有人利用开源项目获得金钱利益时,人们免费捐赠时间和精力的动力就会降低。”
—Carla Gaggini,Isovalent
Ana Jiménez Santamaría,Linux 基金会 的开源项目经理,对年轻软件开发人员的期望有不同的看法。
“如今,包括我在内的许多年轻专业人士(作为一名千禧一代后期/Z 世代早期的人)都寻求快速的结果,并且非常渴望获得公众认可(开源社区已经提供了这一点),”她在电子邮件中说。“这种即时满足感可以推动最初的参与,但如果没有适当的激励措施或支持结构,可能无法维持长期的承诺。”
换句话说,Santamaría 认为开源参与对开发人员群体来说可能很有吸引力;只是缺乏使其看起来有价值和可持续的架构。
虽然个人态度和当前行业压力在开源老龄化中发挥着作用,但人工智能生成代码的爆炸式增长——得益于 GitHub Copilot 等工具——也对维护人员产生了影响。
Grams 解释了他如何看待这个问题:“人工智能正在获取所有这些开源代码并将其整合——人们正在使用这些工具来开发他们不理解的代码。因此,在开发人员方面,感觉很好;在维护人员方面,我认为这有点可怕……你开始收到来自人工智能生成代码的很多拉取请求,你需要去评估这些代码的质量。”
随着行业内部压力的增加和更多裁员,过去十年进入职场的软件开发人员一代比志愿参加无偿劳动更关心自己的安全和健康,这是有道理的。
Tidelift 报告包含了调查参与者对 AI 生成代码对项目维护影响的观点。“我不想成为审查大量自动生成的拉取请求的大门,”一位参与者说。“听起来这会让我和我一起维护的人更加疲惫。”
维护人员的负担很明显,但同样值得考虑的是,代际差异在这里可能具有相关性。Stack Overflow 2024 年开发者调查结果显示经验较少的开发者更倾向于信任 AI。
反过来,这打开了代码本身被重新定义的可能性:从精心设计到可以轻松创建并在不需要时丢弃的材料。
诚然,这可能过于悲观,对整整一代软件开发人员来说完全不公平(对不起)。但并不难看出,这种态度的后果可能会让开源管理变得异常困难。
那么谁来负责解决这个问题?这可能是一颗定时炸弹——如果行业未能解决开源老龄化问题,后果将不堪设想。“我们已经看到了一些令人担忧的迹象,”Santamaría 说。“像 OpenSSL 这样的广泛使用的库正面临着资源和维护人员不足的问题。”
对于 Santamaría 来说,指导和教育是关键。她指出了像GoogleSummer of Code这样的计划——“一个将学生与开源组织联系起来的优秀项目,让他们在经验丰富的导师的指导下为现实世界的项目做出贡献”——以及学术机构中的开源项目办公室 (OSPO),例如加州大学圣克鲁兹分校 和马德里雷胡安卡洛斯大学,作为可以而且应该做的事情的典范。
“对于 2024 年成为维护人员所需的技能,没有明确的技能和培训课程,以及所有附加的责任。”
—Chris Grams,Tidelift
她认为OSPO 应该得到更广泛的企业认可,并建议InnerSource 可以通过“在业务部门之间培养开放的协作文化”来提供帮助。她补充说,这可以“成为更轻松地过渡到跨社区有效参与开源的基线”。
Grams 持有类似的观点,他认为“正式的维护人员学徒制”可能会有所帮助,它可以让有兴趣维护开源项目的开发人员有机会学习他们需要的技能。
“开源维护传统上一直是一种学徒制,你参与一个项目,然后你参与其中,”他说。但他补充说,“这不像上大学学习计算机科学并学习一组技能。目前大学里没有‘成为维护人员’的课程,对吧?所以我认为这就是差距。”
Grams 详细说明了这个问题:“对于 2024 年成为维护人员所需的技能,没有明确的技能和培训课程,以及所有附加的责任。”
一个关键问题——也是 Grams 承认的问题——是开源世界目前非常依赖行业中的主要参与者。存在这样的风险,即使开源项目将来能够蓬勃发展,它最初的独立精神也会消失。
未来的一种可能途径是政府更多地干预。Santamaría 指出,这已经在她的居住地西班牙发生了。
“欧盟为开源项目提供的资助可以产生重大影响,”她写道。“这些资助作为奖励,鼓励开发人员为项目做出贡献并维护项目,从而减轻与持续参与相关的部分经济负担。”
Grams 也认为政府投资是未来的组成部分。事实上,如果我们真的看到了公地悲剧,看到政府介入也就不足为奇了——这正是历史上发生的事情。 他告诉 The New Stack,他对德国的 Sovereign Tech Fund 特别兴奋,德国政府正在积极向支持关键数字基础设施的开源项目投入资金。
虽然这些举措都有可能发挥强大的作用,甚至可能带来变革,但它们不一定能解决代沟问题;如果人们希望像早期几代软件开发人员那样关心开源软件,那么在他们职业生涯的早期就需要有意识、兴趣和参与。
Santamaría 告诉我们,在 TikTok 和 Twitch 等平台上,“越来越需要强大的开源数字创作者和倡导者,他们能够与年轻一代在他们经常使用的平台上互动”。“创作者有潜力构建教育性和引人入胜的材料,不仅教授技术技能,而且传递开源的核心价值观。”
关于价值观的这一点无疑至关重要。在一个软件越来越商品化,软件开发受到持续的“用更少的资源做更多的事情”的需求威胁的时代,回归独立、协作和开源管理的价值观至关重要。
这不仅仅意味着老兵们谈论过去的辉煌岁月(尽管这很重要)。而是要向年轻一代的开发人员展示,他们是拥有比任何企业实体都更加丰富的血统的传统的一部分。
Santamaría 提醒我们,开源的未来最终掌握在年轻软件开发人员的手中和心中:“我们需要这一代年轻人的声音来推动开源生态系统向前发展,并确保它继续成为现代软件开发的基石。”