开源软件曾被视为技术自由与协作精神的象征,但伴随着互联网服务的兴起和云计算巨头的崛起,开源领域的权力平衡正经历深刻变化。权力不再均匀分布,反而出现一种类似封建社会的层级结构,少数大型企业控制着关键资源,而广大贡献者和用户处于较为弱势的位置。在这样的局势下,Rug pulls(迅速变更授权或撤回支持)、项目分叉(forks)等现象愈发常见,反映出开源生态内部错综复杂的利益争夺与博弈机制。开源封建主义的隐喻形象地描绘了当下企业主导的项目与社区力量之间的权力拉锯。 从权力动态上看,云服务供应商凭借庞大资金和基础设施优势,占据了生态系统的上游位置,他们往往以开源项目为基础构建商业服务,但回馈社区的贡献有限,形成不对等的收益分配。中小型公司或独立开发者虽然是开源项目的主要推动力量,却往往对于项目的控制权缺乏话语权。
当某个公司拥有对项目的绝对控制力时,便可能随意改变项目的许可协议,甚至突然撤销原先承诺的免费开源政策,也就是所谓的Rug pull,这种做法会让依赖该项目的用户和开发者措手不及,陷入困境。 面对这样的局面,分叉成为社区自我保护和权力重塑的重要武器。通过分叉,用户和贡献者可以"叛逃"至另一个更加开放和独立的项目版本,实现对项目方向的重新掌控。然而,分叉也并非万能良方。它要求有足够的社区活力、资金和技术支持,否则分叉项目难以持续发展,甚至可能分散原有的贡献者资源,使得开源社区陷入碎片化困境。 近年来多起著名的Rug pull和分叉案例引发了广泛关注。
2021年,Elastic公司将Elasticsearch重新授权为非自由的服务器端公共许可证(SSPL),这一变更导致亚马逊云服务迅速分叉出OpenSearch项目,这一事件凸显出大型企业为了摆脱云服务竞争压力而采取的激进策略。OpenSearch起初没有强大的贡献者基础,主要由亚马逊主导,但后续逐渐吸引了一些外部贡献者。相较之下,Hashicorp旗下的Terraform项目在2023年采用非自由商业源代码许可后,Linux基金会支持的OpenTofu分叉迅速获得了多个新贡献者,展现出用户驱动的分叉社区活力。Redis在2024年采取类似 relicensing 后,外部贡献者则基本全部随分叉项目Valkey转移,新项目迅速构建起多公司参与的健全社区。 这些案例说明,授权协议的变更对项目生态和贡献者构成重大影响。诸如SSPL这类新兴许可,一方面声称保障原作者权益及限制云供应商"剥削"原始代码的行为,另一方面却因其严苛且含糊的规定,引发社区对其"开源"资格的广泛争议。
SSPL要求所有通过服务提供该软件的相关程序均需开源,包括监控、备份、存储及宿主软件等,这种过度扩展的要求被批评为不切实际,限制了软件的实际应用场景。尽管MongoDB公司力推SSPL,但此许可遭到包括开源倡导组织OSI、Debian以及自由软件基金会的拒绝,认为其违背了《开放源代码定义》中的非歧视性原则和许可自由原则。 对开发者和用户而言,项目是否使用开发者证书(DCO)代替贡献者许可协议(CLA)、项目治理机制是否公开透明、是否由多方协作管理,均为判别项目未来稳定与否的重要指标。相较于深度受制于单一企业的项目,底层由多个组织联合管理或托管于中立基金会的项目往往更能有效防范Rug pull风险。此外,丰富多元的贡献者基础也能提升项目韧性,分散因单一主体决策带来的风险。业界已有如CHAOSS等组织致力于量化项目健康度,帮助利益相关者基于数据做出更理性的选择。
虽然分叉能在一定程度上为社区提供反击手段,但频繁的分叉也带来了挑战。项目的生态碎片化使得用户和开发者面临选择困惑,不同版本间的兼容问题也成为负担。如何平衡企业商业利益与开源社区的自由协作,成为开源治理中亟需解决的问题。要打破当前开源封建主义的局势,关键在于推动更加公平的权力分配机制,加强多方治理合作,促进开放贡献文化的建立。 未来,随着云计算、大数据、人工智能等技术进一步发展,开源软件的重要性只会日益提升。我们期待,开源社区能在权力的博弈中成长壮大,借助技术创新和治理革新,推动行业生态走向更加健康、开放和可持续的方向。
用户和开发者应积极参与项目治理,增强自身话语权,同时审慎选用供应商和许可协议,才能更好地保护自身利益,共同维护开源的共享繁荣。正如业内专家所言,开源不是单纯的代码发布行为,而是社会技术生态系统的一部分,真正的自由与合作只有在合理的权力平衡下才能实现。 。