这里说的毒人,原文是Poisonous people,这么翻不知道合适与否。我们的前提是“注意力和专注是所有开源项目的稀缺资源,并且保护好”。这种毒人就能打散团队的注意力,影响工作的进行。这是需要避免的。首先,一个好的社区应该坚守自己的价值:
礼貌、尊重、信任、谦让
这样,当坏分子进来时,他们会发现他们与这种气氛格格不入,只能离开。但要维持一个有活力的团队,则还要做到:
把项目历史写好(设计决策,补丁记录,错误,代码改变);
保持健康的合作氛围:提交代码时发个邮件,鼓励其他人去检测代码,大的改变时就新开个一个分支,在开分支上不用太小心;
增大项目的保险系数。就是如果有人离开,不至于某段代码就死掉了;
在源代码文件中不要写名字,这会在代码所有权上造成许多不必要的麻烦,还是用版本控制工具来说明版权;
只给部分提交的权限;
如果不信任某人,就不要给他提交的权限。
强壮的开源项目还应该有明确的发布流程,补丁流程,测试及增加新的提交人的流程。要形成自己的文化。成熟的社区应该能够较容易达成一致,只有万不得已时才用投票的手段。
需要警惕的人包括有许多昵称的人,用奇怪ID的人,用全大写的昵称的人,没条理的,不理解社区目标的,问许多手册上写得很明白的问题的人等。还有很大牌地要求提供帮助的人,给其他人写黑信的,有权利欲的,挑衅的,打小报告的,还有不理会别人意见的,说许多垃圾话的,重开已有定论的话题的。最重要的,要当心那些不同别人合作的,抱怨却不愿去解决问题的,拒绝讨论一些设计的,还有根本不能接受批评的。
当这些情况出现并开始扰乱社区气氛时,应尽快做出评定,搞清楚此人是否对项目有利。但千万不要再给他们以激励,比如加入他的行列,或者变得情绪化。最后,应该知道何时忽视他们,何时直接赶走,以及对这种行为进行反击。
两位演讲者是Subversion的开发者,也写过这个软件的书。不过,现在他们又都在Google工作 ,推广开源软件,这工作真不错啊。难怪GoogleCode都是SVN。