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

    文章

    3363

    浏览量

    42537
  • GitHub
    +关注

    关注

    3

    文章

    471

    浏览量

    16466

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

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

收藏 人收藏

    评论

    相关推荐

    开源鸿蒙荣获开放原子“2024年度操作系统领域国内活跃开源项目”

    近日,2024开放原子开发大会暨首届开源技术学术大会在武汉圆满召开。在大会开幕式“2024年度国内活跃开源项目&开发致谢仪式”上,开放原子开源
    的头像 发表于 12-28 15:39 365次阅读

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

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

    黄鹤开源社区正式发布

    近日,在2024开放原子开发大会暨首届开源技术学术大会开幕式上,基于开放原子开源基金会旗下AtomGit开源协作平台搭建的黄鹤开源社区正式
    的头像 发表于 12-23 11:33 253次阅读

    开源鸿蒙应用案例重磅发布

    开放原子开发大会暨首届开源技术学术大会开幕式上,发布了一批开源应用案例,向各界展示开源商业化发展与实践成果。
    的头像 发表于 12-23 11:32 297次阅读

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

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

    2024开放原子开发大会启幕,深开鸿助力开源产业创新发展

    12月20日-21日,以“一切为了开发”为主题的“2024开放原子开发大会暨首届开源技术学术大会”在武汉隆重召开。本届大会由开放原子开源基金会、中国通信学会主办,旨在贯彻落实国家软
    的头像 发表于 12-20 18:34 167次阅读
    2024开放原子开发<b class='flag-5'>者</b>大会启幕,深开鸿助力<b class='flag-5'>开源</b>产业创新发展

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

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

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

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

    简仪科技第九届开源测控开发大会精彩回顾

    由简仪科技主办的第九届开源测控开发大会,近日在上海圆满落幕。
    的头像 发表于 11-19 09:16 328次阅读

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

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

    开源共生 商业共赢 | RT-Thread 2024开发大会报名启动!

    开发大会将以“开源共生,商业共赢”为主题,将于2024年12月21日全天在上海临港中心举行。开源RT-Thread如何实现商业化?这一直是外界对RT-Thread最
    的头像 发表于 10-29 08:06 426次阅读
    <b class='flag-5'>开源</b>共生 商业共赢 | RT-Thread 2024开发<b class='flag-5'>者</b>大会报名启动!

    星光璀璨,聆听 OpenHarmony 贡献之声

    在第三届开放原子开源基金会OpenHarmony技术大会上, 我们满怀敬意地对取得优秀成果的星光OpenHarmony技术俱乐部、星光导师、星光贡献、星光活动进行了致谢。 他们不仅是技术的探索
    发表于 10-28 17:09

    简仪科技与您相约第九届开源测控开发大会

    第九届开源测控开发大会,简仪科技将继续秉承开放、创新的精神,深入探讨模块测控领域软件的重要性,并展示基于开源锐视测控平台的实践应用,带来丰富的议题分享。
    的头像 发表于 10-21 11:35 488次阅读

    无法更新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 505次阅读
    新版 Redis 不再“<b class='flag-5'>开源</b>”,对使用<b class='flag-5'>者</b>都有哪些影响?