开源开发者有多难?我们从近期多个事件及调查结果中可见一斑。
- 拥有数百万用户的开源项目 Babel 陷入财务困境;
- 开源项目 Docz 作者 pedronauck 称维护开源太难,这项工作使其身心受损;
- Tidelift 调查显示,开源维护者面临着钱少事多压力大的困境,超一半已退出或考虑退出;
- 超级任天堂模拟器 bsnes 开发者 Near 因网络欺凌自杀;
- 开源代码被抄袭被卖……
最近,我们又看到了一则令人遗憾的消息:Redox OS 贡献者 jD91mZM2
于 2021 年 3 月自杀,年仅 18 岁。他曾参与 2018 年、2019 年和 2020 年的 Redox OS Summer of Code,并在 Redox OS 的各个方面有所贡献,从内核到 relibc,再到移植程序。
GitHub 的动态永远停在了3月份,遗憾
Redox OS 作者 Jeremy Soller 发文悼念,他表示:开源要想可持续,需要做大量工作,而其中很大一部分工作是关照开源社区及其成员的健康。
Jeremy Soller 在文章中回忆了 jD91mZM2 的贡献,呼吁大家关注开源开发者的身心健康。SegmentFault 思否对文章进行了编译整理,希望大家能够更多地关注开源开发者的健康情况。
反思
昨天,我收到另一个贡献者的消息,称 jD91mZM2 很久未上线,并且未回复电子邮件。我通过我所掌握的信息试图联系他,但一无所获。我向另一个贡献者透露了 jD91mZM2 的真实姓名,然后他找到了 jD91mZM2 的讣告。我们核实了他的姓名、地点和出生日期。虽然没有列出死亡原因,但我认为我们发现的证据表明他是在精神疾病发作后自杀的。
得知这一切后,我很震惊。他是一位非常高产的贡献者,不仅是 Redox,还对许多其他项目有贡献,他怎么会觉得死比生更好呢?这是一个能力无限的人,而且直到最近,他看起来还能很好地把控自己的生活。但我活得越久,就越意识到这可能只是幻觉,事情恶化的速度很快。
我上次和 jD91mZM2 沟通是在 2 月份,他去世前一个月。这次沟通纯粹是技术上的,关于 Redox 内核的 aarch64 端口。我不禁想到,也许这是他选择死亡的因素之一。
在开源中,我们经常强调好代码的重要性。毕竟每一个开源项目的可交付成果都是源代码,但我们却常常忘记,好的代码是由优秀的人写出来的,留住这些人并让他们开心应该是项目维护者最关心的事情。
心理健康事件涉及很多方面。一方面,精神疾病通常有遗传因素。另一方面,这些遗传前兆通常需要慢性和急性的环境诱因。慢性诱因可能是长期恶劣的家庭或工作环境,并导致精神疾病本身的表现。急性诱因可能是与人争吵,导致精神疾病发作。精神疾病发作可以严重到战胜人的求生的本能,最终导致自杀。
这样来看,自杀并非示弱。
然而社会对此采取的立场是,这些事件是不可阻挡的力量,导致自杀的因素是内在的,而不是外在的。我拒绝相信这些,我们必须为每一个问题寻找原因并试图缓解,即使最终不可能实现。
因此,我必须审视自己的行为,看看有没有可以做得不同,看看我能否挽救一条生命,看看我将来能够挽救什么生命。
开源与心理健康
开源的某些方面似乎吸引了最奇怪的人类,包括我自己。坚持一切事物都是可检查的,这也许是由强迫行为驱动的。而那些容易出现这种行为的人往往是从其他疾病中继承的。多动症、自闭症、双相情感障碍、抑郁症等疾病在开源贡献者中非常普遍。
因此,开源社区也明显缺乏软技能。这显然会分裂社区,将开源与 “正常” 世界隔离开来。对我们而言幸运的是,开源最终成为一个可盈利的行业,资本的注入带来了开源人才的显著多样化。
然而,这是有代价的:不适应开源项目新商业利益的人往往被抛弃;由于与初始维护者产生分歧,导致项目本身发生不可逾越的变化,项目被进一步分叉。我自己就曾参与过这一切。
在大多数情况下,我们缺乏对人力成本的调查,调查大量开源贡献者精神健康事件,尝试找出共性。有时精神疾病发作会带来新的项目,有时也会使贡献者过于疲惫甚至离开开源,有时则导致自杀。
我们必须认识到,我们在造成导致精神疾病的慢性因素以及导致危险发作的急性因素中的作用。
我的旅程
我并不是精神疾病的绝缘体。我经常收到这样的信息,“你似乎一切尽在掌控,你是怎么做到的?”残酷的事实却是,我们任何一个人或许都未真正做到掌控一切。而我们所定义的 “尽在掌控” 可能存在很大差异,拥有成功的项目并不等于拥有普遍幸福。
我必须承认我现在比以往任何时候都快乐。所以,也许与普通人相比,我确实控制住了局面。我的生活是充斥着治疗师、精神病医生、药物和隔离的漫长旅程。我可以像其他人一样轻松地结束生命。还好,我幸运地找到了慢性压力源,并尽职尽责地消除了它们。
大学一年级的时候,我很艰难。(那时,我的年龄和 jD91mZM2 决定结束生命时差不多。)体重增加了将近 50 磅,我和另外三个室友住在一起,其中两个也英年早逝。我交替使用抗注意力不足过动症(ADHD )药物、抗抑郁药,甚至抽烟——寻找能 “治愈” 我的东西。在那段时间中,我一直在编程,经常忽略学校作业做编程。
大学之前,我曾在卓尔医疗公司实习,编写除颤器软件,并从这项工作中获得了两项专利。老实说,我对计算机的理解远远超过了其他人。然而,我对人的理解,包括我自己,远远落后于其他人。
在那段时间里,我和研发副总裁建立了联系,他成了我实际上的老板。大一快结束的时候,他主动问我要不要继续工作,我答应了。
大二生活对于我来说很不一样。我把大部分时间放在写软件上,赚了很多钱。我对学校没有兴趣,好几门课不及格,很快就从大学退学了,全职从事软件工程工作。
这对我的心理健康产生了巨大的积极影响。我瘦了,和大学校友保持联系,还通过他们认识了妻子。我们一起买了房子,结婚并有了一个漂亮的女儿。我启动了 Redox OS 项目,开始在 System76 工作。从大二之后,我再没想过心理健康的事了,也不需要接受治疗或服药。我所有的压力都消失了。
一个人在心理健康方面的成功并不总能转化为其他人的成功。在这一旅程中,我创造并摧毁了数百种关系。我不得不承认,当我快乐的时候,我有一种在别人身上引起完全相反情绪的倾向。我保留那些给我带来快乐的关系,忽略那些需要付出努力的关系。而在某个时刻,也许我忘了和 jD91mZM2 保持联系,确定他找到了和我一样的快乐。
存在解决方案吗?
在文章的末尾,Jeremy Soller 认为这种情况没有解决办法,每个案例都不一样。但他决定不再根据贡献者写的代码对他们进行评价。他表示,代码无法自行写成,写代码的人比 “开源” 本身更需要维护。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。