以下文章来源于CSDN ,作者宋林飞
| 转载自:CSDN
| 编辑:姚王薇
| 责编:沈于蓝
| 设计:冯歆怡
相信不少小伙伴,尤其是开发者,都对开源多多少少有所耳闻,甚至亲身使用、参与过开源软件的开发。在使用过程中,开源软件给我们最直观的印象就是免费和自由,也就是使用者可以在遵守开源软件许可证的情况下免费让这些开源软件为我们的目的服务,甚至在它们的基础上进行二次开发。这也意味着大多数开源软件都是它们的作者以及社区中贡献者们默默“为爱发电”的成果。但是,面对着需要频繁维护的项目、层出不穷的Issue和问题,以及寥寥无几的收入,开源人的“爱会消失”吗?
前段时间,名为Joel Denning的开源开发者发出一篇题为“My boundaries as an open source developer”(“我作为一名开源开发者的底线”)的博文在网络上引发了大家热议。文中,Joel Denning列举了一系列他作为开源项目作者和维护者的这一路所遇到的“下头”瞬间。尽管作为一名开源人,他最初对开源的热爱无可厚非,但时间久了,任何人都会感到疲惫。因此,他认为开源人也需要有自己的底线,他们并不是一块砖,哪里需要哪里搬。这个观点在论坛中引起了大量开源参与者的讨论和共鸣。
让我们先一起看看Joel Denning都说了些什么。
01
“我爱开源,但我真的很累”
文章的开篇,Joel Denning就表示了他热爱并相信开源。最初他也会耐心地逐一回复别人给他的留言,帮助社区内的成员解决他们的Issue和问题。但是,随着项目使用者和社区内人数越来越多,慢慢地他开始感觉到力不从心。他说道:“我每周都会收到几十个不同的留言,让我回答他们的问题,给他们技术支持,修复bug或构建新功能等等“。
这类留言如今已经成为Joel Denning的负担,因为这些留言使他感觉到别人在要求他做事。这也使他时常萌生出“逃离开源”的想法。“从2020年左右开始,这种逃离开源的想法使我花在维护开源项目中的精力减少了一半以上,因为这些要求的确让我很有压力。”Joel Denning回忆道。
谈到自己倍感压力的原因,Joel Denning列出了以下几点:
- 每天都要同时和很多人打交道,却从来没有和他们中的任何一个人有过稳定的关系。
- 每天收件箱都会有很多收件,作为强迫症不看的话感到很难受。
- 参与开源的同时生活中也担负着其它责任。
- 因为看到自己的开源项目使很多企业受益,自己却没有收到应有的回报。
- 感觉到别人的奉承只是,想利用自己来达到他们的目的,对此很失望。
图片付费下载自东方IC
02
“我不欠你的,所以别给我提要求”
面对这些压力,Joel Denning渐渐地总结出了自己的底线来帮助自己在精疲力竭的情况下继续在开源环境中生存,而不被淹没。他在文章中列出了以下三条“红线”:
- 你没有资格要求我回应你的留言。
- 你没有资格让我为你做你认为重要的工作。
- 你无权给我设期限,如果你的系统出现问题,与我无关。哪怕我一天、一周甚至一个月不回复你,我也不欠你任何东西。
图片付费下载自视觉中国
同时,Joel Denning还仔细地列出了开源社区的参与者们在什么情况下可以/不可以直接给他发消息,以及什么时候可以在GitHub、Slack中提及他。总的来说,任何以给他提要求为动机的对话都不要私信他。这包括要求他Review PR,修复Bug,创建新功能,发版,咨询他软件的使用方法等… 同时,Joel Denning也提到了他会关注他维护的GitHub Repo以及Slack,并且会在他愿意的时候回复里面的消息,因此,一般情况下没有必要在消息中提及他。
03
论坛中引发大量讨论
Joel Denning 的博文在论坛中引发了大量讨论和共鸣,很多网友都表示在开源中有过类似的经历并且能感受到 Joel Denning 的无奈。同时,他们也分享了各自在经营开源项目时遇到的“大无语”事件以及他们对开源“底线”的看法。
ID为Jurassic的网友说:“我之前也有专职维护开源项目的经历,刚开始也是热情饱满,但是不到两年,这份工作把我的热情消耗殆尽。”这其中最主要的原因是开源用户不断地通过私信和邮件给他提各种问题和需求,但提的很多问题在项目文档中都可以找到。而当他对这些问题不予回复或回复不及时,社区中就会有人给他恶意评论甚至对他进行人身攻击。因此,最后他不堪重负,从此彻底放弃了开源。
ID为Wildmanx的网友分享到:“我们可以从开源许可证中理解开源的底线。”他认为开源许可中阐明了项目作者和使用者的权力和责任。使用者可以免费、自由地使用作者提供的开源软件。但与此同时,开源作者对软件不负任何责任,所以任何人没有权力要求项目作者或维护者提供任何服务,这就是开源的底线。
同时,也有网友提出了不同的看法。名为 Stdbrouw 的网友认为管理预期比设立底线更重要,他提出:“假如一个项目标明了It is no longer maintained,使用者们也不会再给作者提出各种需求,同时,多数人也不会再使用这个项目”。使用者之所以会提出各种需求,是因为在最初开源项目作者给了他们高预期,他们相信项目会大有可为。因此,假如开源项目作者不想花费过多精力在项目维护上,最初就不要给使用者们太高预期。
04
结语
在看完Joel Denning的博文和网友们的留言后,笔者联想到了之前Faker.js作者Marak删库跑路的事件。虽然因为心理不平衡,对开源项目动手脚从而伤害使用者利益的做法固然不对,但站在开源项目作者的角度,他们为了维护项目付出了多少心血或许只有他们自己知道。所以,笔者也想把这些问题抛给大家:
- 你在开源中遇到过什么类似的“大无语”事件?
- 你如何看待开源人的“底线”?你认为开源的“底线”是什么?
- 你如何看待开源社区中,项目作者、维护者和使用者之间的关系?
05
短评
作者:夏小雅
GitHub 在今年 6 月发起了一场持续一个月的“Maintainer Month”,其中有一个 session 叫做“维护者的心理健康与疲劳”。而围绕着开源软件创作者在在线社会中面临的消耗与困境在更早 Nadia 在 GitHub 工作时就有详细地关注与探讨。
她用了几个非常精妙的比喻,一个是描述广义的生活在互联网时代作为数字公民的我们:在信息负载地当下,我们彼此其实是 DDoS - 每个互联网个体都对大量的入站请求感到不堪重负;另一个是有关软件的消费与生产:也许开源软件的生产实际是一面“单向镜”,任何人都可以消费作为静态的开源代码,但只有少数人才能真正参与到动态的代码生产过程中。而正是对于过程的不受约束地、有时候甚至是无意义地过度参与,在消耗着开源维护者们为数不多的协调时间与精力成本。
Nadia 基于她对大量开源维护者的访谈写成了《Working In Public》这本书,而我们第一时间取得了翻译权,译本《开放式协作》即将出版。究竟开源参与的底线在哪里?《开放式协作》也许不会给你明确的答案,但是一定会引发有关“我们究竟应该怎样更好的在公共空间中进行协作”的无限启示与思考。
欢迎大家在评论区留下你的观点!
相关阅读 | Related Reading
开发者关系简明指南
开源项目如何实现商业化?
大厂做开源的五大痛点!
开源社简介
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。
2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近八年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。