开源项目管理中的Top10BadPractices事实证明,在多年与社区合作并为项目做出贡献之后,我在这方面仍然有一点发言权。然而,在今天的文章中,我打算从一个消极的角度来解读这个问题,即讨论开源项目管理中不可取的各种做法。1.对贡献者的厌烦软件的开发者和维护者已经很忙了,过多的任务只会让人更加反感。事实上,开源世界中最大的误解之一是管理者常常认为繁重的工作会增加成员的参与度。这里说白了,就是任务多了,人可能干脆就走了。我的一个好朋友从2013年就开始为Ceilometer做贡献,他的codereview水平相当高,甚至能发现很多别人可能没有意识到的错误。项目管理团队最终将他提升为核心审阅者——而不是简单地给他更多的任务。相信我,正是这种成就感让更多有技能的人参与到项目中。2.只让人们参与无聊的事情。当新人加入时,他们往往有不同的动机。有的用户希望通过贡献来实现自己的价值,有的则有学习的目的。但总的来说,人们其实更抗拒一直暴露在最高级别的枯燥工作中。如果管理者不顾及底层贡献者的感受,那么枯燥的内容加上前文提到的工作强度,肯定会让很多对开源感兴趣的朋友迅速退出。3.不注重点滴贡献。改正错字也算贡献?重新审视文档也算贡献?这种心态在开源项目中并不少见,但事实证明,这种工作其实很有价值。我个人在一个项目中负责修复文档错误并在短时间内发布了56个补丁,修复了一些错误并添加了一些额外的功能。没有人会因为这些小事而轻视我,我相信我的工作确实有价值。4.给新人设置过高的门槛新人在参与开源项目时,个人的技术水平和工作经历往往相差很大。很多管理者直接给他们布置了过于复杂的任务,这会让很多人感到沮丧,甚至觉得自己太蠢而默默退出。其实我们应该评估一下新人的技术水平(简单的交流应该能大致了解水平),然后给他们分配一些在他们能力范围内,但有些挑战性的任务。5.要求人们牺牲个人生活大多数参与者只会将空闲时间用于为开源做贡献,这也是一种非常健康的发展方式。请注意不要期望项目成员以牺牲个人生命为代价做出贡献,这既不现实也不利于项目的长远发展。此外,过于频繁的视频会议甚至IRC会议也会让人厌烦。开源项目应该以人为本,针对不同的成员采取不同的交流和贡献方式。6.底层行为规范太难整合。随着社区的发展,总会有一种潜在的风格或做事方式成为其个性标签。虽然这对老手来说可能很有趣,但对新手来说也可能令人望而生畏。诚然,我们不需要编纂一些关于行为准则的指导方针。但作为项目经理,我们最重要的是让团队在保持新人个性的同时,充分考虑新人的感受。在无事可做的时候抛出大量的内部术语或“梗”,真的没有任何好处,只会阻碍组织的进一步扩张。7.让非英语母语的人感到不参与。绝大多数的开源项目社区都是用英文交流的,这也成为大家协作的重要前提。但是,我们也应该考虑到一些技术人员来自非英语国家,这意味着他们可能很难与原来的成员沟通,甚至可能因此而灰心。面对这种做法,我们可以想其他的办法来代替它。例如,异步通信用于以文本形式发送通信内容。这样对方就可以借助翻译软件大致理解意思,同时避免说外语带来的紧张感。8.缺乏远见,不愿放权这两个错误在各类开源项目中都很常见。事实上,一些贡献者在加入后会开发新功能并寻求现有成员的反馈。这时,负责维护的经理可能会意识到自己对这部分技术不熟悉,甚至决定跳槽。必须强调的是,项目的发展愿景以及围绕此的沟通非常重要,这样才能让成员有一致的判断,明白自己是否应该留在团队中发挥作用。另外,一部分责任应该交给其他成员,而不是全部归自己管。补丁审查、子系统设计、错误修复和文档编制都可以由专人负责。这样,每个成员都能感受到自己的作用和价值,更加积极地留在项目团队中。9.不认可贡献者的成果为开源项目做贡献的方式有很多种,并不局限于写代码。文档、bug调试、用户支持、体验设计、传播甚至翻译等等,都是非常重要的工作。因此,我们应该充分重视非技术贡献,谨慎构建团队成员的层次结构,以免错过任何一种人才。10.缺乏感恩最后,我想强调开源项目中感恩的重要性。此类项目通常由参与者免费构建。作为管理者,我们应该为大家的分享精神鼓掌——当然,要以一种能让他们直观感受到的方式!原标题:Avoidingbadpracticesinopensourceprojectmanagement,作者:JulienDanjou
