在大多数组织中,领导力是自上而下的。CEO 告诉 VP,VP 告诉主管,主管告诉经理,经理指示他的员工去工作。文化上,大多数人都习惯于认为这是理所当然的。但是开源社区很少以这种方式运作,这是人们在参与开源时发现的奇怪之处之一——而且他们通常需要一段时间的适应才能习惯它。这当然也是开源社区的优势之一,也是最不被理解的功能之一,即使在实践社区中也是如此。
虽然传统上存在一种极端的层级式领导方法,但还有另一种极端,通常被称为众包。 许多人混淆了开源和众包——需要明确的是,开源并不意味着仅仅从任何听力范围内的人那里获取意见。 虽然来自每个人的集体智慧不一定不好,但它往往倾向于鼓励不切实际的想法和对小马和独角兽的许多愿望。(欲了解更多信息,请阅读 Chris Grams 的 “为什么开源之道胜过众包之道。”)
那么开源社区是如何领导的呢? 主要由做这项工作的人领导。 大多数小组都有一个大致定义的共同目标(构建软件小部件,或开发一个很棒的、开源的、基于计算机的四年级数学课程),决策由做这项工作的人做出。 没有经理在场规定必须如何做事或追求什么目标。 许多人反对这种方法,称其为无政府状态,并声称它阻碍了进步。 诚然,如果同一批人被强迫朝着一个方向前进,他们可能会取得更大的进步,但可能不会有相同程度的创新。
做这项工作的人在一定程度上(或很大程度上)改变方向的自由是非常强大的,虽然这些改变可能并不总是更好(这是一个解释问题),但它们更具创新性。 人们,尤其是志愿者,也往往更乐于参与,这意味着他们贡献更多,参与度更高。
那么开源社区中的领导力是什么? 是责任。 是承担确保工作完成的责任。 这在很大程度上意味着确保那些想做工作的人能够做到——那些做工作的人没有障碍。 这也可能意味着,如果没有其他人挺身而出,你自己也要做这项工作。 可悲的是,许多人没有意识到这一点,并致力于获得“领导角色”,以便提出宏伟的愿景,并将其传递给做这项工作的人——层级模型。 这几乎总是在社区中失败。 在开源软件相对短暂的历史中,时间线中充斥着导致分支或放弃的例子,而最常见的结果是,这些人被忽视或被认为无关紧要。
简而言之,如果你想做出改变,而你没有参与使其发生,那么你就不是在以开源的方式行事。
1 条评论