维护开源项目太难?redis之父支招:做你想做的

小魔 小魔     2022-12-10     134

关键词:

前不久,开源软件管理解决方案供应商 Tidelift 对开源项目维护者展开调查,结果显示开源维护者大多做着一项钱少事多压力大的工作:几乎一半的代码维护者没有工资;工作量繁重;需要承担很大压力,甚至吃力不讨好;超过一半 (59%) 接受调查的维护者已经退出或考虑退出维护项目。

此前,Linux 内核维护者 Greg Kroah-Hartman 称代码维护人员「需要处理大量的实际工作」;拥有数百万用户的开源项目 Babel 陷入财务困境,项目负责人 13 万美元年薪遭受质疑…… 这些事件使得人们对开源项目存活之难、开源维护人员工作之辛苦略有了解。

最近,这一点又得到了验证。开源项目 Docz 的作者 pedronauck 发文表示维护开源太难了,这项工作使其身心受到损害。

他表示,在 Docz 项目开发初期,他在本职工作之外需要早起 3 个小时,晚睡 3 个小时。这个项目为他提供了很多机会。但随着项目的发展,用户需求越来越多,维护开源项目变得非常艰难。人们希望从这个项目中获得很多东西,但并不愿意给予帮助,这让他很崩溃。

本职工作和维护开源项目让他分身乏术,身体健康也受到了影响。最终他不得不在「维护开源项目」和「保持身心健康」之间选择了后者。然而,这给项目带来了一定损害,很多人以为 Docz 项目无人维护。

开发者们:深有同感,维护开源项目可真是太难了!

在这篇文章下面,许多开发者对 pedronauck 的工作表示感谢,并给出了自己的建议。

首先很感谢你的辛勤工作。我认为这是大多数开源项目都会遇到的问题,除了寻求社区帮助外,项目作者还需要保持冷静的心态。你创建这个项目的原因只是因为你需要它并希望它帮助更多的人。如果你没有足够的时间来维护它,你就首先满足自己的需求。这不全是你的错,你不必自责。

你没有辜负任何人。正如你所说,维护 OSS 非常困难,而且往往吃力不讨好。

然而有人给出「为什么不多找几个人一起维护」的建议时,另一位开发者直言:「找志愿者并非易事。」看来,开源项目维护者都有一大堆糟心事……

就连大佬也不例外。

Redis 之父支招:做你想做的

对于如何处理 OSS 软件开发的压力,Redis 之父 Salvatore Sanfilippo(又名 antirez)介绍了自己的经验:

作为开发过许多不同规模的 OSS 项目(Redis、Hping、Jim Tcl、Visitors web analyzer 等)的人,我认为解决方案比看起来更简单:做你想做的。当你身处一个成功的开源项目中时,你可能会认为解决方案是二元的:不做任何事情,或者做人们要求你做的一切。然而,事实是你可以继续做自己想做的事,挑选自己想解决的问题、添加自己想要的功能等。给自己每天在开源项目上花费的时间定一个固定范围,在这段时间内只做你想做的事情,其他事情一律不用管。

记住永远「做自己想做的事情」,但同时要注意以下几点:

  1. 不要因为别人没有付钱就向你索取,就认为他们犯了错或滥用权利。不,他们可以提出要求,但你也可以忽略这些要求。
  2. 不要因为开源软件免费,就对软件质量不负责任:只做自己想做的,完成工作,并撰写完备的文档。不要因为软件是免费的,就发布糟糕的东西。按照你想要的方式做事,但要带着爱。
  3. 受到攻击时,平静地说出自己的想法,不要陷入争论。
  4. 在开源维护过程中结交朋友。在你遇到困难时,他们会给予很多帮助。请记住:最聪明的人在 99% 的情况下都有一颗大心脏,并且非常友好。

结语

在开源变得流行的当下,越来越多的人注意到开源项目的存活难题、开源维护人员的困境。Tidelift 首席执行官兼联合创始人 Donald Fischer 此前表示:「通往更安全、更健康的开源软件供应链的道路,应始于确保更多志愿维护者获得足够的报酬。」

当然,薪酬只是开源维护的难点之一。如何维护开源项目、保持开源维护人员的身心健康和成长、发展开源维护团队…… 这些都是需要关注的问题。希望在更多人关注到开源维护人员困境后,这些问题能够得到解决。

参考链接:

https://github.com/pedronauck...
https://news.ycombinator.com/...

十二k8s细粒度权限控制

...n-authz/rbac/ClusterRole:可以配置一些权限,允许对整个集群做你想做的ClusterRoleBinding:可以把ClusterRole配置的权限,授权给指定的“人”,让他可以对整个集群做他想做的Role:只能允许对该Namespace做你想做的RoleBinding:只能让指定... 查看详情

专注与你想做的

...,因为它的推荐基本都是你感兴趣的,但是仔细想来,离你想要查找的内容却越来越远了,在知识的海洋了,要学会拒绝,不要让一些可能会对我们有用,我们也很感兴趣的东西 查看详情

redis之父离职,带来了史上最强redis6.0版本!

去年6月底,Redis之父Antirez宣布辞去作为Redis的维护者的职位。他表示自己是为了表达自己而编写代码,而现在却因维护Redis项目而筋疲力尽,缺少了自我表达的机会。Redis6.0是他带给我们的最新的版本,该版本新增... 查看详情

鼠标事件切换代码

$(document).ready(funciton(){    $(‘#demo‘).bind(‘click‘, evenClick);//第一次点击执行evenClick方法});function evenClick() {    //你可以在这里做你想做的事情,比如alert(1); 查看详情

WHERE 的通配符? [复制]

...【问题讨论】:【参考方案1】:有一个名为anywhereindb的项目可以做你想做的事。我不会创建一个完整 查看详情

WHERE 的通配符? [复制]

...【问题讨论】:【参考方案1】:有一个名为anywhereindb的项目可以做你想做的事。我不会创建一个完整 查看详情

redis作者:每天花6小时搞开源,顶不住了!

...社区(ID:oschina2013)Redis作者antirez近日对在维护开源项目过程中遇到精神压力的情况发表了看法。起因是开源项目Docz作者Pedro在repo中发表的一篇短文章,他在其中描述了自己在维护开源项目过程中心理状态的变... 查看详情

如何让自己成为行业顶尖人才?

...你的眼前。你要在和成千上万人的竞争中胜出,才能真正做你想做的事。你要如何摆脱这种激烈竞争?你的进步速度要有多快,才不会让你的梦想被社会“现实”砸得粉碎?你如何才能实现所需的飞跃,从千万人当中脱颖而出?... 查看详情

redis作者传经:每天花6小时搞开源,顶不住了!

...社区(ID:oschina2013)Redis作者antirez近日对在维护开源项目过程中遇到精神压力的情况发表了看法。起因是开源项目Docz作者Pedro在repo中发表的一篇短文章,他在其中描述了自己在维护开源项目过程中心理状态的变... 查看详情

编辑列表框数据

...EW控件。里面有钩子(LVN_BEGINLABELEDIT,LVN_ENDLABELEDIT)让你做你想做的事。【讨论】:请注意,ListView控件只允许 查看详情

再见了antirez我永远的神

其实antirez(Redis作者)退出Redis维护的消息一发布我就在很多咨询网站上面看到了,当时也没太多感慨。今天比较有空想去看看霉霉Twitter的,然后看到了关注列表的antirez,我就又一次回顾了他的退役声明。我想这个Redis之父肯定... 查看详情

使用rstudio进行版本控制:如何比较和修改来自多个用户的文件

...的新手。我想知道这样做的最佳方法是什么:我有一个R项目,我可以给同事一个版本的项目。然后他会修改一些文件(我也是)。当他给我回复文件夹时,是否有简单的方法来比较两个文件并确定哪些行转到最终版本?答案使... 查看详情

php - 取消设置 $this

...需要取消设置对象吗?我有这种感觉,有另一种方法可以做你想做的事。也许如果 查看详情

浮动窗口科尔多瓦

...:【参考方案1】:@维尼修斯,什么是BD?用position:absolute做你想做的 查看详情

123我爱你

...情手册就在此刻为你唱的专属情歌要记得 说你想说的做你想做的别怕失败因为你有我陪你看日落陪你等雨过陪你一起唱完我们爱的歌 轻轻贴近你的耳朵莎朗嘿哟情话永远不嫌太多对你说打开你的爱 查看详情

Paintcode 导出到子文件夹

...(android)......【问题讨论】:【参考方案1】:目前没有做你想做的事的选项。我相信你应该做的是对字符串本身进行参数化,如下 查看详情

从左到右移动声音

...移到右边。搜索Apple3D声音iPhone示例。我认为它使用OpenAL-做你想做的事。【参考方案1】:我想你想要AVAudioPlayer的pan属性。检查AVAudioPlay 查看详情

备份系统的shell脚本[关闭]

...:backup#03.tar.gz有什么帮助吗?【问题讨论】:确实可以做你想做的事 查看详情