Nadia Eghbal 在她关于我们数字基础设施状况的主要报告中,以及 Jonathan Lister 在他的回应中描述了我们的数字生态系统,都指出了开源软件中存在公地悲剧。虽然有些项目是可持续的,但许多项目仍然在与“搭便车问题”作斗争。正如 Nadia 所说
资源是免费提供的,每个人(无论是个人开发者还是大型软件公司)都在使用它们,因此没有人有动力回馈,认为其他人会介入。
心脏出血漏洞揭示了这种现象的一个极端案例:一个开发人员,拿着微薄的薪水,承担着超过一半网络的重担。
关于如何解决这个问题,Jonathan 建议我们借鉴生态系统管理,“这本身就是一个行业,拥有相关的专家,他们撰写书籍并在会议上发言。”我最近阅读了该领域的开创性著作之一,诺贝尔奖得主 Elinor Ostrom 的Governing the Commons,我想就它如何应用于开放组织和开源可持续性提出一些初步想法。
奥斯特罗姆论公地
奥斯特罗姆观察到,有些群体显然已经克服了公地悲剧,而另一些群体则没有。她给我们的第一个教训是关注制度,将其作为成功与失败的决定性因素。通过仔细审查案例研究,她提炼出原则,用于设计制度来管理她所谓的“公共池塘资源”或 CPRs
“公共池塘资源”一词指的是一种自然或人造的 [原文如此] 资源系统,该系统足够大,以至于将潜在受益人排除在获得其使用收益之外是代价高昂的(但并非不可能的)。
CPRs 包括渔场、地下水盆地和森林等。“攫取者”是那些从 CPR 中获取的人,而“提供者”和“生产者”则建立 CPR 并使其持续运行。
现在,开源软件在技术上不是 CPR,而是一种所谓的“公共物品”。两者是相似的:很难(通过设计!)阻止某人攫取开源软件,就像很难阻止人们在某个特定区域捕鱼一样。经济学家会将它们都称为“非排他性”。但是,虽然你和我不能同时捕到同一条鱼(当你捕到一条鱼时,我就不能捕到同一条鱼),但你和我可以同时使用相同的软件(当你下载并部署它时,我也可以这样做)。因此,从技术角度来看,经济学家认为 CPR 是“竞争性”的,而像开源软件这样的公共物品是“非竞争性”的。
这种区别意味着奥斯特罗姆描述的生态系统管理并不完全或完全适用于开源软件。然而,CPRs 和公共物品都遭受搭便车问题的困扰,奥斯特罗姆本人也说
一项关注个人如何避免搭便车、实现高度承诺、安排新制度以及监督 CPR 环境中一套规则的遵守情况的研究,应有助于理解个人如何在其他一些环境中解决这些关键问题。
开源社区中的搭便车行为导致个人工作过度和薪资过低,最终导致倦怠。这对人和项目都不利。这是我们需要解决的问题。奥斯特罗姆向我们展示了如何通过有条不紊的制度设计和分析方法来解决这个问题。管理开源软件项目的开放组织可以从她那里学到很多东西,同时认识到我们需要根据我们的情况调整她的建议。
22 条评论