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

    文章

    3252

    浏览量

    42407
  • GitHub
    +关注

    关注

    3

    文章

    466

    浏览量

    16387

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

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

收藏 人收藏

    评论

    相关推荐

    提升DevOps效率,从基础到进阶的Dockerfile编写技巧

    创建自定义镜像。 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。 Docker分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时默认要执行的指令 例如
    的头像 发表于 11-26 09:44 16次阅读
    提升DevOps效率,从基础到进阶的Dockerfile编写技巧

    澎峰科技受邀出席人工智能技术专题讲座

    近日,澎峰科技联合湖南农业大学举办的《人工智能技术专题讲座》完美落幕,澎峰科技创始人兼CEO、国际知名开源矩阵计算项目OpenBLAS发起人和主要维护者张先轶博士作专题讲座,湖南农业大学信息与网络中心副主任张弼、教师发展中心罗攀老师出席讲座活动。
    的头像 发表于 11-08 14:23 255次阅读

    无法更新ESP Component PSACrypto是什么原因导致的?

    我们是 ESP Component PSACrypto 的维护者,今天想更新这个库的时候,命令行一直提示: ERROR: You are not allowed to perform
    发表于 06-05 06:08

    新版 Redis 不再“开源”,对使用都有哪些影响?

    OSI(开放源代码促进会)定义下不再是严格的开源产品。该变化引发 Redis 使用的广泛激烈讨论,那么对 Redis 使用都有哪些影响呢? Redis 协议变更之后, 都有哪些影响? BSD 协议
    的头像 发表于 03-27 22:30 446次阅读
    新版 Redis 不再“<b class='flag-5'>开源</b>”,对使用<b class='flag-5'>者</b>都有哪些影响?

    开源发展与开发专题 | CSDN创始人蒋涛:全力打造中国开发开源新生态

    、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。 为了更好地宣传中国开发开源技术领域的贡献和创新,帮助更多人更充分
    的头像 发表于 12-26 18:50 499次阅读
    <b class='flag-5'>开源</b>发展与开发<b class='flag-5'>者</b>专题 | CSDN创始人蒋涛:全力打造中国开发<b class='flag-5'>者</b><b class='flag-5'>开源</b>新生态

    开源项目维护者分论坛圆满举办

    开源维护者——一个被严重误解的群体,在一个开源项目中,开源维护者 往往拥有很高的权限,比如合并其他人的代码,又或者是无须经过他人review
    的头像 发表于 12-22 18:20 564次阅读
    <b class='flag-5'>开源</b>项目<b class='flag-5'>维护者</b>分论坛圆满举办

    2023 开放原子开发大会:赋予开发高光时刻 推进开源生态健康发展

    今天,我们拥抱美好的开源时代,更期待开源的蓬勃未来。今天,我们聚焦开发的时代价值,更携手行业之力,为其提供肥沃的成长土壤和梦想的施展舞台。 年终岁末,2023 开放原子开发大会,在
    的头像 发表于 12-22 10:18 357次阅读
    2023 开放原子开发<b class='flag-5'>者</b>大会:赋予开发<b class='flag-5'>者</b>高光时刻 推进<b class='flag-5'>开源</b>生态健康发展

    开源治理与开发运营分论坛圆满举办

    开源技术的发展促进创新、开放、协作和共享的文化,汇聚多方的智慧,推动社会的共同进步。伴随开源的蓬勃发展,众多企业、组织和开发纷纷加入开源生态。作为这一生态系统支柱的
    的头像 发表于 12-22 09:59 458次阅读
    <b class='flag-5'>开源</b>治理与开发<b class='flag-5'>者</b>运营分论坛圆满举办

    书写开源之魂|2023 年活力开源贡献开源项目揭晓

    开源事业的蓬勃发展,离不开持之以恒的开源贡献。他们用一行行代码孕育出无数独具特色的产品,凝聚成了源远流长、代代相传的开源精神。集众智、采众长,他们以坚定的信念和满腔的热情传播
    的头像 发表于 12-22 09:26 629次阅读
    书写<b class='flag-5'>开源</b>之魂|2023 年活力<b class='flag-5'>开源</b>贡献<b class='flag-5'>者</b>、<b class='flag-5'>开源</b>项目揭晓

    「代码舞」2023 开放原子开发大会——开源大侠秘闻

          2023 开放原子开发大会 OPEN ATOM DEVELOPERS CONFERENCE 开源大侠 隆重登场   2023.12.16-17   各位技术奇才和编程大咖们,准备好
    的头像 发表于 12-20 16:48 400次阅读
    「代码舞<b class='flag-5'>者</b>」2023 开放原子开发<b class='flag-5'>者</b>大会——<b class='flag-5'>开源</b>大侠秘闻

    中国开源开发跃居全球第二,迈向开源强国

    数据显示,我国开源软件开发人数已超过 800 万,稳坐世界老二位置。据中国科学院倪光南院士透露,我国已有望实现从开源大国向开源强国的跨越式转变。
    的头像 发表于 12-19 10:43 636次阅读

    书写开源之魂|2023年活力开源贡献开源项目揭晓

    开源事业的蓬勃发展,离不开持之以恒的开源贡献。他们用一行行代码孕育出无数独具特色的产品,凝聚成了源远流长、代代相传的开源精神。集众智、采众长,他们以坚定的信念和满腔的热情传播
    的头像 发表于 12-18 15:55 482次阅读

    诚邀报名|来开源项目维护者论坛,为项目可持续发展贡献您的声音

    2023开放原子开发大会 . OPENATOM DEVELOPERS CONFERENCE 开源项目维护者论坛 2023.12.17 开源维护者
    的头像 发表于 12-14 16:05 322次阅读

    怎么维护逆变器电池系统,或两引起

    其他干扰可能来自电力线、无线电波、电磁系统和一些消费电子产品。如果噪音确实来自变频器,检查配置以查找可能的来源。维护逆变器电池系统技巧大多数时候,噪音是由逆变器、电池或两引起的。可能是技术问题,也
    的头像 发表于 12-06 17:55 327次阅读
    怎么<b class='flag-5'>维护</b>逆变器电池系统,或两<b class='flag-5'>者</b>引起

    「代码舞」2023开放原子开发大会——开源大侠秘闻

    2023开放原子开发大会 . OPEN ATOM DEVELOPERS CONFERENCE 开源大侠 隆重登场 2023.12.16-17 各位技术奇才和编程大咖们,准备好了吗? 让我们跃马扬鞭
    的头像 发表于 11-30 20:55 512次阅读
    「代码舞<b class='flag-5'>者</b>」2023开放原子开发<b class='flag-5'>者</b>大会——<b class='flag-5'>开源</b>大侠秘闻