你想不想知道:开源社区如何对付坏分子(转)

不管怎么说,学习日记也算是开源,虽然差劲。现在项目根本无人参与,也谈不上坏分子(要说有坏分子,那就是我了,在互联网上散布垃圾代码:))。也许,学习日记如果真正流行了,那时再来翻一下这个帖子也许能够给点帮助也说不定?

转自:http://tech.ccidnet.com/art/302/20060801/716251_1.html

你想不想知道:开源社区如何对付坏分子

作者: 来源:blog 发布时间:2006.08.02

【Java专区】 【网络安全】 【网管专区】 【linux专区】 【数据库专区】 【进入论坛】 【IT博客】 

【Eclipse】  【PHP】  【DB2】  【Ajax】  【Struts】  【Spring】  【源码·文档下载】

o'Reilly的OSCON还真是有些有趣的东西,这里挖掘到的一个演讲的主题是如何对付项目中的坏分子,或者说如何在毒人发作时存活下来。国内虽然这方面实践不多,我也没有什么经验,但总可以先看一下别人的作法,又或者对任何网络社区的活动都有一些指导意义。

  这里说的毒人,原文是Poisonous people,这么翻不知道合适与否。我们的前提是“注意力和专注是所有开源项目的稀缺资源,并且保护好”。这种毒人就能打散团队的注意力,影响工作的进行。这是需要避免的。首先,一个好的社区应该坚守自己的价值:

  礼貌、尊重、信任、谦让

  这样,当坏分子进来时,他们会发现他们与这种气氛格格不入,只能离开。但要维持一个有活力的团队,则还要做到:

    * 把项目历史写好(设计决策,补丁记录,错误,代码改变);

    * 保持健康的合作氛围:提交代码时发个邮件,鼓励其他人去检测代码,大的改变时就新开个一个分支,在开分支上不用太小心;

    * 增大项目的保险系数。就是如果有人离开,不至于某段代码就死掉了;

    * 在源代码文件中不要写名字,这会在代码所有权上造成许多不必要的麻烦,还是用版本控制工具来说明版权;

    * 只给部分提交的权限;

    * 如果不信任某人,就不要给他提交的权限。

  强壮的开源项目还应该有明确的发布流程,补丁流程,测试及增加新的提交人的流程。要形成自己的文化。成熟的社区应该能够较容易达成一致,只有万不得已时才用投票的手段。

  需要警惕的人包括有许多昵称的人,用奇怪ID的人,用全大写的昵称的人,没条理的,不理解社区目标的,问许多手册上写得很明白的问题的人等。还有很大牌地要求提供帮助的人,给其他人写黑信的,有权利欲的,挑衅的,打小报告的,还有不理会别人意见的,说许多垃圾话的,重开已有定论的话题的。最重要的,要当心那些不同别人合作的,抱怨却不愿去解决问题的,拒绝讨论一些设计的,还有根本不能接受批评的。

  当这些情况出现并开始扰乱社区气氛时,应尽快做出评定,搞清楚此人是否对项目有利。但千万不要再给他们以激励,比如加入他的行列,或者变得情绪化。最后,应该知道何时忽视他们,何时直接赶走,以及对这种行为进行反击。

  两位演讲者是Subversion的开发者,也写过这个软件的书。不过,现在他们又都在Google工作 ,推广开源软件,这工作真不错啊。难怪GoogleCode都是SVN。