跳到主要内容

开源领导人如何面对开源分裂?

· 阅读需 15 分钟

开源软件经过几十年的发展已经非常繁荣,Github上的开发者数量已经过亿,但是分裂现象也越来越严重,大量的优质资源用在重复开发上,另一方面分裂又确实促进创新。我们要开源反对分裂吗?

本文是我参与翻译《助力全球协作——开源代码的领导者如何面对分裂的挑战》的感想。内容是我根据本书整理的书中的重要观点,可能跟书中的观点有细微的出入。对本书内容感兴趣的朋友可以阅读原文。译文地址 https://openevangel.com/yidaoshi/enable-global-collaboration/content,你也可以下载中文版的PDF文件。https://training.linuxfoundation.cn/downloads/49d76f9cda7f9c2e8ab73a5ea7d760bf

开源这种去中心的协助方式经过几十年的发展已经充分证明了这种协作方式的高效。现如今大部分软件,绝大部分关键基础软件都是开源的,几乎没有不使用开源的公司。今天(2023年5月13日)查看 Github 上数据,我发现开发人员和仓库数量又增加了不是,目前已经有超过1亿个开发者和3.3个代码仓库,以及超过4百万个组织。

Github数据

但是,这3.3亿仓库并不都是完全不同的。很多公司、个人(也包括我自己)在需要一个新项目时,并不是找一个适合的项目,加入到这个项目中,而且选择自己重新建一个新项目,或者从已有的仓库 fork 一个,然后自己在这个基础上开发一个新的项目出来,随着时间的推移fork的项目与原项目差别越来越大,分裂也就形成了。

我们译道师团队刚刚翻译完成的《助力全球协作——开源代码的领导者如何面对分裂的挑战》(Enabling Global Collaboration - How Open Source Leaders Are Confronting the Challenges of Fragmentation)所讨论的正式开源分裂的问题。

在第一次看到这本书标题 时,我觉得Fragmentation是指时间碎片化,因为这个问题经常困扰我。跟很多参与到开源社区的志愿者一样,我是利用自己的业务时间做开源的,所以时间很碎片化、做的事情也很碎片化。但是,当我仔细读了它的内容后,我觉得用一个更重的词来翻译它更加适合——分裂。

这本书采用访谈开源领导人的方式对开源分裂的现象做了分析和探讨,并且总结了他们“解决分裂”的观点。具体来说,从促进创新和协助、促进全球包容、技术民族主义和开源治理等几个大的方面深入讨论了开源分裂的原因与影响,分享了开源领导人面对开源分裂的观点和建议。

开源创新与协助

开源强调可以自由地查看、修改和分发软件代码,这种高度的自由赋予任何人都可以根据自由的意愿修改代码,这也就决定了分裂是不可避免的,或者说分裂就是开源的一个无法消除的特性。正如宾夕法尼亚大学法学院的 Christopher Yoo 教授所说“无限的灵活性要求在多个项目中分散精力和重复工作,这样会给开源社区带来成本。分裂也损害了设备制造商和应用程序开发人员,因为它限制了互操作性,并要求他们为现在的独立平台调整其产品。”

开源是一种去中心化的协助方式,任何人都可以自由方便的参与到开源社区里来。ICANN 前 CEO、美国国家网络安全中心主任 Rod Beckstrom 说"去中心化的一个后果是重叠和冗余。如果没有中央控制,就无法避免重叠。你可以发展或推动一个去中心化的系统,但没有办法控制它。" Mozilla 基金会主席 Mark Surman也说“召集和协作的自由意味着你永远不会有完美的秩序"。

但是,这也是开源的魅力所在。Eclipse 基金会的执行董事 Mike Milinkovich 说"分裂是创新的引擎," Sony 移动通信公司的高级软件工程师 Tim Bird 也说”在优秀的复刻库中,你可以利用一个代码库,解决一个社区以前没有解决的问题“。

促进全球包容

开源的成功吸引了全世界,很多国家和地区都在积极参与开源。例如我国工信部投资一系列软件园区、实施鼓励政策。

但并不是所有人参与开源都是一帆风顺的,各种各样的歧视仍然存在。Mozilla 基金会的 Mark Surman 表示:“开源世界的一些地方仍然感觉像是老派的‘兄弟’文化。”。“在一个思想和经验多样性是关键资产的世界,这是一个大问题。”“那些感觉不受欢迎的人会以其他方式构建技术。”。“不幸的是,这可能意味着最优秀的人才将建立专有技术,因为他们没有时间和资源免费贡献。”

由于文化背景不同,参与开源社区的方式也是不同的。Linux 基金会日本运营副总裁 Noriaki Fukuyasu就说“从文化上讲,人们(日本人)不愿意在公共论坛、在线聊天和邮件列表中炫耀自己的想法。”,另外语言也是一个普遍性的障碍。

因此,开源社区应该想办法促进多样性和包容性政策。

技术民族主义

新加坡国立大学(National University of Singapore)的 Alex Capri 将技术民族主义定义为“将一个国家的技术能力和事业与国家安全、经济繁荣和社会稳定问题联系起来的重商主义行为”。技术民族主义标志着世界各国开始限制关键创新在国界之外的转移,相信这样做将刺激国家经济增长,并培育国内竞争优势。

相信大家对技术民族主义造成的影响已经深有感触。美国对中国限制了很多关键技术,中国相应地也有很多技术国有化的行动。乐观的人认为这是短期的、暂时的,但也有人认为技术民族主义正在从根本上改变全球创新网络的运作方式。

地缘政治影响也是广泛的。“地缘政治冲突和紧张局势正在围绕国家利益分裂开源社区。”

针对这种状况,Linux基金会的首席技术官 Chris Aniszczyk 建议“ OSPO 可以通过培养跨越国界和政治领域的个人和工作关系,帮助公司保持技术民族主义上的中立立场并弥合政治分歧。越来越多地,这个价值观延伸到基金会和非营利组织的工作,因为这些领域成为开源中重要的中立空间。”

开源治理

加泰罗尼亚开放大学(the Universitat Oberta de Catalunya)的Javier Cánovas最近领导了一项关于开源基金会的实证研究,并在众多开源项目中发现了超过100个活跃的实体。“一个OSS项目的存续在很大程度上取决于它是否有能力留下开发者、吸收新的开发人员(即新人),以及创建一个帮助其被采纳和使用的用户社区。随着这些项目的发展,开发者倾向于社区的组织和构建。尽管如此,许多公司仍然缺乏正式的治理模型来构建和管理其(可能很大的)外延社区(以及其中的挑战)。对执行各种组织决策(包括法律和经济方面)的支持是这个阶段所有项目的一大焦点。”

开源基金会在开源项目合作上可以发挥很重要的作用,例如构建可以支持开发的工具和流程,主持结构化的治理流程以指导开源项目的发展,处理法律事务(特别是关于知识产权许可、商标和专利的问题),以及与决策者和监管者进行沟通。许多基金会还在教育、培训和营销方面发挥作用。

但是 Cánovas 对开源基金会数量的激增也表示担心。他担心数量的激增所创造的红海最终有可能阻碍全球标准的制定、安全漏洞的解决和促进采用开源解决方案的努力。他的担心也得到了其他开源领导人的认同。例如来自SUSE的Alan Clarke表示““基金会通过创建项目来提高吸引力,并希望借此增加会员数量和收益。”“结果可能是同一问题出现多种不同的解决方法,你会得到分裂的解决方案。因此,作为供应商,我们必须确定客户所关心的是哪些基金会和项目。哪些项目将满足真正的市场需求,哪些项目将获得成功?这是一件很耗时的事情。”

但是,开源领导人对区域性的基金会都持认可态度。Eclipse基金会的Mike Milinkovich和 Linux 基金会的Zemlin 都认为,人们可以把区域性协会的创立看作是全球合作成功的标志,而不是失败的标志。

虽然开源软件被使用的越来越广泛,很多重要的基础设施也都是开源的,但是开源基础设施的维护并不能让人满意。开源的自由特性决定了很多项目维护困难而且缺乏中心化的权威机构进行维护,很多关键的开源项目靠小团体或者个人自愿维护。因此全面了解开源项目的安全和健康状况是十分困难的。开源供应链、开源安全的问题是全球性的,解决这些问题也需求全球参与,但是开源基金会之间的合作还非常欠缺,而且基金会对科技政策的影响力或者判断力十分有限。

针对开源分裂的问题,本书总结了受访的开源领导人3个方面的观点。

  1. 强调通过加强项目之间的协调、加强基金会间的合作,帮助识别成熟稳健的代码库,来集中社区的努力,而不是解决分裂。

  2. 通过遵循透明和安全的开发协议,建立社区信誉框架来抵制技术民族主义。Linux 基金会的 Zemlin说"你来自哪里,以及你为谁工作并不重要,知道你的工作是值得信任和高质量的才是重要的。所以我们需要针对代码库的声誉框架。"

  3. 社区应该创造条件吸收不同的贡献者。