开源维护者,必有一战!

栏目: 数据库 · 发布时间: 5年前

内容简介:【CSDN 编者按】有开源项目维护者苦恼道,由于多年花了很多心思去维护自己的开源项目,造成一些心理负担。对此,Redis的作者Antirez分享了自己的开源经历和中肯的建议。

开源维护者,必有一战!

【CSDN 编者按】有开源项目维护者苦恼道,由于多年花了很多心思去维护自己的开源项目,造成一些心理负担。对此,Redis的作者Antirez分享了自己的开源经历和中肯的建议。

开源维护者,必有一战! 作者 | Antirez

译者 | 谭开朗

责编 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

以下为译文:

几个月前,一名系统软件领域的开源项目维护者给我发来邮件,倾诉自己苦心维护项目多年,并由此造成了较为沉重的心理负担,因此特来寻求建议。

我表示谈不上给建议,但可以写一篇博客文章来分析对此事的看法。几周过去了,我多次提起笔又放下,我需要更多的时间来整合想法。

我通过剖析自我,在自身的劣势、挣扎和对自由的渴望中找到答案,我们在从是某项工作时不可避免的受到他人思想的影响,长此以往,这也会产生消极的一面。

维护开源项目是一件非常有趣又幸福的事情,这近十年的职业生涯尤为令我难忘,即使这并不完美(毕竟我在创业期间获得了更多的乐趣)。但是,在这里我将聚焦于消极的方面,只要能正确对待这种情绪,我们也能从中获益匪浅。

开源维护者,必有一战!

泛滥效应

我不赞成马虎行动、不甚了了或成功时间论之类的。我不喜欢我们的世界总是充斥着社交网络、聊天软件、电子邮件和满满的活动安排。因此,当我在项目的早期收到关于 Redis 的电子邮件时,我仍然有足够的时间去解读对方在邮件里试图表达的内容。然后我回顾之前涉及过的Redis相关内容,并在仔细考虑后回复自己的真实想法。无论从事何种工作,这是大多数人的工作原则。

然而当一个项目达到像Redis这样的流行程度,与此同时,人与人之间的交流因为新的社交 工具 而变得更为容易时,用户认为你近在咫尺,那作者收到的消息、问题、拉取请求和建议的数量也将呈现指数增长。

随之出现一个普遍性问题,至少在Redis的情况是这样, 即没有足够多合格的人去查看并处理社区中的这些信息。这造成了明显的拥堵。

大多数人试图以错误的方式解决它:实用主义。

原帖发布两周后若无回复就关闭该问题,关闭所有模棱两可的问题,以及其他类型的做法,比如直接把邮件列表全部标记为已读。实际上,处理社区反馈必须要花费足够多的时间,否则只能睁一只眼闭一只眼地认为项目有很少的待解决问题。为开源项目的每个子系统配备全职工作人员是奏效的,但很难实现。

那么接下来会发生什么?你将开始考虑哪些该被优先处理而哪些不是。你将因为自己忽略了太多事物和人而感到不安,而贡献者也会认为你是一个漠不关心的人。这种情形实在是很复杂。通常来说,应该主要先解决关键问题,忽视所有新的东西,因为新的东西还未能进入核心,谁想拥有一个伴随更多拉去请求和问题的代码库呢?与通常的编程风格相比,它的编写方式可能更加复杂,并且当存在一个关键Bug时,我们可以幸运的跟踪到根本原因。

开源维护者,必有一战!

角色转换

由于上述“泛滥效应”问题爆发后,有人毅然决然换了工作。

Redis之所以受欢迎,可能是因为我进行设计和编写软件。现在,我的工作更多的转变为了查看问题和拉取请求,但我自认为我做的比部分贡献者编程得要好。

当然,这其中确实也有些贡献者会比我做的好,但大多数贡献者仅处于平均水平,只是解决给定问题并提交罢了。然而,当我设计Redis时,我倾向于将它视为一个整体,毕竟这么多年来一直在写这个东西。

实是,我们所擅长的东西往往不再有时间去做 。这反过来也意味着更少的基础新功能。我的解决方案是什么?

我好几周都不去查看问题和拉取请求,而是转去编程或设计: 这才是我真正喜爱和享受的事情。但这反过来又给我带来了更大的心理压力。只有在做自己喜欢的事情时才能做得很好,这令人感觉很糟糕。

开源维护者,必有一战!

时间

对我而言,长时间从事一个项目有两个问题。

第一个问题是,在Redis之前,我从未体验过在每个工作日都上班工作。我总是工作一周,休息两周,接着工作一个月,然后再休息两个月。

做创造性的工作需要充电以获得新的能量和想法,优秀的编程无疑是极具创造性的工作。在最初的两年时间里,Redis就是这样创造出来的,也就是说,那是项目最快速发展的时期。因为当我想工作时的工作效率比每天被迫以稳定的方式工作时的工作效率要高。

然而,当我为自己的公司而工作时,允许我有一个非常灵活的工作时间表。但在开始收到在Redis的工作报酬后,我便不能再依照过去的模式,所以我强迫自己按照正常的时间表工作。这无疑对我来说都是巨大的挑战。

因此我确信自己做得比实际能做到的更少了,但这就是事物的运作方式。目前我仍未找到解决方法。跟公司申请回到原先的工作模式是不可行的,因为社区的运作方式如此。

另一个问题是,从精神上讲,在同一个项目中进行大量工作也是一件复杂的事情。

我过去常常每六个月换一项目,而如今十年来都在做同一个项目。我试图通过在Redis中部署子项目来留存创造力。我先后做了Cluster、磁盘存储项目(已放弃)和HyerLogLogs,现在在做第四个项目。

基本上,那些为项目带来价值的东西其实是其他东西带来的。 但最终我们必须回到问题和拉取请求页面,每天处理相同的事情。 “超时,副本已断开连接”诸如此类。我们再来研究一下。

开源维护者,必有一战!

恐惧

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

因此,我不得不在优秀设计、功能集、开发速度(缓慢)、项目规模(小的),以及大多数用户所期望的内容之间保持平衡。幸运的是,很多Redis用户完全理解Redis的方式,所以我至少不时从中得到一些安慰。

开源维护者,必有一战!

摩擦

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

开源维护者,必有一战!

徒劳

我相信软件很有前途,但不会像一本流传几个世纪的书那样伟大,这绝不是因为软件本身不好,而是因为其中的副作用,而且它终将被更有用的软件所替换。

我也想有时间尝试其他的活动,因此有时我会觉得自己所做的一切终将都是徒劳的。

我们将不断的进行设计和编写系统,新的系统会出现;但是,只停留在软件编写本身,而不是思考软件“大创意”的人,真的能开创新的历史吗?

随着时间的推移,有时我觉得我有潜力去实现大的想法,是因为我专注于编写软件而不是思考软件,所以我无法在这方面发挥我的潜力。这基本上与冒充者综合症相反,所以我对自己说:沉下来,我应该更低调些。

也就是说,我可以为我真正喜欢的事情工作很多年,我从中收获了友谊、认可和金钱,所以我认为这是一笔划得来的交易。然而,我完全理解,一旦项目流行起来,人们就很难维持做下去。

原文:http://antirez.com/news/129

本文为 CSDN 翻译,转载请注明来源出处。

【END】

开源维护者,必有一战!

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员: 极客宝宝(ID: geek_baby)

戳他了解更多↓↓↓

开源维护者,必有一战!

 热 文推 荐 

☞  国产芯片失落的十年

直接拿来用!盘点四款优秀的开源协作文本编辑器

☞编程机器人哪家好?灵跃模组机器人硬核评测!

薪水超过程序员,身为“经理”却挨打,产品经理究竟是怎样一种存在?

☞震惊! 原来黑客洗钱的套路竟如此简单! 被盗的1600万美元就这样没了?

☞全球再迎超级飓风,黑客可利用微软“蠕虫级”高危漏洞暴击全球

☞10个数据科学家常犯的编程错误(附解决方案)

☞技术引路:机器学习仍大有可为,但方向在哪里?

☞大神!这段代码让程序员躺赚200W,源码简单,你怎么看?

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢


以上所述就是小编给大家介绍的《开源维护者,必有一战!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First HTML and CSS

Head First HTML and CSS

Elisabeth Robson、Eric Freeman / O'Reilly Media / 2012-9-8 / USD 39.99

Tired of reading HTML books that only make sense after you're an expert? Then it's about time you picked up Head First HTML and really learned HTML. You want to learn HTML so you can finally create th......一起来看看 《Head First HTML and CSS》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具