Redis 作者 antirez:开源维护者的挣扎

xplanet
 xplanet
发布于 2019年05月19日
收藏 59

这两天,一篇名为《开源维护者的挣扎》的文章被迅速顶至 Hacker News 首页,这是 Redis 作者 antirez 发布的最新博客

几个月前,一名开源项目的维护者向 antirez 发邮件,倾诉自己苦心维持项目多年,这或多或少带来了一些心理上的负担,因此特来寻求建议。antirez 表示谈不上给出建议,但可以写一篇博客文章来分享对此事的看法。经过反复的思索和自我分析,他坦承“维护一个开源项目会带来乐趣”,但“也有消极的一面”。接着,antirez 从以下几方面对此展开描述,下边直接采用第一人称:

泛滥效应

当我在项目的早期收到关于 Redis 的电子邮件时,仍然有足够的时间,能够专注于对方在消息里试图表达的内容,并在仔细考虑后回复自己的真实想法。

然而,当一个项目达到像 Redis 这样的流行程度,并且人与人之间的交流因为新的社交工具而变得更为容易时,作者收到的消息、issue、PR 和建议的数量也将呈指数增长。随之出现一个普遍性问题,至少从 Redis 的情况来看是这样,即没有足够多合格的人去查看并处理社区中的这些信息。

大多数人试图以错误的方式解决它:原帖发布两周后若无回复就关闭 issue、关闭所有不明确的 issue,以及其他类似直接把邮件列表全部标记为已读的做法。

事实上,处理社区反馈必须要花费足够的时间,否则只能“假装”项目没有未解决的问题。为开源项目的每个子系统配备全职工作人员是奏效的,但很难实现。

那么接下来会发生什么?你将开始考虑哪些该被优先处理而哪些不是,你将因为自己忽略了太多事物和人而感到不安,贡献者也会认为你是一个漠不关心的人。这种情形实在是很复杂。

通常来说,应该主要先解决关键问题,忽视所有新的东西,因为新的东西还未能进入核心,谁想拥有一个伴随着更多 PR 和 issue 的代码库呢?

角色转换

Redis 流行起来后,我的工作更多地转变为了查看 PR 和 issue。这其中确实有些人会比我做得好,但大多数人的贡献仅处于平均水平,只是解决给定问题罢了。

当我设计 Redis 时,我倾向于将它视为一个整体,毕竟这么多年来一直在写这个东西。所以现实是,擅长的东西往往不再有时间去做。

我的解决方法是,给自己几周时间停止查看 PR 和 issue,转而去编程或者设计,这才是我真正喜爱和享受的。但这反过来又给我带来了更大的心理压力,只在做自己喜欢的事情时做得很好,令人感觉很糟糕。

clock-650753_640.jpg

时间

长时间在一个项目上工作有两个问题,至少对我而言是这样。

第一个问题是,在 Redis 之前,我从未有过在每个工作日都工作的经验。我总是干一周,停两周,接着再干一个月,然后消失两个月。做创造性工作需要充电,以获得新的能量和想法。

但开始收到在 Redis 工作的报酬后,道德规范我不能再依照过去的模式,所以我强迫自己按照正常的时间表工作。这对我来说无比挣扎,而且我确信自己做得比实际能做到的要少。目前仍未找到解决方法,跟公司申请回到原先的工作模式是不管用的,因为社区的运作方式如此。

另一个问题是,从精神上讲,在同一个项目中进行大量工作也是一件复杂的事情。我过去常常每六个月换一次项目,而如今十年来都在做同一个项目。我试图通过在 Redis 中部署子项目来留存创造力,先后做了 Cluster、HyerLogLogs 和一个已放弃的磁盘存储项目,现在在做第四个。

不过,最终还是要回到 issue 和 PR 页面,每天重复同样的工作。

恐惧

我每天都在害怕自己失去对 Redis 的技术领导力,不是因为我认为自己在设计和发展 Redis 方面做得不够好,而是因为我的方式与大多数用户想要的,以及大多数 IT 人员对软件的信仰不一致。

因此,我不得不在我认为的优秀设计、功能集、开发速度、项目规模,以及大多数用户所期望的内容之间保持平衡。

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

kittens-4020199_640.jpg

摩擦

尽管我认为程序员中的好人占比多过其他领域,但总还是有一些混账。作为一个受欢迎的开源项目的领导者,将不得不面对这些人,这可能是我在 Redis 开发过程中遇到的最紧张的事情之一。

徒劳

我相信软件虽然很棒,但不会像一本存活了几个世纪的书一样伟大,这绝不是因为它本身不好,而是因为其中的副作用,并且,它终将被更有用的软件替换掉。因此有时我会觉得自己做的一切终将都是徒劳的。

只停留在软件编写本身,而不思考软件“大创意”的人,真的能创造新的标志吗?

总的来说,我能够从事自己真正热爱的事情多年,并且它给我带来了朋友、认可和金钱,所以这算不上是糟糕的交易。

然而,我完全理解,一旦项目开始流行,人们就会为了维持生计而挣扎。这篇文章专门写给你们。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Redis 作者 antirez:开源维护者的挣扎
加载中

精彩评论

东胜神洲
东胜神洲

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀

引用来自“mymbrooks”的评论

国外 IT 大部分有体面的收入,加班也不像国内这么严重,房贷车贷的压力相对较小,可以抽时间做自己喜欢的事情
只能是说,一些有很好商业前景的项目,由于有资金和专业人员的加入和支持,所以维护得这么优秀。。。看看 github 上的开源项目,几十万几百万的,个个都维护得很好么?。。也不见得。所以一个项目维护得好与不好,一方面跟这项目的“钱景”有关,另一方面也跟这作者的“魄力和领导力”有关。


题外话:(关于国外的收入,加班,贷款问题,事实上还得要看具体国家,具体类型)

例如国家类别,例如关于工作时间和强度,法国是全世界最好的国家。。。各种法律(竞选许诺)保障劳动者955,甚至1045,每年还有各种什么年假,陪儿童假之类(奇葩的如希腊的公务员,还有美其名的电脑辐射假),有时候什么都不做,收入比正式工还要高。。这对劳动者来说,当然是很受欢迎很爽,但对国家来说,就很严重了。大量的国债,企业竞争力下降。。不过,法国似乎除了德国,没什么想要他命的大国,所以现在虽然罢工不断,各种游行爆发,仍然还能运作。。头疼的只是政府人员,对民众而言大不了国家破产,有欧盟接管,最差不就是如二战那样,投降给德国,从历史来看,法国社会折腾是一贯和出名的

如美国,加班不严重要看企业,一些垄断性企业(如 google之类)或者不严重,但一些底层也不乐观。如沃尔玛,将很多超市职位临时工化,如将一天的收银拆分成早上,中午,下午等计时结薪职位,每个职位工时也就三小时左右,单从这个职位来看,没加班,也很轻松,但实际上单凭这个职位是养不活人的,所以需要再兼职多一个或几个职位,累计下来工作时长也不少。。
又如贷款。。这部分就涉及到观念的问题,如美国,在美国贷款欠债很正常,甚至从小这观念就融入到意识当中,于是贷款就变成了如吃饭穿衣一样,为人生一件事,于是对贷款的时长并不太在意。。。所以,有很多的人到老死仍然还没还清贷款(如教育贷款)。再加上,美国遗产税非常高,所以在财产上的“留给子孙后代”意愿不强,甚至有得到遗产就破产的情况发生,这在财产处理(如还贷)方面更没那么紧迫。

中国就不一样,很多中国人不喜欢欠债,能一次性给钱的就一次性,咬咬牙能20年还清的,绝不选30年,即使没能力,东拼西凑弄个天天吃泡面(为面子为老婆为子孙后代之类)也得买房买车。。。压力自然就感觉很大。
eechen
eechen
像Linus Torvalds那样对于自己不认可的设计,直接就怼,Redis作者就没有那么多困扰了.
普通用户
普通用户

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀
国内的伸手党和键盘侠也很优秀
东胜神洲
东胜神洲
这很正常。。。一个小项目,其内涵和外延都小的情况下,一个人开发与维护自然有余,但当项目的变大,无论是内涵或外延都变大时。。按照事物的发展规律,必须需要一个多人团队来支持和维护,并且还应该是“专业”团队(至少是富有责任心的人组成),而不是“乌合之众”。。

所以,很多项目的发展,从一个人到一组人,再到某种组织(如基金会之类),就如一间公司的发展变迁一样。。。忽视或无法如些的项目,最终痛苦的就是作者,又或者崩散。。
mymbrooks
mymbrooks

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀
国外 IT 大部分有体面的收入,加班也不像国内这么严重,房贷车贷的压力相对较小,可以抽时间做自己喜欢的事情

最新评论(14

Antted
Antted
做开源项目,不仅要有时间、精力,还要有强大的内心,按照自己的想法和创造力,而不是一味的满足大众喜好。
我们开源作者可以像部分网红、明星学习,学习他们的“厚脸皮”,“真自我”,不为外界的个别极端评论所影响。
久永
久永

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀

引用来自“mymbrooks”的评论

国外 IT 大部分有体面的收入,加班也不像国内这么严重,房贷车贷的压力相对较小,可以抽时间做自己喜欢的事情

引用来自“东胜神洲”的评论

只能是说,一些有很好商业前景的项目,由于有资金和专业人员的加入和支持,所以维护得这么优秀。。。看看 github 上的开源项目,几十万几百万的,个个都维护得很好么?。。也不见得。所以一个项目维护得好与不好,一方面跟这项目的“钱景”有关,另一方面也跟这作者的“魄力和领导力”有关。


题外话:(关于国外的收入,加班,贷款问题,事实上还得要看具体国家,具体类型)

例如国家类别,例如关于工作时间和强度,法国是全世界最好的国家。。。各种法律(竞选许诺)保障劳动者955,甚至1045,每年还有各种什么年假,陪儿童假之类(奇葩的如希腊的公务员,还有美其名的电脑辐射假),有时候什么都不做,收入比正式工还要高。。这对劳动者来说,当然是很受欢迎很爽,但对国家来说,就很严重了。大量的国债,企业竞争力下降。。不过,法国似乎除了德国,没什么想要他命的大国,所以现在虽然罢工不断,各种游行爆发,仍然还能运作。。头疼的只是政府人员,对民众而言大不了国家破产,有欧盟接管,最差不就是如二战那样,投降给德国,从历史来看,法国社会折腾是一贯和出名的

如美国,加班不严重要看企业,一些垄断性企业(如 google之类)或者不严重,但一些底层也不乐观。如沃尔玛,将很多超市职位临时工化,如将一天的收银拆分成早上,中午,下午等计时结薪职位,每个职位工时也就三小时左右,单从这个职位来看,没加班,也很轻松,但实际上单凭这个职位是养不活人的,所以需要再兼职多一个或几个职位,累计下来工作时长也不少。。
又如贷款。。这部分就涉及到观念的问题,如美国,在美国贷款欠债很正常,甚至从小这观念就融入到意识当中,于是贷款就变成了如吃饭穿衣一样,为人生一件事,于是对贷款的时长并不太在意。。。所以,有很多的人到老死仍然还没还清贷款(如教育贷款)。再加上,美国遗产税非常高,所以在财产上的“留给子孙后代”意愿不强,甚至有得到遗产就破产的情况发生,这在财产处理(如还贷)方面更没那么紧迫。

中国就不一样,很多中国人不喜欢欠债,能一次性给钱的就一次性,咬咬牙能20年还清的,绝不选30年,即使没能力,东拼西凑弄个天天吃泡面(为面子为老婆为子孙后代之类)也得买房买车。。。压力自然就感觉很大。
神州又回来了!
沙发迪
沙发迪
这翻译给100分!
久峰爱玩火

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀

引用来自“mymbrooks”的评论

国外 IT 大部分有体面的收入,加班也不像国内这么严重,房贷车贷的压力相对较小,可以抽时间做自己喜欢的事情

引用来自“东胜神洲”的评论

只能是说,一些有很好商业前景的项目,由于有资金和专业人员的加入和支持,所以维护得这么优秀。。。看看 github 上的开源项目,几十万几百万的,个个都维护得很好么?。。也不见得。所以一个项目维护得好与不好,一方面跟这项目的“钱景”有关,另一方面也跟这作者的“魄力和领导力”有关。


题外话:(关于国外的收入,加班,贷款问题,事实上还得要看具体国家,具体类型)

例如国家类别,例如关于工作时间和强度,法国是全世界最好的国家。。。各种法律(竞选许诺)保障劳动者955,甚至1045,每年还有各种什么年假,陪儿童假之类(奇葩的如希腊的公务员,还有美其名的电脑辐射假),有时候什么都不做,收入比正式工还要高。。这对劳动者来说,当然是很受欢迎很爽,但对国家来说,就很严重了。大量的国债,企业竞争力下降。。不过,法国似乎除了德国,没什么想要他命的大国,所以现在虽然罢工不断,各种游行爆发,仍然还能运作。。头疼的只是政府人员,对民众而言大不了国家破产,有欧盟接管,最差不就是如二战那样,投降给德国,从历史来看,法国社会折腾是一贯和出名的

如美国,加班不严重要看企业,一些垄断性企业(如 google之类)或者不严重,但一些底层也不乐观。如沃尔玛,将很多超市职位临时工化,如将一天的收银拆分成早上,中午,下午等计时结薪职位,每个职位工时也就三小时左右,单从这个职位来看,没加班,也很轻松,但实际上单凭这个职位是养不活人的,所以需要再兼职多一个或几个职位,累计下来工作时长也不少。。
又如贷款。。这部分就涉及到观念的问题,如美国,在美国贷款欠债很正常,甚至从小这观念就融入到意识当中,于是贷款就变成了如吃饭穿衣一样,为人生一件事,于是对贷款的时长并不太在意。。。所以,有很多的人到老死仍然还没还清贷款(如教育贷款)。再加上,美国遗产税非常高,所以在财产上的“留给子孙后代”意愿不强,甚至有得到遗产就破产的情况发生,这在财产处理(如还贷)方面更没那么紧迫。

中国就不一样,很多中国人不喜欢欠债,能一次性给钱的就一次性,咬咬牙能20年还清的,绝不选30年,即使没能力,东拼西凑弄个天天吃泡面(为面子为老婆为子孙后代之类)也得买房买车。。。压力自然就感觉很大。
谢谢懂了
久峰爱玩火

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀

引用来自“普通用户”的评论

国内的伸手党和键盘侠也很优秀
好吧
普通用户
普通用户

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀
国内的伸手党和键盘侠也很优秀
东胜神洲
东胜神洲

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀

引用来自“mymbrooks”的评论

国外 IT 大部分有体面的收入,加班也不像国内这么严重,房贷车贷的压力相对较小,可以抽时间做自己喜欢的事情
只能是说,一些有很好商业前景的项目,由于有资金和专业人员的加入和支持,所以维护得这么优秀。。。看看 github 上的开源项目,几十万几百万的,个个都维护得很好么?。。也不见得。所以一个项目维护得好与不好,一方面跟这项目的“钱景”有关,另一方面也跟这作者的“魄力和领导力”有关。


题外话:(关于国外的收入,加班,贷款问题,事实上还得要看具体国家,具体类型)

例如国家类别,例如关于工作时间和强度,法国是全世界最好的国家。。。各种法律(竞选许诺)保障劳动者955,甚至1045,每年还有各种什么年假,陪儿童假之类(奇葩的如希腊的公务员,还有美其名的电脑辐射假),有时候什么都不做,收入比正式工还要高。。这对劳动者来说,当然是很受欢迎很爽,但对国家来说,就很严重了。大量的国债,企业竞争力下降。。不过,法国似乎除了德国,没什么想要他命的大国,所以现在虽然罢工不断,各种游行爆发,仍然还能运作。。头疼的只是政府人员,对民众而言大不了国家破产,有欧盟接管,最差不就是如二战那样,投降给德国,从历史来看,法国社会折腾是一贯和出名的

如美国,加班不严重要看企业,一些垄断性企业(如 google之类)或者不严重,但一些底层也不乐观。如沃尔玛,将很多超市职位临时工化,如将一天的收银拆分成早上,中午,下午等计时结薪职位,每个职位工时也就三小时左右,单从这个职位来看,没加班,也很轻松,但实际上单凭这个职位是养不活人的,所以需要再兼职多一个或几个职位,累计下来工作时长也不少。。
又如贷款。。这部分就涉及到观念的问题,如美国,在美国贷款欠债很正常,甚至从小这观念就融入到意识当中,于是贷款就变成了如吃饭穿衣一样,为人生一件事,于是对贷款的时长并不太在意。。。所以,有很多的人到老死仍然还没还清贷款(如教育贷款)。再加上,美国遗产税非常高,所以在财产上的“留给子孙后代”意愿不强,甚至有得到遗产就破产的情况发生,这在财产处理(如还贷)方面更没那么紧迫。

中国就不一样,很多中国人不喜欢欠债,能一次性给钱的就一次性,咬咬牙能20年还清的,绝不选30年,即使没能力,东拼西凑弄个天天吃泡面(为面子为老婆为子孙后代之类)也得买房买车。。。压力自然就感觉很大。
棱语曲
棱语曲

引用来自“久峰爱玩火”的评论

为什么国外开源维护这么优秀
如果国内不是996的体系,其实也会有。国内的顶级互联网公司基本上都是996的体系,这就决定了程序员没有更多的精力用在别的地方
eechen
eechen
像Linus Torvalds那样对于自己不认可的设计,直接就怼,Redis作者就没有那么多困扰了.
皇虫
皇虫
有错别字。。Rsdis 实为 Redis
返回顶部
顶部