基金会在开源生态培育中发挥的作用?

基金会在开源生态培育中发挥的作用?

作者:赵海玲,邮箱:zhaohailing@opanatom.com
郭晧,邮箱:guohao@opanatom.com

        1985年,Richard Stallman创立了自由软件基金会(Free Software Foundation,FSF),此举标志着自由软件运动有了一个正式的组织支撑。作为致力于推广自由软件理念、维护和开发自由软件,以及保护用户软件自由权益的非营利组织,FSF不仅为自由软件项目提供了法律、财政和组织层面的全方位支持,还制定并推广了通用公共许可证(GPL)。GPL基于Copyleft原则,确保了自由软件的衍生作品能继续沿袭原作的自由属性,从而在法律层面上巩固了自由软件的传承与扩散。

        FSF的成立无疑成为了开源运动早期的关键节点,它为后续开源软件组织的蓬勃发展奠定了坚实的制度与理念基础。随着开源项目的数量与规模持续扩大,一系列新的挑战开始显现。项目间的协作、知识产权管理、资金筹集、社区治理等问题日益复杂,已超出单个开发者或小型团队的应对能力。此时,成立一个中立、专业且具备合法实体身份的组织显得尤为重要,它能够为开源项目提供必要的支持服务,如签署合同、接受捐赠、管理知识产权,以及代表项目与企业、政府、其他社区进行沟通协调。

        正是在这样的背景下,专门为开源项目服务的非营利组织——开源软件基金会应运而生。起初,基金会主要聚焦于为社区提供法律实体身份、有效管理财务资源与知识产权,以满足开源项目的基本运营需求。随着其角色的深化,基金会开始在维护共享资源开发、协调市场内潜在竞争者合作等方面发挥显著价值。如今,开源软件基金会的角色进一步拓展,开始承担起开源生态系统“宏观”及“系统性”的运营与维护职责,致力于促进开源生态的健康、有序、协同进化。

        当前,全球最顶级、最活跃的开源项目,大都选择依托于基金会进行托管。这不仅是对基金会专业服务与中立地位的认可,也充分体现了基金会对于塑造和推动开源生态繁荣发展的核心作用。从FSF的创立到开源软件基金会的兴起与壮大,清晰地看到,基金会在开源运动的历史进程中扮演着不可或缺的角色,它们通过提供关键性的支持服务、构建协作框架、维护生态秩序,持续赋能开源社区,推动开源软件不断向前发展。

一、为项目提供专业孵化服务,护航项目稳健发展

        Apache软件基金会成立于1999年,支持Apache HTTP Server项目发展;开源发展实验室(OSDL)成立于2000年,支持Linux系统发展,2007年开源发展实验室与自由标准组织合并,成立Linux基金会;Eclipse基金会成立于2004年,支持Eclipse IDE项目发展。虽然,各大基金会在发展目标与路径上各有侧重,但共同致力于管理知识产权、提供明确的治理结构及支持社区协作,护航项目稳健发展。

        基金会具有完整的服务体系,满足项目及社区在全生命周期的需求。通常,基金会为项目提供如下较为专业的服务:

        (1)提供包括财务管理、现金管理、会员管理及项目沟通等方面的支持。例如,各基金会对于成员构成有着不同要求。Apache基金会强调个人贡献,接受企业项目捐赠,但要求开发者以个人身份加入项目贡献。Linux基金会侧重企业贡献和会员支持,以企业捐赠的项目为主,个人贡献为辅。

        (2)提供丰富的技术服务,包括但不限于持续集成和持续交付、文档管理、社区支持、提供协作工具、提供代码托管平台、安全审查等。例如,Linux基金会提供包括源代码管理、代码审查、问题追踪、通信基础设施等基础设施服务。

        (3)提供法律方面的支持,确保开源项目的合规性,处理知识产权等相关问题。例如,云原生计算基金会(CNCF)为不同阶段的开源项目提供定制化的法律支持,包括合规性检查和法律审查等,确保项目合规并健康发展。

        (4)提供项目运营服务体系。例如,Apache软件基金会的孵化器职责包括:一是筛选有关创建新项目或子项目的意向书;二是帮助项目创建其所需的基础设施;三是监督和指导孵化项目社区;四是评估孵化项目的成熟度,将其提升为正式项目/子项目,或者在失败时停止孵化[11]。

        (5)提供专业技术指导。基金会通过设立技术指导与协调组织,为开源项目技术方向和发展质量把关。例如,Linux基金会设有技术顾问委员会,其成员担任项目导师,为项目提供技术指导与支持;Apache软件基金会设有项目管理委员会(PMC),监督和指导项目的技术和管理方向;云原生计算基金会设有技术监督委员会(TOC),专注于技术战略、项目间协调及技术发展等;开放原子开源基金会设有技术监督委员会(TOC),指导项目发展。

        上述职能共同构建出开源基金会的综合支持体系,为参与者提供全面、可靠的支持。企业能够围绕开源项目构建可持续的发展模式,有效回馈社区,确保项目的长期存在。各大基金会2023年年报显示:Linux基金会有1000多个开源项目,1709名成员,6.5万多积极贡献者,17亿行代码[12]。Apache软件基金会拥有超320个活跃项目,294个顶级项目,746个个人会员,超8400名贡献者,2.99亿行代码[13];云原生计算基金会拥有173个项目,827个成员组织,超220,000名贡献者的支持[14];开放原子开源基金会拥有49个项目,46个成员组织。

二、通过给与项目第三方中立身份,避免商业纷争引起开源项目孵化的重大变故

        基金会具备独特的中立属性,消除各方因“被单一供应商锁定”而产生的忧虑,增强互信,群策群力地推动技术发展及创新。正如开源项目组织(Open Source Initiative)委员会往届主席Allison Randal所说:“彼此竞争的公司通常在合作上面临巨大障碍,能够进入一家中立、不竞争的基金会,大有用处。”基金会持有项目,旨在管理项目知识产权和促进社区合作,采用更为开放和透明的方式来运行全社会共有项目,而非追求商业利益。

        其一,企业通过资助、捐赠开源项目或分配员工参与开源项目,有效推动跨企业合作及技术创新,解决“共有难题”。

        Apache HTTP项目最初是由伊利诺伊大学厄巴纳-香槟分校的国家超级电脑应用中心(NCSA)开发的HTTP服务器。1995年,服务器的开发和维护工作被转交给多个开发者组成的团队Apache小组。1999年,为了确保项目的持续发展和防止技术被少数势力把持,在Apache小组的基础上成立了Apache软件基金会(ASF)。最初,ASF只负责管理“Apache Web”服务器项目。随着Web应用需求的不断扩大,ASF逐渐增加了许多与Web技术相关的开源软件项目。这使得Apache不仅是代表一个Web服务器,更广泛地代表了ASF管理的众多开源软件项目。

        在ASF的管理下,Apache项目吸引了来自多家企业和个人贡献者的积极参与。IBM、微软、Google等公司,通过资助、捐赠或者直接分配员工参与开源项目,这些企业不仅为Apache项目的持续发展提供了必要的资金与人力资源支持,还在技术贡献、市场推广、标准制定等多个层面发挥了积极作用。通过开源协作模式,共同推进了Apache服务器的功能创新和性能优化,解决了“Web服务器”这一核心基础设施的共性问题,为全球互联网用户创造了巨大的价值,最终受益的不仅仅是整个互联网行业,而且还有全球的网络用户。

        其二,由单个公司主导的开源项目,可能存在因公司商业策略改变使得项目的持续性和稳定性面临风险的状况。例如,MySQL在被Sun Microsystems和Oracle相继收购后,为平衡商业利益与开源承诺,采取双重许可模式。由于对Oracle可能会限制MySQL的开放性担忧,MySQL的创始人Michael Widenius创建了MariaDB,作为一个分支来保持项目的开源性质。类似地,Elastic对Elasticsearch和Kibana许可证的修改引发争议,促使AWS推出“Open Distro for Elasticsearch”以延续原开源版本。MySQL和Elasticsearch这两个案例充分说明,当由单个公司主导的开源项目,原先的开源承诺可能因商业利益的驱使而发生改变,这往往会引发社区内部矛盾和分裂。相比之下,基金会通过赋予项目独立所有权、透明许可证、社区驱动模式、专业支持及中立调解,有效防范上述风险,保障项目在开放、透明、社区主导环境中稳健发展。

三、形成开源项目集群,更快推动项目生态系统发展及演进

        其一,实现高效的资源整合。拥有伞型组织结构的开源软件基金会,可以有效地整合不同项目和社区的资源。这种结构允许共享基础设施、知识和专业技能,减少重复工作,提高效率。这种伞型架构使基金会能够高效管理多个项目,并充分发挥项目社区的自主性。同时保证了基金会层面的统一治理,避免了项目过度分散。总体来看,基金会是一种将集中与分权平衡的有效组织架构模式。Linux基金会拥有超过1000家企业会员,旗下有多个知名的开源项目,如Linux内核、Kubernetes、Hyperledger等。Linux基金会作为伞型组织,为包括CNCF在内的多个子基金会和独立项目提供行政、财务、法务、公关等标准化支持服务。这种架构使得CNCF能够专注于云原生领域的开源项目管理和社区建设,而无需分心处理非技术层面的繁琐事务。Kubernetes在CNCF的推动下,已成为容器编排和微服务管理的事实标准,极大地促进了Kubernetes的快速发展和行业接受度。

        其二,形成广泛的生态聚合。通过基金会伞型组织架构,不同的开源项目能够在一个统一的管理框架下进行协作和资源整合。例如,Apache软件基金会通过聚合众多与大数据相关的开源项目,如Hadoop、Spark、Kafka等,形成了一个强大的大数据生态系统。这些项目在数据处理、存储、分析和可视化等方面各有专长,通过相互协作和互补,共同构成了一个完整的大数据解决方案。这种广泛的生态聚合吸引了大量的开发者、企业和研究机构参与其中,推动了大数据技术的快速发展和应用普及。又例如,Linux基金会通过云原生计算基金会(CNCF)等子机构,成功地将众多云原生相关的开源项目聚合在一起,如Kubernetes、Prometheus、Envoy等。这些项目涵盖了容器编排、服务网格、监控和日志记录等云原生技术的各个方面。通过这种生态聚合,Linux基金会为云原生技术的发展提供了一个统一的平台和标准,促进了不同项目之间的互操作性和协同发展。同时,这种广泛的生态聚合也吸引了更多的开发者和企业加入到云原生生态系统中来,共同推动云原生技术的创新和应用。

Goto Top