0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开源维护者的挣扎和无奈

Linux爱好者 来源:YXQ 2019-08-11 10:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

几个月前,我收到一封电子邮件,发信人是一位系统软件领域开源项目的维护者,该项目有一个相当大且活跃的社区。他在信中说,维护多年之后发现难以持续,因为这样的工作在心理上非常累人。

他一直在向我寻求建议,我不确定自己是否能够提供建议,但我回他我会写一篇博客来说说我的看法。

几周过去了,有好几次我开始提笔,但都停了下来,因为我没有足够的时间来处理这些想法。现在我想我能够分析我自己,在我自己的弱点、挣扎和对自由的渴望中找到答案,当人们在做一些事情的时候,不可避免地会侵入他们的思想,这些事情也有消极的一面,持续很长一段时间。

维护开源项目也是一件非常快乐和有趣的事情,我最近 10 年的职业生涯,即使不是绝对最好的,但肯定是令人难忘的,毕竟我在创业期间获得了更多的乐趣。然而,本文我将关注维护开源项目的消极一面。

洪水效应(Flood Effect)

我不相信快速行动,快速思考,按时赢得比赛等等。我不喜欢我们生活的世界总是缺少焦点,因为社交网络、聊天、电子邮件和满满的活动安排。

所以,当我在项目早期收到一封关于 Redis 的邮件时,当我还有很多时间的时候,我就能够专注于发信人想要告诉我的东西。然后我想起了我们之前讨论过的 Redis 的相关部分,经过仔细的思考,我终于用真实的想法回复了。

我相信大多数人都应该这样工作,不管他们的工作是什么。

新的社交工具让个体之间的沟通更为便捷,当某个软件项目到达 Redis 级别的热度之时,你能收到的消息、issue、Pull Request 和建议,其数量将呈现指数级增长。

这造成了信息堵塞。大多数人试图用错误的方式来解决这个问题,比如:

① 有人发 issue,我追问后,2 周内他都没有回复,那直接关闭;

② 关闭所有不明确的 issue;

③ 直接把收件箱都设为已读;

想要很好地处理社区反馈,必须花时间。否则只会假装你的项目有少量的公开 issues。为每个 Redis 子系统雇佣核心级专家,让他们为开源项目全职工作,这方法能奏效,但不切实际。

那么会发生什么呢?你开始把事情分轻重缓急,优先级高的事情越来越多。你觉得自己是一坨狗屎,因为你忽视了那么多的人和事,而且贡献者认为你不在乎别人给你什么。

这是一个复杂的情况。通常最终的结果是,形成一种主要处理关键 issues 的态度,但忽略所有新东西,因为新东西还没有进入核心,而且谁想拥有一个更大的包含更多的 PR 和 issue 的代码库? 与您通常的编程风格相比,它的编写方式可能更加复杂。

角色转移

由于上述“洪水效应”问题的暴露,你也突然换了工作。Redis 之所以流行,是因为我应该能够设计和编写软件。不过现在我的大部分工作是研究 issues 和 PR。

(Redis 的 issue 和 PR 数量,2019-06-04 截图)

我收到的许多贡献,我也觉得我能做得更好。但有些人会比我做得更好,因为有比我更优秀的程序员在参与 Redis。

但就本质而言,“大多数”都是平均贡献,它们只是为了解决某个特定问题而编写的,而这个问题是由提交它的人决定的。

然而,当我为 Redis 设计时,我倾向于认为 Redis 是一个整体,因为我花了几年的时间来写这个东西。所以你擅长的,你没有时间去做。这反过来意味着更少的有机新功能。

我的解决方案是?有时我好几个星期都不去看 issue 和 PR,因为我埋头在编程或设计,那是我真正热爱和喜欢的工作。然而,这反过来又给我带来了更多的心理压力。做我喜欢做的事,我可以做得很好,但我感觉很糟。

时间

至少对我来说,在一个项目上工作很长时间有两个问题。

首先,在 Redis 的经历之前,我从未每周都工作。我可以工作一周,休息两周,然后工作一个月,然后消失两个月。总是这样。

做创造型工作,人需要充电,获得新的能量和想法。高水准的编程,特么就是一项的创造型工作。

在最初的两年里,Redis 就是这样创建的。也就是说,当项目以最快的速度发展时。因为当我想工作的时候,我的工作效率比我每天被迫以稳定的方式工作时的效率要高。

然而,当我独自为公司工作时,职业道德允许我有一个中断分散的时间安排。在我开始接受 Redis 的工作报酬后,职业道德再也不可能允许我像以前那样,所以我开始强迫自己在正常的时间安排下工作。

这对我来说是一场巨大的斗争,已经很多年了。我确信我做的比我能做的少。

我从来没有找到解决这个问题的方法。我可以说 Redis Labs 我想回到我原来的时间表,但这是行不通的,因为我的报告对象已经是社区,而不是公司。

另一个问题是,从心理上讲,在同一个项目上做很多工作,也是一件复杂的事情。

过去我每 6 个月就换 1 次项目,但 10 年来我一直在做同一件工作。

在这方面,我试图通过在 Redis 中包含子项目来保持理智。一次是集群,另一次是磁盘存储(现在已经废弃),还有一次是 HyerLogLogs 等等。

基本上,那些为项目带来价值的东西,单独来说,是其他的东西。因为最终你必须回到 issue 和 PR,每天处理相同的事情。“副本由于超时而断开连接”,或诸如此类。我们再来研究一下。

恐惧

我一直担心失去项目的技术领先地位。这并不是因为我在设计和开发 Redis 不够优秀,而是因为我知道我的方法并不符合:① 大量用户的需求,② IT界的大多数人对软件的看法。

因此,我必须不断地在我认为好的设计、一组特性、开发速度(慢)、项目规模(最小)和大多数用户期望交付的内容之间保持平衡。

幸运的是,有一定比例的 Redis 用户完全理解 Redis 的方式,所以至少我可以不时得到一些安慰。

摩擦

有些人完全是***。他们无处不在,这是很自然的。我相信编程比其他领域有更多的好人,但总能看到一定比例的***。

作为一个热门开源项目的领导者,在某种程度上,你将不得不面对这些人,这可能是我在 Redis 开发过程中最有压力的事情之一。

徒劳无功

有时我相信,软件虽然优秀,但永远不会像可以流传几个世纪的书那样优秀。注意,虽然软件本身并不是很好,但其副作用也是有用的。最终被其他更实用的软件替代。

我也想有时间做其他的活动。所以有时候我认为我所做的一切最终都是徒劳的。我们设计和编写系统,但新的系统将会出现。

但是,任何仅仅停留在软件领域,而不是停留在“软件大创意”领域的人,将会创造一个新的标志吗?

有时我认为我有潜力去实现优秀的点子(big ideas),但因为我专注于编写软件而不是思考软件,所以我无法在这方面发挥我的潜力。

这与骗子综合症基本上相反,所以我想我对自己有一个很大的想法:对不起,我应该更谦虚。

骗子综合症(ImpostorSyndrome),指“一直无法相信个体成功是自身努力的结果,或是不相信个体成功是自身努力或自身技能过硬的结果”。

也就是说,我可以很多年都从事自己喜爱的事情。从中我结交了朋友、得到了认可和报酬,所以这不是一笔糟糕的交易。

然而,我完全理解,一旦开源项目开始流行起来,他们就开始为了生活而挣扎。这篇博文就是献给他们的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    4038

    浏览量

    45579
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18428

原文标题:Redis作者:开源维护者的挣扎和无奈

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    以开发为核心驱动开源项目迈向成熟

    11月21-22日,以“一切为了开发——AI共智·开源共享”为主题的2025开放原子开源开发大会在北京成功举办。大会聚焦人工智能、基础软件等重点方向,来自产业界、高校、科研机构和
    的头像 发表于 12-04 10:09 343次阅读

    2025开源鸿蒙开发激励计划正式启动

    11月21日,2025开放原子开发大会盛大启幕,聚焦“AI共智,开源共享”主题,吸引了来自全球的开发、企业技术领袖、社区维护者及高校科研力量参会。作为大会的重要组成部分,
    的头像 发表于 11-27 14:44 346次阅读

    RT-Thread荣膺开放原子开源先锋项目,社区开发斩获“开源贡献之星”|新闻速递

    近日,2025开放原子开发大会在京开幕。大会举行了“中国开源创新力量致谢仪式”,向操作系统、数据库、人工智能三大技术领域28个开源先锋项目中作出卓越贡献的47位开发致谢。此次,RT
    的头像 发表于 11-24 18:48 225次阅读
    RT-Thread荣膺开放原子<b class='flag-5'>开源</b>先锋项目,社区开发<b class='flag-5'>者</b>斩获“<b class='flag-5'>开源</b>贡献之星”|新闻速递

    2025开放原子开发大会AtomGit开源实践交流分论坛即将开启

    当前,全球开源生态正持续蓬勃发展,开发协作模式与开源创新范式也随之经历深刻变革。在此趋势下,以开发为中心的AtomGit,创新融合“开源
    的头像 发表于 11-17 16:32 729次阅读

    进迭时空 debug upstream | 取之于开源,贡献于开源

    秉承“取之于开源,贡献于开源”的理念,进迭时空在Debug软件的开发与维护中,始终坚持UpstreamFirst原则,积极将优化与修复反馈至开源上游,与全球开发
    的头像 发表于 11-17 09:33 5102次阅读
    进迭时空 debug upstream | 取之于<b class='flag-5'>开源</b>,贡献于<b class='flag-5'>开源</b>

    开源鸿蒙亮相华为开发大会2025

    此前,6月20-22日,华为开发大会(HDC2025)在松山湖盛大召开。在大会的互动展区中,开源鸿蒙重磅亮相,系统性地展示了其开源四年多来,在行业应用、消费终端及AI等领域的丰硕成果。
    的头像 发表于 06-26 17:21 942次阅读

    开发眼中的开源魅力

    、openKylin、OpenTenBase开源项目社区的开发,聆听他们与开源相遇、相伴、相成长的故事,感受那份超越代码本身的价值与魅力。
    的头像 发表于 06-24 11:38 717次阅读

    润和软件旗下润开鸿亮相开源鸿蒙开发大会2025

    近日,开源鸿蒙开发大会2025(OHDC.2025)于深圳再启新篇,会上正式发布了开源鸿蒙5.1 Release版本,并进行开源鸿蒙应用技术组件共建启动等重要仪式,面向开发
    的头像 发表于 06-03 16:22 1389次阅读

    华为亮相2025开源鸿蒙开发大会

    近日,开源鸿蒙开发大会2025(以下简称大会)在深圳成功举办。大会以开源鸿蒙5.1 Release版本发布为契机,聚焦开源鸿蒙技术革新和社区发展,全面呈现“Powered
    的头像 发表于 05-29 09:07 1095次阅读

    2025开源鸿蒙开发大会圆满落幕

    近日,开源鸿蒙开发大会2025(OHDC.2025,简称“大会”)在深圳隆重开幕。大会正式发布了开源鸿蒙5.1 Release版本,举行了开源鸿蒙应用技术组件共建启动、
    的头像 发表于 05-26 17:03 1137次阅读

    诚迈科技携HongZOS亮相开源鸿蒙开发大会,加速生态繁荣与产业跃迁

    5月24日,开源鸿蒙开发大会2025在深圳隆重举行。作为开源鸿蒙生态的核心共建和A类捐赠人,诚迈科技深度参与本次盛会:共同发布开源鸿蒙5
    的头像 发表于 05-26 11:59 1064次阅读
    诚迈科技携HongZOS亮相<b class='flag-5'>开源</b>鸿蒙开发<b class='flag-5'>者</b>大会,加速生态繁荣与产业跃迁

    开发开源鸿蒙故事

    近日,在以“一切为了开发”为主题的“2024开放原子开发大会暨首届开源技术学术大会”上,开源鸿蒙5.0 Release版本正式发布,备受各方关注。该版本在系统完备度、分布式创新、开
    的头像 发表于 01-06 10:28 1224次阅读

    2024开放原子开发大会暨首届开源技术学术大会成功举办

    近日,以“一切为了开发”为主题的2024开放原子开发大会暨首届开源技术学术大会在武汉成功举办。大会为众多开源项目和开发提供了广阔的展示
    的头像 发表于 12-23 14:23 821次阅读

    2024年度国内活跃开源项目和开发在武汉揭晓

    近日,2024年度国内活跃开源项目&开发致谢仪式,亮相2024开放原子开发大会暨首届开源技术学术大会开幕式。
    的头像 发表于 12-23 11:25 955次阅读

    高校开源开发培养分论坛亮点前瞻

    数字化时代,开源成为了全球软件与技术创新的重要驱动力,从Linux操作系统到Android移动平台,从人工智能框架到云计算基础设施,一个个开源项目遍地开花。然而,在开源蓬勃发展的背后,一个严峻的挑战日益凸显——
    的头像 发表于 12-17 14:06 775次阅读