在他最近的文章中,格林·穆迪提出了一个重要的问题:“开源可以是民主的吗?” 他描述了自由软件是如何作为一个分布式的、自下而上的代码编写系统出现的。这种文化的核心定义方面是一个独特的开放过程,不仅包括编程,还包括其组织,以及程序员和用户之间的密切关系。实际上,用户和程序员共同成为贡献者,他们在项目上进行协作。格林接着解释了这种社区努力如何随着时间的推移变得更加制度化、更加企业化和更加沉闷——“成为‘Firefox 联盟’,几乎没有什么令人兴奋的事情。” 普通用户不再在开源项目中扮演重要的角色。
亚里士多德认为,民主的根本原则是自由,因为只有在民主制度下,公民才能分享自由。
其潜在的假设是开源是民主的,而这种假设需要被质疑。开源……社区一直被认为是自我导向的、任人唯贤的……但很少有人强调它们是民主的。由于个人正在投入精力到他们最喜欢的项目中,为更伟大的事业做出贡献,并且民主通常也被认为是更大的福祉,因此很容易联想到开源社区是民主的。但它们是吗?民主在开源的背景下意味着什么?一个民主的社区是什么样的?
有些人可能会说,这种政治概念不能轻易地转移到开源社区应该如何运作。虽然这可能不容易,但仍然值得——民主制度已经处理过类似的包容性和权力和责任分配问题。就像民主国家一样,社区是志愿者组织,为了构建他们渴望在公共领域拥有的公共物品而聚集在一起。就像公民一样,社区成员可以选择发声或退出,而他们的选择是基于他们作为公民的预期影响力。有足够的相似之处可以证明通过榜样学习是合理的。
关于成为贡献者
民主意味着“人民统治”,并规定,除其他外,每个人在法律面前一律平等,并在政治进程和政府选举中拥有投票权。这立即归结为公民和非公民这个核心的阴阳问题。用户是否被认为是开源社区的组成部分(公民),还是提供反馈的局外人?他们应该与开发者平等吗?虽然今天我们似乎认为平等是标准配置,但实际上它是一个动态的概念,其含义随着文化而变化。想想 1965 年的《投票权法案》,该法案最终在美国废除了基于种族的选民歧视,或者女性将在 2015 年在沙特阿拉伯获得投票权这一事实。这就是格林观察到的——用户从社区的组成部分转变为只扮演边缘角色,类似于没有投票权。资格和接受度是将公民与野蛮人和奴隶区分开来的要素。资格回答了哪些个人有可能成为公民的问题。接受度是合格的个人必须满足才能获得公民身份的要求。例如,居住在一个国家的外国人可能符合公民资格,但要被接受,需要纳税若干年。当同样的问题应用于开源社区时,它们转化为“谁是贡献者,因此可能成为我们社区的公民?某人如何加入项目?”其次,“新人必须做什么才能被视为贡献者,社区的一部分?”(这听起来像“我如何成为提交者?”——正是如此)。在开源社区中,通常所有个人都有资格加入,但要被接受和融入,他们需要为代码做出贡献。
因此,为了让用户再次成为开源社区的组成部分,与开源项目互动的用户需要成为同行中平等的贡献者,才能获得资格。这远非标准,也不是我认识的大多数贡献者的心态。我工作的大多数社区都认为对项目源代码的直接贡献比用户的反馈更有价值。他们(无意识地?)认为用户是局外人,并建议他们与问题跟踪器交谈,这是一种经过验证的方法,可以确保他们永远不再带着更多反馈回来。因此,首先,用户需要被视为有资格成为社区成员,其次,他们的努力(例如反馈)需要使他们有资格被接受为普通贡献者。
关于开放治理
但并非所有社区都是生而平等的。在评估一个社区的民主程度时,我们需要审视它们存在的理由。并非所有开源项目都是由开发者和用户共同创建的,权力和责任的分配通常遵循这个最初的目标或原则。如果一个由开发者和用户创立的项目有机地成长为一个开放治理的社区(如 KDE),它就类似于民主制度。一个由公司创立的项目(想想 Mozilla 或 Qt),并且可能允许外部贡献者加入,只要他们接受国王^所有者公司的法令^wCLA,就更倾向于贵族制度。并非所有贡献者都是平等的,统治政府也无法被替换。
关于民主最核心的特征是什么,一直存在着长期的争论。意见不一,但有一个问题——公民是否可以在一个结构化的过程中,定期地重新选举或替换统治政府,而无需革命?考虑到这个论点,很明显,并非所有开源社区都是民主的。KDE 在某种程度上是民主的,政府权力较弱,并且定期举行选举,每个活跃成员都只有一票。想想为 Android 选举一个新政府,这种差异就变得显而易见了。在格林在他的文章中提到的开源项目中,很少有项目可以按照这个标准被认为是民主的。
回到关于如何减少用户和开发者之间的距离,以及如何建立在协作基础上蓬勃发展的社区的问题。用户,像任何贡献者一样,会考虑他们投入项目的时间会产生什么影响。如果他们从贡献中获得的效用超过了贡献的努力成本,他们就会加入社区并帮助项目。效用与社区治理的开放性直接相关;如果贡献者的影响力仅限于琐碎的细节,效用就会降低,而如果她有机会成为 KDE e.V. 的下一任主席,效用就会更大。这强调了开放治理对于开源项目的寿命和社区精神的重要性。只有开源之道和开放治理相结合,用户才能体验到创造的自由,这说服她加入项目。社区中的民主是开源与开放治理的结合。
结论
从作为贡献者——公民——的地位出发,随之而来的是参与社区事务的权利和义务。如果开源平等地对待所有社区成员,它就可以是民主的。在以上讨论中,已经提出了考虑一个开源社区是否民主的三个要求
- 要成为民主的,就需要不歧视贡献者(用户和开发者)。用户是贡献者。需要鼓励他们加入社区,提供反馈,并以其他方式帮助改进项目。
- 社区中的民主意味着开源与开放治理的结合。在自由软件许可下提供源代码不足以使一个开源社区成为民主的。没有平等,没有贡献者作为平等者控制项目,它可能是开源的,但它不是民主的。
- 如果贡献者是平等的,并且社区选举自己的代表,那么治理就是开放的。将开放治理定义为贡献者在所有层面上控制其项目的情况,那么只有当所有贡献者在项目的所有事务上都拥有平等的发言权时,才能在开源项目中实现民主。
贡献者是否完全是平等的同行,只能通过行动而不是言语来决定。本文避免了关于民主对于开源项目是否可取的伦理问题。在我个人看来,格林绝对正确:为了让开源继续取得成功,直接和间接贡献者需要重新开始合作。随着开源软件的吸引力越来越大,开发者自然会变得更有经验和更专业,而普通用户将变得不那么精通技术和计算机。随着开源用户群的增长,这种趋势可能会持续下去。正因为这是不可避免的,开源项目应该反而准备好更多地与用户联络,并普遍擅长将用户和程序员融入社区。
最初发布在 Creative Destruction & Me,根据 Creative Commons 重新发布。
5 条评论