开源软件商业化的重要驱动要素:开源社区、开源产品和精益治理

本文结合开源软件商业化的发展历程、全球和中国市场部分商业化成功的开源项⽬案例,我们从开源社区、开源产品和贯穿项⽬始终的精益治理三个因素展开。

2022中国开源年度报告-头图
出处:开源社

开源项⽬的参与者范围⼴,体系和内容复杂,从源代码开发到商业化成功的驱动要素是⼀个值得探讨的问题。开源项⽬创业者需要紧扣商业化和市场需求,并充分挖掘开源带来的价值。

本文结合开源软件商业化的发展历程、全球和中国市场部分商业化成功的开源项⽬案例,我们提炼出了⽬前为⽌发现的开源软件商业化的重要驱动要素,从开源社区、开源产品和贯穿项⽬始终的精益治理三个因素展开。

一、开源社区建设是商业化的基础壁垒

1.1 明确开源社区对企业的重要意义

开源社区建设是开源⽣态构筑中的基础与核⼼,社区建设从代码、产品、⽤⼾⽅⾯⽀持企业的商业化⽬标。开源项⽬的⽣命⼒在于⼴泛地吸纳使⽤者、开发者、个⼈和企业进⼊⽣态,并通过使⽤和回馈驱动社区繁荣,带动产品迭代的⻜轮。因此开源并⾮是拥有成熟产品后简单地开放源代码。即便在基础产品仍不完善的情况下,社区⽣态也能够带动其快速优化,使其更贴近真实和通⽤的需求,实现从 0 到 1 的产品化落地;对于已经进⼊商业化阶段的产品,开源能够集社区之⼒,推进产品在实际场景中的快速迭代,催化从 1 到 10 的进程。我们关注到,多元开放的社区⽂化、丰富的社区内容、具有传播性的社区活动能够在社区持续积极的发展中起到正向作⽤。

代码是能够被简单复⽤的,但社区⽣态⽆法被复制,真正为开源赋予活⼒的是社区带来的产品迭代和⽤⼾增⻓。

开源社区⽣态

1.2 构筑多元开放的社区⽣态

开源社区的⽣命⼒来源于多元开放的社区⽣态。社区⽣态中包含运营者、贡献者、使⽤者等多样化的⻆⾊。运营者负责社区管理维护,贡献者参与提供内容,⽤⼾使⽤代码和产品,有时参与讨论。其中,贡献者可以是企业员⼯、学⽣、⾼校和研究机构⼈员,以及出于商业⽬的加⼊的企业组织。开源贡献将不同背景同⾏的思想嵌⼊到产品中,减少参与产品研发的⼈才和成本有限带来的障碍。

贡献者在底层代码基础上延伸不同场景,开发上层应⽤,是产品完善和商业化场景搭建的内⽣动⼒。以openEuler 社区为例,基于 EulerOS 底座,⽣⻓出内核、云原⽣、应⽤、中间件等相关的 SIG 组,也充分吸纳外部企业参与功能模块和应⽤的拓展。如奇安信深度参与 security 等 SIG 组,助推操作系统⽹络安全能⼒提升; SDS ⼚商星⾠天合参与 Ceph SIG 组的搭建和贡献,助⼒ openEuler 发⾏版本的 Ceph 集成和分布式存储场景适配;航天⽹信加⼊社区并在多个 SIG 参与贡献,推动 openEuler 操作系统与其“航天智云”系列产品适配,进⼊智能航天场景。

企业贡献者还能够帮助开源软件适配上下游的硬件、云⼚商等。腾讯牵头成⽴的开源操作系统社区OpenCloudOS 即建⽴在这样的供应链协同之上,⾸批创始单位包括⻜腾、⻰芯、上海兆芯等芯⽚⼚商,数据中⼼设备和软件提供商浪潮信息等产业⽣态中的头部参与者。操作系统是连接上下游⽣态的基础软件,企业的加⼊使得软件能够更低成本地融⼊产业链,加强上下游与社区软件产品的绑定。在算⼒、存储资源多样化的当下,开源社区能够突破开发者的⾏业知识体系局限,低成本地助⼒产品商业化实现。

使⽤者也是社区的重要参与者。多元开放的社区⽣态应该降低⽤⼾的⻔槛,使⽤⼾更多地参与使⽤、提问、交互。使⽤者为开源项⽬引流,是社区和产品影响⼒建设的重要部分。例如 2022 年 8 ⽉开源的图像⽣成模型Stable Diffusion,截⾄10⽉,GitHub Fork 次数达4.8k,衍⽣出很多基于该模型的产品,⽬前 Stable Diffusion 各渠道累计⽇活⽤⼾已超过1000万。

使⽤者也可以成⻓为潜在的贡献者,InfoQ 的调研表明,国内占⽐最⾼的开源社区参与⽅式从克隆代码、评论Issue 转变为参加开源兴趣⼩组、提交 PR,⽤⼾从开源消费者向开源⽣产者转变。

多元开放社区中的参与者

1.3 丰富社区内容建设

社区内容包括⽂档、视频、课程、电⼦书等形式,内容产出促进参与者共享社区成果,参与共建。

⽂档是开源社区的基础内容,有赖于社区内的众多开发者共同建设。⽂档集成了历史的贡献内容,并使得其他参与者能够在此基础上使⽤和开发。同时,社区的运营者也需要及时更新和维护⽂档,使开源内容⽣产的⾼效性能够得到充分发挥。

相⽐于开发者,使⽤者开发能⼒较弱,但使⽤者的问题和有效的讨论也是开源内容的重要组成部分。开放的交互有助于收集⽤⼾反馈,了解需求。社区官⽅应该在论坛中及时进⾏的问题解答,构筑多⽅参与讨论的⽣态,讨论结果也可以服务于⽂档的同步和更新,进⽽推动产品的优化。

随着⽤⼾⽣态的丰富,对内容形式也产⽣了多样化的需求。⽼⽤⼾和熟练的开发者需要简单易⽤的API,⽽⾯对新⽤⼾,社区也提供具有引导作⽤的教程、新⼿指南类内容。

多媒体形式的发展推动了内容建设的形式创新。以 PingCAP 的内容矩阵建设为例,除源代码解析系列博客和开源社区参与指南外,公司还发布了关于 TiDB 技术的电⼦书《TiDB in Action》,该书由社区成员参与编写,充分发挥了开源社区的协同共创优势。PingCAP 还开设了Paper Reading B站线上直播。对于潜在的⽤⼾,PingCAP 提供 PingCAP University 在线视频课程及认证,帮助企业和个⼈熟悉分布式关系型数据库系统,同时了解 TiDB 产品的全貌,在海外也相应推出英⽂版的 TiDB Academy 课程。开源社区可利⽤视频、直播、社交平台等拓展内容⽣态,辅助社区影响⼒建设和市场教育。

PingCAP 社区内容矩阵

1.4 活动促进传播和增⻓

社区活动完善影响⼒建设,促进社区参与者的增⻓。开源社区具有较强的社交性,很⼤程度上依赖技术和社区的传播。活动体系包括线上竞赛、线下 meetup、⼤型峰会等多种形式,活动中,开源社区也应当利⽤好企业⽤⼾、布道者和 KOL 的作⽤,开展对开源技术和理念的宣传,使项⽬深⼊⽤⼾⼼智,提升社区活跃度和⽤⼾粘性。

国内外的开源企业均提供了丰富的活动案例。Databricks 在其专注的AI、⼤数据赛道举办了 Data+AI 竞赛、会议、讨论等活动,在应⽤较多的⾦融相关数据服务领域举办多次 Meetup 讨论活动和实践⼯作坊。国产开源项⽬也⾮常重视活动的开展,如 PingCAP 的活动矩阵包括⾼性能、⾼难度项⽬竞赛 Hackathon、捉“⾍”竞赛,以及基础设施领域的分享活动 Infra Meetup、年度 TiDB 技术⼤会 DevCon 等。Zilliz 专注于⾮结构化数据处理和分析,于2022年举办⾸届⾮结构化数据峰会,其⽇常的 Arch Meetup 活动也已持续上百期。云启资本也积极举办开源相关活动,联合⽩⽟兰开源、华为 MindSpore、开源社等组织,以 BBQ 的形式邀请开源软件领域的从业⼈员共同参与交流讨论。

线上活动覆盖⽤⼾更⼴,成本相对更低,⽽线下活动聚集专家和⾏业参与者的交流和碰撞也同样具有重要意义。构建丰富的社区活动⼀⽅⾯起到产品和社区推⼴的作⽤,另⼀⽅⾯激发社区参与者针对特定的问题集思⼴益,对产品的性能和实⽤性提升带来帮助。

丰富的社区活动类型

二、构筑商业化开源产品竞争⼒

2.1 赛道和创新性决定产品市场空间

开源项⽬要在初期获得⽤⼾认同,就要明确回答,该项⽬能够⽤于解决什么重要问题,以及基于⾃⾝技术沉 淀,如何从赛道中脱颖⽽出,即如何在解决问题的能⼒和⽅式上作出创新。创新性最能够体现技术和时间壁垒。开源项⽬是时代的产物,服务于时代产⽣的新需求。20世纪90年代,开始进⼊信息化时代, BeOS、Linux 等操作系统的开源在操作系统和整个开源⽣态的历史上都具有重要意义。21世纪初,随着互联⽹的普及和产⽣数据量的增⻓,⼤数据时代开始,⼤数据开源系统如 Hadoop 开始被⼤量应⽤,后续衍⽣出了 Cloudera、Hortonworks 等基于 Hadoop 的商业化公司;此后数据灵活、⾼效处理的需求越发凸显,基于消息中间件Kafka 的 Confluent、基于计算引擎 Spark 的 Databricks 等也诞⽣于⽣态中。随着云的发展,Docker、Kubernetes 等开源项⽬应运⽽⽣,开启了云原⽣时代。近年来,AI的快速发展催⽣了开源平台 Hugging Face、AIGC 模型 Stable Diffusion 等,在领域内受到⼴泛关注。

需求和技术的迭代为开源带来了市场空间,相应的开源项⽬和商业化公司往往也成为⼀个时代的重要符号。成功商业化的开源项⽬在领域发展早期抓住机遇,推动技术的⾰新和应⽤。相关领域的从业⼈员当了解项⽬并且其需求从中得到切实解决时,才会产⽣使⽤代码和贡献社区的意愿,为产品带来⽤戶增⻓。

时代演进中的重要开源项⽬

完整易⽤的社区版产品脱胎于开源代码和社区,也应当服务于更⼴泛的需求,让开发能⼒较弱,但同样具有需求的⽤⼾、企业、组织产⽣使⽤意愿,Project-community fit 到 Product-market fit 是开源软件商业化的第⼀步。

2.2 商业化产品切中付费痛点

好的开源项⽬实现商业化变现需要慎重考量付费场景。开源社区内容⼤⽽全,但距离商业化的核⼼痛点仍有⼀定的差距。对于企业客⼾来说,可能需要更加快速易⽤的软件和服务,需要管理者将社区参与者贡献的代码和补丁集成为商业化产品。付费产品的价值可以在于更完善地针对⽤⼾场景的功能、企业级的合规性和安全性、易⽤的 SaaS 服务等,需要根据客⼾画像和场景打磨产品。定位国内市场或全球化、不同⾏业、不同规模客⼾、公有云或私有云,都有不同的要求。为好的开源项⽬赋予⾜够的付费吸引⼒,提升 Value-market fit,才能打造适合商业化的开源产品。

在去年的报告中曾探讨过开源商业模式,基于⽤⼾的付费痛点,开源项⽬可以实现商业化的⽅式包括⽀持、托管、限制性许可、开放核⼼、混合许可五种。企业需要抓住⽤⼾的付费意愿所在,提供对应的产品和服务。

对于开放核⼼类产品,在保证社区开源版产品有⾜够完整的功能模块基础上,需要针对付费⽤⼾的需求打磨付费版产品功能。例如 Gitlab 企业版针对⽤⼾在百⼈以上的团队集成了 LDAP 协议、⽇志审核等功能,为企业级⽤⼾定制访问权限控制、⼯作流管理等⽅⾯的功能适配。Confluent 商业版⾯向企业⽤⼾,提供了负载均衡、跨中⼼数据备份、安全防护等⾼级特性,在性能、安全等⽅⾯打造付费差异。对于托管型的商业模型,如Databricks、Acquia 等,SaaS 服务更加轻量化,减少了企业私有化部署的早期⼤量投⼊,灵活可扩展,也顺应了⽤⼾的上云趋势,同时在闭源的云化版本中也提供⾼级功能集成。

2.3 快速迭代以保持竞争⼒

软件开发企业需要保持敏捷性,对市场需求做出快速反应,并进⾏产品迭代。传统闭源产品的⽣命周期从导⼊、成⻓、成熟,到最后衰退,采⽤者在后期会减少,产品逐渐被淘汰。但开源的增⻓模式恰恰可以加速迭代,引⼊产品迭代和⽤⼾增⻓的良性循环,始终保持产品在市场上的⽣命⼒。

产品增⻓曲线

开源社区天然在敏捷开发和快速迭代⽅⾯具有优势,开发者即是产品的使⽤者,且数量众多,背景多元,可以在⼆次开发需求产⽣时即作出反应,缩短了企业等待接收市场充分反馈⽽进⾏更新的滞后性,并利⽤ UGC 的形式快速产出有针对性的解决⽅案,融⼊产品更新。以2022 年 8 ⽉才开源的图像⽣成模型 Stable Diffusion 为例, 9⽉份通过社区贡献获得了 M1 Mac 本地运⾏版,10 ⽉份发⾏两个⽉就实现了 50% 的提速,并出现了融⼊Photoshop,Figma 等闭源软件的社区贡献的⽤例在场景复杂度不断提升的市场中,产品需要不断迭代才能跟上上下游软硬件的演进,服务于⽤⼾需求的开发敏捷性是开源项⽬特有的壁垒。

三、精益治理实现降本增效

3.1 开源协议是开源治理的前提

开源协议规定了开源代码的访问和使⽤规则。随着开源软件的发展,出现了多种类型的开源许可证,其中包括 Apache、BSD、MIT 等宽松协议,允许使⽤、修改、重新发布和衍⽣作品的专有化,也包括 GPL、LGPL 等严格协议,与宽松协议的重要区别在于强调开源的传播性,要求衍⽣品在同⼀许可证下开源。

部分开源协议类型及规则
Source:InfoQ报告

近年出现的开源企业和云⼚商的⽭盾使得开源项⽬的商业化公司主导了开源项⽬的协议变更(包括MongoDB AGPLv3 变更为 SSPL,Elastic 由 APLv2 变更为 SSPL 与 Elastic License 双协议),作为开源企业应对商业化空间被挤占,云⼚商使⽤开源但不回馈社区⾏为的应对措施。另⼀⽅⾯,从⾏业整体趋势来看,宽松协议在开源软件领域中的占⽐仍在逐年提升,2021 年占开源项⽬的 78%,更多项⽬选择⾼度⾃由的开源⽣态。

协议在⼀定程度上提升社区的繁荣度,从⽽充分发挥开源的优势和形成产品的壁垒。开源许可证的转变会带来额外的成本,在 Elastic 与 AWS ⻓达6年的纠纷中,在法律和开源⽣态相关的舆论⽅⾯,都需要投⼊更多资源。

不同类型的许可证为保护开源开发者的权益,维护健康的开源⽣态⽽设计。随着AI和深度学习的发展,AI⼯具及其⽣产的内容的伦理道德问题也受到关注,开源模型 StableDiffusion 采⽤的 Creative ML OpenRAIL-M 协议即是为开源 AI 模型设计的许可证类型。该协议允许开放的访问、使⽤和分发,但禁⽌在违反相关法律和道德的情况下进⾏滥⽤,强调了负责任的使⽤,减少对社会的危害,保障开源项⽬的正常应⽤。

因此,开源项⽬在何种阶段选择何种开源协议,制定何种访问规则以规避潜在的⻛险,是商业化⾸要考虑的问题。

3.2 社区治理是不断壮⼤的社区⽣态的基⽯

在建⽴了项⽬和开源社区之后,社区治理⾮常重要。运营者需要确定社区的组织架构、流程规范,并对社区的事务和内容进⾏维护和管理。

Linux 基⾦会和哈佛⼤学创新科学实验室调研发现,很多⼴泛使⽤的开源软件是由少数贡献者开发和维护的, 94% 的项⽬由 10 名以下开发者负责 90% 以上的代码。还有⼤量的项⽬出现⻓时间未更新的情况。

在开源社区不断壮⼤,体系趋于复杂的过程中,治理显得更为重要。GitLab 在 2022 年就曾尝试为了缩减成本⽽⾃动删除免费⽤⼾账号中不活跃的项⽬,但受到开发者的反对,最后只能将这些项⽬转变为对所有⼈可⻅的对象存储库。另外,当开发者为社区做出⼀定的贡献,却没有得到正向反馈时,也可能会出现停⽌维护,甚⾄“删库跑路”等现象,造成贡献内容的损失,不利于开源⽣态。因此,社区治理对于社区协作的良性发展⾮常有必要。

社区中包含不同层级的⽤⼾、贡献者和管理者,运营者需要明确不同⻆⾊的参与者应当⾏使的责任和权限,以及不同层级之间⼈员如何流动。在协作过程中,社区还需要明确⼀系列流程规范:代码的⻛格、注释、提交流程的规范统⼀能够⽅便不同参与者之间的交互,审查测试、问题处理等流程保障社区稳定安全的内容产出。对于社区内容,运营者需要进⾏⽇常的管理和维护,对错误、没有遵循流程规范的事务和内容进⾏处理,建⽴⾃动化的维护机制,⽽对于有价值的内容,也需要及时整理,与社区制定的⾥程碑和版本迭代计划进⾏对照,做好版本管理。

社区治理要素

3.3 开源安全问题治理需要⻓期关注

由于源代码开放,开源软件的安全漏洞更容易被利⽤,且由于使⽤的软件众多,有些客⼾甚⾄不了解软件包中包含哪些开源组件,开源安全问题尤其凸显。2021 年包含安全漏洞和⾼危安全漏洞的开源代码库分别为 81% 和49%,虽然相⽐ 2021 年有所下降,但从 2016 年以来的历史数据看,开源代码库的漏洞率⼀直居⾼不下。2021 年底的 Log4j 漏洞事件波及范围覆盖全球近⼀半的企业。

开源安全问题固然需要⽤⼾落地侧的⾏动,但⽤⼾也会寻求供给侧提供的底层安全保障,开源项⽬本⾝对安全合规性的重视可以很⼤程度上避免重复劳动,提升市场信任度。

安全漏洞的发现可以依靠社区开发者的⾃发⾏动,也可以通过⼀些活动和竞赛的组织来调动问题发现,运营侧也需要运⽤⾃动化的代码扫描等⼯具,及时发现代码安全、开源许可证等出现的漏洞并进⾏处理。更重要的是健全的安全治理体系,在漏洞测试、合规测试、问题修复等全过程中严格执⾏操作。只有做好安全保障,开源软件才能够在商业化的道路上⾛得更远。

开源代码库漏洞情况
图源:【synopsys】2022 OPEN SOURCE SECURITY AND RISK ANALYSIS REPORT

本文摘编自开源社发布的《2022中国开源年度报告》,全文下载:

更多标准、白皮书、报告等高质量纯净资料下载,在文末扫码关注官方微信公众号“idtzed”,进入公众号菜单“治库”,或按自动回复发送引号内关键词。