写点什么

直面挑战,如何应对开源社区中的恶意行为

  • 2023-05-30
    北京
  • 本文字数:1523 字

    阅读完需:约 5 分钟

直面挑战,如何应对开源社区中的恶意行为

开源维护者经常遇到的三种恶意行为分别为得寸进尺、人们随意发泄的挫败感和直接的攻击。面对这种行为,厚颜以对和熟视无睹都会导致愤怒和伤感情绪的负面循环。相反,我们应该指出这种行为,并提醒人们,开源意味着协作和配合。


Gina Häußge 在OOP 2023 Digital上谈到了作为开源维护者如何处理发起恶意行为的人。


Gina Häußge 提到,维护者经常会面临三种恶意行为。最常见的一种就是得寸进尺。有不少用户认为,由于你已经给了他们一些东西,所以你亏欠他们得更多,当你没有满足他们的要求时,他们就会变得极具攻击性。


Gina Häußge 说,还有一些人因为某些事情没有按照他们期望的方式进行而发泄挫败感,在这个过程中会变得非常粗暴。


第三种恶意行为是直接进行攻击,主要来自那些觉得自己的权利没有得到满足的人,或者无法处理其挫败感的人,有时候会非常恶毒,Gina Häußge 解释到:


这已经从辱骂升级到了建议直接结束我的生命。


Häußge 提到,面对这些恶意行为,她曾经尝试厚颜以对和熟视无睹。她认为,对这些行为大动干戈是她自己的问题。事实证明,她试图忽视人性和压力反应周期,Häußge 这样解释到:


试图无视这些事情只会让它们在我的脑海里无休无止的盘旋,经常持续好几天,甚至几周的时间,这使得我变得越来越愤怒,或越来越伤感。而这反过来又影响了我的沟通方式,往往只会使事情进一步升级,或造成其他方面的问题。


Häußge 提到,当面对得寸进尺或发泄行为时,她经常提醒人们注意工作中的实际情况。她说,“开源意味着协作和配合,而不是要求”。如果人们希望看到某些东西变成现实,那么就应该帮助完成它,通过代码,或者像文档和缺陷分析这样的东西:


任何不需要我自己做的事情都意味着我会有更多的时间用于编码工作,以解决其他人的问题。


Häußge 说,这不应该只落在维护者身上。我们都可以在看到恶意行为时将其识别出来,并公之于众。她说,我们不应该让维护者不断捍卫自己的底线,或默默忍受虐待。


Häußge 提到,我们也要经常照照镜子,反思自己,确保不要成为攻击者:


在任何时候,都要记住站在别人的角度思考一下。


InfoQ 就针对开源维护者的恶意行为采访了Gina Häußge


InfoQ:据你观察,恶意行为对维护者和 OSS 社区有什么影响?


Gina Häußge:多年来,我和很多 OSS 的维护者都有过交流,大家的普遍共识也反映了我自己的经历:这些经历会毁掉你一整天,毁掉你整整一周,有时会让你怀疑自己为何要继续维护这样一个项目。这肯定会导致维护者的倦怠,从而给整个项目带来风险。这是一种极其痛苦的体验。如果不加以制止,它们会危害整个社区。


InfoQ:你是如何学会应对这种恶意行为的?


Gina Häußge:解决压力反应循环的方法是体育运动。我的办公室里有一个沙袋,即便只运动 30 秒钟,也能让我重新活过来!这向我的大脑发出信号,表明我已经认识到了威胁,并且正在做一些事情来对付它,从而完成压力反应循环。一旦做到这一点,我就再次掌控了局面,可以采取下一步措施了。

如果遇到粗鲁的攻击,我就会明确表示,他们刚刚表现出来的行为是无法容忍的。多年来,这让我得到了很多的道歉,但有时也会导致事态进一步升级。在这种情况下,我会请他们离开,如果迫不得已,我会封掉他们。


InfoQ:在开源项目中,我们可以采取何种措施来应对恶意行为?


Gina Häußge:在开源项目中,有一个普遍的说法,作为维护者,你要脸皮够厚,无视那些讨厌的人。如果你做不到这一点,就根本无法胜任这项工作。


我不同意这种观点。这种恶意行为的不断冲击要么让你崩溃,要么让你变成一个更糟糕的人,而这两者都不应该是维护 OSS 所必须要承受的。请坚守你的底线和项目的行为准则(CoC,code of conduct),并要求得到人道的待遇。


原文链接:

How Open-Source Maintainers Can Deal with Toxic Behavior

2023-05-30 10:542300

评论

发布
暂无评论
发现更多内容

如何创建 Angular library 并在生产环境中消费

汪子熙

JavaScript typescript angular library 9月月更

Github上标星103K的Spring Security实战手册,直接霸榜

程序知音

Java spring 程序员 spring security 后端技术

传媒产业的数字化怎样被小程序影响

Geek_99967b

小程序

Pipy 同一 IP 多个 SSL 域名

Flomesh

Service Mesh 服务网格

写给自己的react面试题总结

beifeng1996

前端 React

峰会倒计时3天!硅谷传奇投资人登陆专场,围炉共话分析型数据库的爆发式增长

StarRocks

数据库

以Vue为代表的提升小程序开发效率框架及工具

Geek_99967b

小程序

算法基础(三)| 二分图解及代码模板

timerring

算法 二分查找 9月月更

羊了个羊闯关游戏开发(链改代币分红)

开发微hkkf5566

react面试如何回答才能让面试官满意

beifeng1996

React

分布式系统中如何实现临界资源的互斥访问

华为云开发者联盟

云计算 后端 开发 企业号九月金秋榜

VS Code摸鱼神器,让你快速开发AI模型

华为云开发者联盟

人工智能 企业号九月金秋榜

人脸关键点的应用场景及重难点解析丨Dev for Dev 专栏

声网

算法 Dev for Dev 人工智能’

云原生数字化转型与金融信创建设,鱼和熊掌可兼得

BoCloud博云

云计算 云原生 信创

“密评”,听说过没

华为云开发者联盟

云计算 网络安全 开发 企业号九月金秋榜

校招 | StarRocks首次Open Day报名ING!

StarRocks

数据库

阿里云大数据助力知衣科技打造AI服装行业核心竞争力

阿里云大数据AI技术

人工智能 大数据 模型训练 客户案例

linux入门学第一天

乌龟哥哥

9月月更

本地服务调用K8S环境中的SpringCloud微服务实战

程序员欣宸

Kubernetes 9月月更

最新MLPerf基准测试:基于阿里云GPU云服务器的AIACC在图像识别封闭式场景下夺冠

阿里云弹性计算

图像识别 GPU实例 AIACC

慢查询 MySQL 定位优化技巧,从10s优化到300ms

程序知音

Java MySQL 数据库 后端技术 MySQL 数据库

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

Java MySQL 数据 ddl DML

带你认识全新的华为云IoT路网数字化服务

华为云开发者联盟

云计算 后端 物联网 交通 企业号九月金秋榜

来自大厂 10+ 前端面试题附答案(整理版)

loveX001

JavaScript 前端

RabbitMQ怎么保证消息不被重复消费以及消息的可靠性

知识浅谈

RabbitMQ 9月月更

火山语音7篇论文入选国际顶会Interspeech

科技热闻

Qt|控件QPushButton讲解

中国好公民st

qt 按钮 9月月更

前端如何学习算法?

大师兄

JavaScript 前端算法 9月月更

一文读懂Jina生态的Dataclass

Jina AI

多模态机器学习 多模态 跨模态

阿里前端面试题

loveX001

JavaScript 前端

大数据调度平台Airflow(五):Airflow使用

Lansonli

airflow 9月月更

直面挑战,如何应对开源社区中的恶意行为_文化 & 方法_Ben Linders_InfoQ精选文章