开源项目的速度和敏捷性受益于轻量级和灵活的治理。 这种高效治理能力的支撑是项目分叉的可能性。 这种潜力提供了一种纪律,鼓励参与者在面对意外问题、议程变更或参与者之间其他意见分歧时找到前进的道路。 由于所有开源许可都提供了所需的权限,因此分叉的潜力是开源项目中的一项优势。
相比之下,标准制定通常被限制在特定的论坛中。 换句话说,将标准开发转移到其他地方的能力通常不能作为一种约束治理的力量。 因此,标准开发论坛通常需要治理规则和程序来维护相互冲突的利益之间的公平性。
我所说的“分叉项目”是什么意思?
随着 Git 等分布式源代码控制工具的蓬勃发展,分叉已成为开发过程中司空见惯的一部分。 我所指的项目分叉远不止这些:如果有人复制项目的源代码并创建一个新的开发中心,并且不希望将其工作反馈到原始开发中心,这就是我所说的分叉项目。
分叉开源项目是可能的,因为所有开源许可都允许复制源代码,并允许接收副本的人进行修改和分发。
重要的是潜力
开源项目的参与者试图避免分叉项目,因为分叉会分割资源:曾经所有协作的人现在被分成两组。
然而,分叉的潜力是好的。 这种潜力提供了一种纪律,促使人们找到一种对每个人都有效的前进方式。 分叉的可能性——其他人离开并创建他们自己的单独项目——可能是一种非常强大的力量,以至于非正式治理可以非常有效。 与其制定旨在促进考虑所有利益的决策的具体规则,不如说其他人将他们的努力/资源转移到其他地方的可能性会激励参与者找到共同点。
需要明确的是,项目的实际分叉是不希望看到的(并且此类项目分叉并不常见)。 重要的不是分叉的创建。 相反,这种分叉的潜力会对参与者的行为产生约束作用——这种力量可以成为开源项目治理的基础,从而以比预期更少的形式化取得成功。
通过探索与行业标准开发的对比,可以理解开源项目分叉潜力的好处。
标准开发的治理有不同的约束
分叉通常在行业标准制定中是不可能的。 行业标准的采用部分取决于发布该标准的组织的信誉; 虽然一个长期不能保持信誉的标准组织可能会失败,但这种影响作用的时间太长,无法帮助单个标准制定活动。 在大多数情况下,将标准制定活动转移到不同的论坛并实现预期的行业影响力是不切实际的。 此外,标准活动的工作成果通常以限制此类移动的方式获得许可。
行业标准开发的治理非常重要。 例如,行业标准的开发过程应考虑相关利益(既要保证最终标准的可信度,又要为竞争者之间的典型合作提供反垄断的理由)。 因此,流程是标准组织所提供的重要组成部分,详细的治理规则很常见。 虽然这些规则看起来可能会拖慢速度,但它们的存在是有目的的。
轻量级治理的优势
开源软件开发比标准开发更快、更敏捷。 轻量级、适应性强的治理有助于提高速度。 无需设置复杂的治理规则,开源开发可以快速启动,并且可以根据需要在以后开发更详细的治理。 如果最初的共同利益未能使项目令人满意地进行下去,志同道合的参与者可以复制该项目并在其他地方继续他们的工作。
另一方面,标准的开发通常是一个较慢、考虑更周全的过程。 虽然人们抱怨标准开发的速度慢,但这种慢速源于需要遵循保护性流程规则。 如果标准的开发无法转移到不同的论坛,则需要小心确保所需的论坛在其运作中足够开放和平衡。
考虑独裁者的治理。 它可以非常有效。 但是,这种好处伴随着很高的滥用风险。 有许多重要的开源项目由独裁者成功领导。 这是如何运作的? 分叉的可能性限制了独裁者滥用的可能性。
这个重要的治理特性没有写下来。 开源项目治理文档没有列出分叉项目的权利。 这种可能性存在,因为项目的非治理属性允许工作转移并在其他地方继续:特别是,所有开源许可证都提供复制、修改和分发代码的权利。
分叉在开源项目治理中的作用是一个更普遍观察的例子:开源开发可以使用非常轻量级的法律文档高效且有弹性地进行,通常只是适用于代码的开源许可证。
评论已关闭。