阅读 230

开源的“底线”在哪里?

  你认为开源人的“底线”是什么?你如何看待开源社区中,项目作者、维护者和使用者之间的关系?欢迎在评论区留言讨论~

  作者宋林飞

  责编张红月

  出品 CSDN(ID:CSDNnews)

  相信不少小伙伴,尤其是开发者,都对开源多多少少有所耳闻,甚至亲身使用、参与过开源软件的开发。在使用过程中,开源软件给我们最直观的印象就是免费和自由,也就是使用者可以在遵守开源软件许可证的情况下免费让这些开源软件为我们的目的服务,甚至在它们的基础上进行二次开发。这也意味着大多数开源软件都是它们的作者以及社区中贡献者们默默“为爱发电”的成果。但是,面对着需要频繁维护的项目、层出不穷的 Issue 和问题,以及寥寥无几的收入,开源人的“爱会消失”吗?

  前段时间,名为 Joel Denning 的开源开发者发出一篇题为“My boundaries as an open source developer”(“我作为一名开源开发者的底线”)的博文在网络上引发了大家热议。文中,Joel Denning 列举了一系列他作为开源项目作者和维护者的这一路所遇到的“下头”瞬间。尽管作为一名开源人,他最初对开源的热爱无可厚非,但时间久了,任何人都会感到疲惫。因此,他认为开源人也需要有自己的底线,他们并不是一块砖,哪里需要哪里搬。这个观点在论坛中引起了大量开源参与者的讨论和共鸣。

  让我们先一起看看 Joel Denning 都说了些什么。

  “我爱开源,但我真的很累”

  文章的开篇,Joel Denning 就表示了他热爱并相信开源。最初他也会耐心地逐一回复别人给他的留言,帮助社区内的成员解决他们的 Issue 和问题。但是,随着项目使用者和社区内人数越来越多,慢慢地他开始感觉到力不从心。他说道:“我每周都会收到几十个不同的留言,让我回答他们的问题,给他们技术支持,修复 bug 或构建新功能等等“。

  这类留言如今已经成为 Joel Denning 的负担,因为这些留言使他感觉到别人在要求他做事。这也使他时常萌生出“逃离开源”的想法。“从 2020 年左右开始,这种逃离开源的想法使我花在维护开源项目中的精力减少了一半以上,因为这些要求的确让我很有压力。”Joel Denning 回忆道。

  谈到自己倍感压力的原因,Joel Denning 列出了以下几点:

  每天都要同时和很多人打交道,却从来没有和他们中的任何一个人有过稳定的关系。

  每天收件箱都会有很多收件,作为强迫症不看的话感到很难受。

  参与开源的同时生活中也担负着其它责任。

  因为看到自己的开源项目使很多企业受益,自己却没有收到应有的回报。

  感觉到别人的奉承只是,想利用自己来达到他们的目的,对此很失望。

  “我不欠你的,所以别给我提要求”

  面对这些压力,Joel Denning 渐渐地总结出了自己的底线来帮助自己在精疲力竭的情况下继续在开源环境中生存,而不被淹没。他在文章中列出了以下三条“红线”:

  你没有资格要求我回应你的留言。

  你没有资格让我为你做你认为重要的工作。

  你无权给我设期限,如果你的系统出现问题,与我无关。哪怕我一天、一周甚至一个月不回复你,我也不欠你任何东西。

  同时,Joel Denning 还仔细地列出了开源社区的参与者们在什么情况下可以/不可以直接给他发消息,以及什么时候可以在 GitHub、Slack 中提及他。总的来说,任何以给他提要求为动机的对话都不要私信他。这包括要求他 Review PR,修复 Bug,创建新功能,发版,咨询他软件的使用方法等… 同时,Joel Denning 也提到了他会关注他维护的 GitHub Repo 以及 Slack,并且会在他愿意的时候回复里面的消息,因此,一般情况下没有必要在消息中提及他。

  论坛中引发大量讨论

  Joel Denning 的博文在论坛中引发了大量讨论和共鸣,很多网友都表示在开源中有过类似的经历并且能感受到 Joel Denning 的无奈。同时,他们也分享了各自在经营开源项目时遇到的“大无语”事件以及他们对开源“底线”的看法。

  ID 为 Jurassic 的网友说:“我之前也有专职维护开源项目的经历,刚开始也是热情饱满,但是不到两年,这份工作把我的热情消耗殆尽。”这其中最主要的原因是开源用户不断地通过私信和邮件给他提各种问题和需求,但提的很多问题在项目文档中都可以找到。而当他对这些问题不予回复或回复不及时,社区中就会有人给他恶意评论甚至对他进行人身攻击。因此,最后他不堪重负,从此彻底放弃了开源。

  ID 为 Wildmanx 的网友分享到:“我们可以从开源许可证中理解开源的底线。”他认为开源许可中阐明了项目作者和使用者的权力和责任。使用者可以免费、自由地使用作者提供的开源软件。但与此同时,开源作者对软件不负任何责任,所以任何人没有权力要求项目作者或维护者提供任何服务,这就是开源的底线。

  同时,也有网友提出了不同的看法。名为 Stdbrouw 的网友认为管理预期比设立底线更重要,他提出:“假如一个项目标明了 It is no longer maintained,使用者们也不会再给作者提出各种需求,同时,多数人也不会再使用这个项目”。使用者之所以会提出各种需求,是因为在最初开源项目作者给了他们高预期,他们相信项目会大有可为。因此,假如开源项目作者不想花费过多精力在项目维护上,最初就不要给使用者们太高预期。

  结语

  在看完 Joel Denning 的博文和网友们的留言后,笔者联想到了之前 Faker.js 作者 Marak 删库跑路的事件。虽然因为心理不平衡,对开源项目动手脚从而伤害使用者利益的做法固然不对,但站在开源项目作者的角度,他们为了维护项目付出了多少心血或许只有他们自己知道。所以,笔者也想把这些问题抛给大家:

  你在开源中遇到过什么类似的“大无语”事件?

  你如何看待开源人的“底线”?你认为开源的“底线”是什么?

  你如何看待开源社区中,项目作者、维护者和使用者之间的关系?

来自: CSDN


文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐