开源与商业:终点还是新起点?

发表时间: 2022-09-20 10:44

出品|开源中国

在今天,开源和商业行为并不二元对立,甚至共荣共生。商业因素正在深深地影响开源。据不完全统计,2021 年,我国开源原生商业公司投融资总额突破 52 亿元,同比增长约 86%,开源商业化呈现欣欣向荣的姿态。那么,开源的尽头是商业吗?对于大厂来说,开源带来的收益往往是间接的,而且是难以衡量的;对更多还在观望的开源项目而言,踏出商业化这一步可能并没有那么容易,最终能脱颖而出成为资本宠儿的,更是少之又少。

开源中国 OSCHINA 邀请了已经走上开源商业化之路的企业来谈一谈:企业投身开源的终极目的是什么?开源作为一种有力的营销手段,企业怎么利用它来触达客户,打开市场?当前,围绕开源已经形成 SaaS 模式、open-core 模式等多种典型的商业模式,企业应该如何选择?希望能够帮助更多开源开发者拨开迷雾,一起探寻开源商业化路径。

主持人

李晨,Zilliz 社区运营负责人

分享嘉宾

王晔倞(头哥),支流科技技术 VP、Apache APISIX Committer

郭炜(郭大侠),Apache 软件基金会 Member,Apache SeaTunnel (incb) Mentor

孔令子,NGINX 社区负责人

赵文斌,红帽(Red Hat)大中华区市场总监


话题 1:开源的尽头是商业吗?

李晨:开门见山,我们先来聊一聊,开源的尽头是商业吗?

王晔倞(头哥)

我认为开源的尽头一定是商业化。大家所熟知的一些做得好或者普及率较高的开源项目,背后都有商业公司。至少在我的目光范围之内,没有哪个开源项目是只做开源社区,不做商业化的。

开源是不是一种有利的经营手段?从商业的角度,它确实是一种有效手段。对 Apache 以及对 Apache 文化敬重的人,其实是不太愿意听到这句话的,会觉得特别刺耳,内心不愿意去接受。

支流科技创始人温铭曾经提过一个 “漏斗” 模型,它是这样的:当你了解一个开源项目的时候,觉得项目不错,给它点个赞,你进入的是第一层;当你把它下载下来,就是第二层;下载完了,把它放到测试环境里进行测试,这就到了第三层;测试完了还觉得不错,放到生产节点,就是第四层;接下来,基于它开发一些内容并贡献给开源社区,成为 committer;再往下一层,产生了商业性需求,开始寻求商业化服务,并且因为开源版本无法支撑需求,需要商业化的产品。这个模型是从上到下的一个漏斗结构,最下面就是商业化开花。

我们设想一下,到了漏斗的最下层,如果不进行商业化转换,漏斗 模型中的这些转型动作靠什么来支撑?支撑是需要人,需要资源的。没有商业化的行为去支撑,不论是社区还是项目都很难壮大;无论是产品功能还是品牌,也都很难继续往下走。

最后,由于开源社区聚集了大量的优秀开发者,我们会面向开发者开展各种分享会和交流会,这同样需要商业化支持。你想让开源项目不断壮大,让更多的企业使用,那么无论是市场化、还是产品化,都需要通过商业化的目标来驱动。

郭炜(郭大侠):

包括孵化、退役的项目,Apache 软件基金会一共有两千多个项目,顶级项目大概有两百多个。顶级项目的活力都比较好,持续时间都比较长,但并不是每一个项目背后都有一个商业公司。

开源社区是一个比较自洽的组织,很有可能项目本身就很火,大家都在用,但是无法形成商业闭环,就没有商业模式。比较典型的就是 Apache Log4j,所有人都在用,但它一直没有商业公司。如果围绕它做商业闭环和商业公司,那么其收入很难支撑得起特别大的体量。

开源项目终点未必都是商业。一个开源项目有几个努力的贡献者,或者一个小的社区,也能活得很久。我在维护 ClickHouse 中国社区,但并没有基于 ClickHouse 社区中国商业,因为一旦把它变成商业,就会出现各种各样的问题。

我觉得,开源是一种很好的开发模式,能够让一个好的软件通过社区协作的方式,不停地自我迭代,然后不停地加入新的贡献者,突破一家公司或某几个人的边界,不断地向上推进。开源的终点一定是商业吗,不一定。

反过来,如果一个商业公司是基于一个开源软件在运作,那这个模式是不是一种好模式呢?我倒觉得,它是一种非常好的模式。有商业公司,就有持续不断的力量加入,做开发做运营,实现商业闭环。对公司而言,也可以不断地将开源社区对外扩展。

软件本身其实不是代码,而是一种认知的边界,是一种认知逻辑的固化。只有把软件开源,你才能让一个软件没有天花板。对于一个闭源软件而言,软件的创始人或职业经理人,又或者管团队,就是这个软件公司的天花板。

对开源社区而言,如果有一个持续不断进行贡献的商业化组织,那么该社区可以持续繁荣,会更加长久。

所以我觉得,开源的尽头不一定是商业。但是商业公司如果基于开源软件运作,那么这是一个好的商业模式。但不是每个开源项目的尽头都有商业。Apache 软件基金会的很多项目都没有商业公司,一样做得很好。

孔令子:

生命力旺盛的、时间比较长的开源项目,其说是商业化做得好,不如说是规范化做得好。规范化有很多种形式,成立商业公司是一种比较典型的、比较常见的方式。还有一些项目放在基金会之类的组织机构,管理比较规范。如此一来,当项目被大规模使用时,能够规避一些许可证、安全漏洞等问题或风险,可以继续发展,被更多人采用。

商业化并不是开源项目唯一的选择。从更深层次来看,规范化才是大趋势。现在很多项目就三五年时间,谈不上什么尽头不尽头,能不能活过明天不知道。

NGINX 诞生于 2001 年,到今天已经有 20 年了,整个发展历程历经一波三折,是一个很好的研究对象。在 2004 年将 NGINX 开源之后,创始人 Igor 在 2011 年建立了商业公司,中间隔了非常长的时间。

为什么呢?因为 Igor 最初开发 NGINX 的时候,并没有很浮躁地追求商业化,没有把一些重要的功能留给商业空间,而是从一开始就为了解决 C10K 的问题,尽量把它做得轻量化,把性能做好,把内核优化好。

这段时期,他基本没有很用心地去经营社区,而是一直在关注产品本身,完全没有商业化的考虑。但是到了 2011 年,已经有很多大公司在用 NGINX。他们希望这个软件有一些企业级的特性来帮助他们扩展,也很希望有商业公司可以提供企业级的支持服务。 Igor 当时处在社区倒逼的状态,所以才会在 2011 年同时在俄罗斯和美国建立了商业公司。

2019 年,NGINX 被 F5 收购。这一年是 NGINX 追求商业化的高潮。F5 作为一个上市公司,追求利润其实无可厚非。一直到 2021 年,NGINX 都在非常努力地去做商业化变现。这个时候整个产品以及团队,都在追求商业化的结果,因为必须有结果才能证明商业化是成功的。

但是又出现了转机。最近,我们又推出了很多东西,要回到我们的根基 —— 开源文化。NGINX 从追求商业的高潮,又落回到了践行开源,比如投资更多的开源项目,把商业版里面一些比较重要的特性开源,在中国区推出了 NGINX 企业版,为开源用户提供商业的知识服务。

“不忘初心,方得始终”,这句话说得有点理想,但确实如此。开源也好,商业也罢,是一个波动的过程,最终我们要从中找到平衡。尤其是作为开源产品衍生出来的商业模型,不能丢掉开源的基因。

赵文斌(Max):

我谈三点吧。第一个,开源与商业的关系,更多的是一种共生的关系,谁也不是谁的尽头。它们是两个范畴的问题。一方面,开源是自成体系的,有自己的发展逻辑,不论是极客还是技术粉丝都会自发地去发展开源,实现开源的美好愿景。另一方面,我们现在就处于商业社会,商业渗透社会发展的各个环节。不管是开源还是闭源,任何一个环节都会有商业因素进入。所以我认为,它俩没有互为因果或互为终点的关系,而是在两个范畴内,有自己的发展逻辑。

第二点,开源和商业之间互有重要作用。商业是开源的一种催化剂;开源为商业提供一个新的赛道或者说一种新的业务发展模式契机。 不论是从红帽自身二十九年的发展经历来看,还是从其他开源公司的发展来看都可以验证这一判断。

今天,开源技术走进了千家万户。可以说,主流的 IT 技术,比如云边协同、物联网都基于开源。开源成为了 IT 发展支撑点。这个过程中,商业起到了催化剂的作用,使开源发展壮大。没有商业的推动,很多技术都不可能在短时间内变成主流的技术应用。

红帽一直都在参与开源。这几十年间,红帽经历了重大的变化,开源在其中的作用很明显。

商业要求新求变,要有新的赛道,这就正好借助开源,颠覆了原来几十年的 IT 发展的轨迹。原本是大厂通过闭源软件各领风骚几十年,但现在,商业借助开源重新洗牌,或者说创造了一个新的阵地,可以从里边获得更多的利益。

第三点,从远景来看,开源与商业会共同发展,而不是谁会抢了谁的风头。未来,商业不会消失,开源的初心一直也会在,未来的发展是各取所需,互相融合。商业与开源,都会走上更好的发展途径。


话题 2:企业投身开源,是为了什么?

李晨:大家都站在各自的角度聊了自己的见解,还是那句话,殊途同归。开源的终点不仅仅是商业,不过我们都在朝着这个方向努力,希望能在商业上证明它是一个成功的项目。接下来进入第二个话题:MongoDB 公司的 CEO Dev Ittycheria 曾明确表示,开源就是为了获得市场。那请各位嘉宾来分享一下,您所在的企业投身开源,究竟是为了什么?

赵文斌(Max):

我们给客户的资料都会提到,红帽做开源是最久的。开源不是我们的目的,而是一种手段。红帽还有一个定位 —— 商业服务公司,核心目的还是为了服务企业客户。我们会借助开源这种手段,包括开源开发模式去打造我们产品。红帽也会借助很多开源协作模式、组织模式去打造自己的组织体系。其实红帽一直很清楚开源的目的,从来没有会讳言这件事情。

红帽有一个说法,就是我们要做透明的生意。社区就是非常透明的,包括做出的贡献都是透明的。所以我们要上游优先,在上游增加贡献度才能构建影响力把各个环节打通,让人家打心底里认为你能提供价值,让大家认可你。

我们追求商业价值没问题,初衷也很清楚,但做法要透明,让开发者认为你有贡献,能创造价值,而不只是索取。

郭炜(郭大侠):

对企业来讲,开源最终的价值不仅仅是获客,更重要的是建立一个社区,吸引更多开发者一起来共建。如果一个开源社区能够把软件逐步迭代到最佳,那么开源就是一个好的手段。 如果只是把开源当做获客手段,这就过于狭隘了。不用开源,免费也可以获客,人家安装就可以,还不用去调 bug,不用贡献代码,那不更简单嘛,干嘛非要用开源呢?

所以我觉得,开源的核心还是在于大家能够分享自己的思想、设计、思路,然后在一个地方来共建一个顶级的东西。至于这个顶级的东西,最后怎么去商业化,我觉得那是商业公司要做的事儿。

如果商业公司只是用开源来获客,那么它很难成为一个顶级的商业开源公司。

红帽、Apache 软件基金会在经营社区的时候,更看重 contributor 和 committer 的数量会去找到社区里面的亮点,然后发动大家一起迭代软件。我觉得这才是一个社区乃至一个商业公司应该做的事儿。现在硅谷也好,中国也好,大家都在讲 PLG Product-led Growth,产品驱动增长,就是产品力决定整个社区和整个公司的增长。

如果你只是把开源当作获客手段,那你的思路还是 SLG (Sales-led Growth,销售驱动增长) 的手段,那么一定很难快速地推广市场。

对公司而言,不论是完全开源的模式,还是 open-core 模式,或者提供专业服务的模式,最核心的还是开源的产品。针对商业公司,我的建议是,做开源的时候要把获客这件事从脑海里去掉,关注 committer 和 contributor,反而会发现更多的客户线索和订单。

实现获客指标很容易,做广告,做谷歌、百度关键词,用免费的互联网模式很快就能跑起来。但这是软件 1.0 时代的思路,而开源是 2.0、3.0 时代的事儿,玩法一定要和原来的玩法不一样。

开源就是你付出越多,获得越多。你不付出光白嫖,商业公司肯定运作不下去。像红帽等一些头部贡献者、社区组织者都要付出大量精力才能把社区做起来。要是企业都不去找 committer 和 contributor,那你还指望谁去给你找呢?

孔令子:

因为我同时要关注社区和市场嘛,说实话,有时候会觉得有点精神分裂。因为两边的指标完全不一样,而且某种程度上是处于互相竞争的一种状态,这个平衡点很难掌握。

但如果你真的想利用开源这种形式吸引更多有质量的用户,我们要更克制一点,心念要更纯粹一点。就是做事情的时候,不要总想着挂羊头卖狗肉,不要总想着去推销。

作为厂商,如果能把经验型的知识(比如学习路径是怎么样的,一套复杂的系统应该从哪里开始等)大方地分享出来,真正的高质量用户就会聚过来。放下非常功利的那种心态,才能真正发挥自己的影响力。

赵文斌(Max):

红帽通过企业服务实现商业价值变现。以前,开源技术都是极客在使用,受众很小,使用量也很小。当我们想把开源引到传统企业的时候,是很难的。因为对企业用户来说,使用开源的门槛太高了。这就好比既要造车,又要修车,不可能。那开源商业公司的价值就在这里了,一方面在上游添砖加瓦,贡献代码让技术更强大,另一方面理清楚企业用户的需求,为客户提供企业级的服务。商业公司就是要帮着把开源软件中的那些坑给填了,要打造一个更好的,甚至像传统闭源技术的企业级的服务体系。

在上游,保证产品端的影响力和技术迭代;在服务端,提供产品化、标准化的企业级服务体系,让用户使用软件更加省心省力,而且能够快速迭代。这个链条上谁能做得好,谁的商业化就会成功。

如果只做一头,失去了上游,没法主导软件未来的发展方向,很容易落后;如果忽视了商业服务,无法变现,就不能生存下去。所以我觉得两头都很重要。红帽走到今天,也是这样来打造自己体系的。

王晔倞(头哥):

郭大侠也提到,很多商业机会都是通过开源获得的。成为了 contributor 到 committer 之后,这可以证明你对开源社区是有温度和感情的,证明你认同这个项目,认同这个项目给你个人和系统带来的价值。

我们在做商业化转换的时候,发现身边聚集的很多开发者级别不够高,大部分是运维工程师、开发工程师,在其公司内部推荐开源项目的时候,没有力道,推不动。这个时候就需要开源公司的销售出马,找到对方的运维总监及 CTO,使把劲、烧把火,可能才会有效果。因为一个普通的工程师在公司里面没有太多的话语权。

要想进行商业转化,或者让潜在客户做出关键决策,光靠社区的力量是不够的。不同企业所处的阶段、面临的痛点以及准备的预算都不一样,要根据根据企业需求双管齐下,灵活组合,而不是单方面选择某一种方式。


话题 3:企业参与开源之后,人才招聘有优势吗?

李晨:开源社区聚集了大量优秀的开发者。这对开源的企业来说,在人才招聘方面,是否有近水楼台的天然优势?大家在这方面是怎么做的?除了人才,企业还能从开源里面获得什么?

王晔倞(头哥):

很多人也知道,我们第一批员工都是 APISIX 的 PMC 或者是 NGINX 社区、OpenResty 社区的开发者。因为 APISIX 是基于 NGINX 和 OpenResty 构建的一套网关项目。所以这就导致支流科技在很长时期内都是一个分布式的远程办公模式,员工分布在各家公司。这给我们整个商业化带来了无尽的痛苦。

对开源公司来说,开源确实在人才招聘方面有优势,但也遭到了这些公司的抵制,因为你在挖墙脚。

我们有一个工程师,就是来自我们的付费企业用户,而且现在也正在服务这家公司。当时谈合作,签合同,他就坐在我对面。其实那时已经谈好要来我们这儿了。你觉得,对方技术中台的负责人会怎么想?

我遇到的很多开源用户,包括商业用户在内,都希望通过开源社区去做一些技术输出,通过贡献获得一些标签,或者说希望能够借助开源社区的力量去传播一些东西。对公司来说,开源可以提升团队的影响力;对个人来说,可以增加个人光环,有利于未来跳槽。

郭炜(郭大侠):

对公司来讲,优秀的开源社区意味着突破认知边界。

在 Dolphin Scheduler 早期,当时社区里有人提了一个想法,要建一个新的任务类型 —— 依赖(dependent),它可以跨不同的工作流,打破 DAG 图之间的依赖。站在企业内部的立场,从商业的角度来讲,它绝对不会实现,因为不符合设计规范。但这是开源社区,有人有需求,还有人愿意贡献,PMC不能拦着嘛。这个 dependent 组件做完以后,很多用户都喜欢,也有很多的用户因为这个组件从 Airflow 迁移过来了。

大家都认为 Dolphin Scheduler 是做批量任务调度的,但是最近社区里面开始做数据流实时任务的调度和实时任务的 DAG 关联,这些事情都非常 “开脑洞”。开源社区的大众创新,会让你不停地有新想法,新尝试。如果是一家公司来开发软件,很难会有这些创新,一旦遇到瓶颈,那公司就完蛋了。

赵文斌(Max):

开源企业在招揽人才方面是不是有优势?我觉得这属于两可之间。因为开源社区是非常透明的,企业的所作所为很容易被人看到。这对企业会有长远的影响,对 HR 的工作以及人才策略的制定都是有挑战性的。 如果一个企业在商业化过程中没有建立起良好的口碑和形象,没有遵守开源的价值观,对于想要招聘人才以及留住人才的企业来说,是不利的。所以说,企业在开源社区一定要维护好自己的口碑。

孔令子:

开源文化对于企业文化的影响还是蛮明显的。在我们公司,管理非常扁平化,有什么事情都会及时、公开地沟通,并且会自发地去完成目标。

开源文化能激发人与人之间的善意,比如当我的问题总会被别人回答的时候,我也会愿意花时间去回答别人的问题,哪怕可能跟我没有太大关系。这种善意和信任,最终可能会变成工作上的创造力,在工作中萌生幸福感。 并不是说这种企业文化就一定全面优于其他的企业文化,但确实会要求每一个人更加有热情。

真正的热情,会不断地推动自己往前,去跟大家的方向保持一致,做出贡献。


话题 4:怎么通过开源赚钱?

李晨:当前,围绕开源已经形成了 SaaS、open-core 等多种典型的商业模式,大家是怎么通过开源赚钱的?为什么选择当前的商业模式?

王晔倞(头哥):

APISIX 这个项目,是由一家公司捐献的,不是个人捐献的。在开始这个项目之前,公司就已经准备好要商业化了。这跟个人项目开源的出发点是很不一样的。

从纯技术的角度,OpenResty 已经可以实现很多功能,为什么会出现 APISIX?因为社区对OpenResty 项目未来该怎么走” 的这个问题,有不一样的想法。 APISIX 的两位创始人认为,未来 API 网关是一个很好的商业赛道。所以他们才会去做这个项目。

支流科技有两个赚钱通道,一是做开源的 SLA(service-level agreement,服务等级协议),二是做商业产品。不少 Apache 软件基金会的项目都是这么做的。 为什么要选择这两种商业模式呢?

一方面,因为网关和大数据、数据库不一样。大数据、数据库都属于大生态,本身的生态非常繁荣。但网关要靠周边生态的繁荣来带动,比如说协议、可观测性、安全性,都是要跟别的控件关联起来,才能建立起很好的生态。

不同生态圈的公司会选择不同的组件,在这个过程中一定会产生架构和运维需求,所以我们开源用户提供 SLA。

另一方面,很多传统金融企业、传统制造企业的采购负责人不懂什么叫开源,对网关的认识还是处于硬件的概念,经常问 “一套怎么卖”“跟 F5 的哪个系列是对等” 等问题。所以要用商业化的闭源软件的方式去接触他们,拿企业版跟他聊。

目前这两种商业模式,不是几个人一拍脑袋决定的,是市场、赛道和个人情怀等多种因素决定的。

赵文斌(Max):

红帽最先开创了订阅模式。这个订阅模式是组合形式的,一方面给客户提供标准化的企业发行产品,另一方面提供比肩传统闭源软件的企业级服务。

这一模式甚至在当年改变了传统闭源软件的销售方法 —— 以前,软件实际上是企业购买的一份资产。订阅模式按年收费,降低客户的使用门槛和初始使用费用,使整个过程更透明、更易用,极大推动传统企业采用开源技术。

直到今天,这个模式依然在红帽延续着。当然在新的形势下,会有很多变化。

比如随着公有云的发展,我们也会跟公有云的伙伴合作,计费模式也会有一些变化,但基本的核心不变。 商业模式有一定的适用范围,面对不同的历史阶段,不同的市场环境,仍然要做本地化的适应。

李晨:

我们 Zilliz 的向量数据库 Milvus 也是全开源模式。这几年,Milvus 从 1.0 到 2.0,从单机版到云原生、多副本,一步步在演进。Zilliz 全心全意在社区贡献了很多高质量的代码和内容,社区在不断发展壮大。

也有很多人把 Milvus 这款产品包装之后就拿去融资,去卖钱。我们认为,只要这个行业在前期足够繁荣,其实就很好了,毕竟大家都希望整个生态发展起来,才能都有饭吃。向量数据库这一领域,还有很多商业模式值得去探索。

孔令子:

如果从商业模式来看,NGINX 包罗万象,真的是什么都有在努力地尝试各种商业方向。

在比较长的一段时期内,NGINX 都在走 open-core 模式,我们有商业闭源软件 NGINX Plus、NGINX App Protect 等,就是从数据面、管理面去做可见性方面以及安全性方面的增强。

而且,很多人使用 NGINX 的实例数量可能是上千个,可能他自己都不知道具体有多少,因为这些实例可能是跟其它软件一起进来的。如此一来,就很难把开源版的实例替换成商业版,毕竟有技术门槛在。

另外,国内越来越倡导使用开源软件,大型银行、互联网公司在开源方面的投入越来越多。基于这样的外部环境,我们也学习红帽,给开源版的软件做企业级的支持服务,比如技术服务、定制开发等等。 以前,我们的重心是 open-core ,但是这两年,慢慢地转移到技术服务上来。

除此之外,我们也在做官方认证考试,并提供配套的培训,因为我们的产品用户量足够大,而且产品使用有一定的门槛,考试也有一定的含金量。通过考试的人,在求职的时候会有优势。这可能也是一种商业模式。

我们还有 SaaS 模式,最近在跟微软一起做 NGINX for Azure ,但是很可惜,大陆地区还不太能用。欢迎出海企业垂询。


话题 5:开源软件使用与否,国内外的决策流程有什么不一样?

郭炜(郭大侠):刚刚头哥讲的案例挺现实,就是开源社区做得再好,开发者也无法直接做出使用某一开源软件的关键决策,还是要销售利用传统的方式来推动商业转化。我想问一下 Max 和令子,国外情况也这样吗,还是国外开源会更理想化一些?

孔令子

NGINX 在中国区的有两种蛮常见的模式:一种是商业闭源产品,另一种是针对开源软件提供企业级的知识服务。除此之外,我们还在做认证考试。

一件很有意思的事情是,给开源软件提供企业级的知识服务以及官方认证考试,这两件事都是中国区发起的,现在全球其他地区都在跟进。

国内国外的情况有什么不一样?这个问题没有绝对的答案。NGINX 的这些策略都是一种新鲜的尝试。

开源软件在不同的阶段,也要采取不同的策略。像 NGINX 的用户非常之广,作为一个商业公司,不变现真的很可惜。所以不管是认证考试也好,还是提供企业级服务也好,我们真的是想要支持更多的开源用户去用好这个产品。

但是说得现实一点,企业还是要想办法盈利,因为这么多员工,涉及研发、销售、市场、社区等各个部门,大家都要吃饭的嘛。

赵文斌Max):

我个人观察,国外的企业用户购买产品化服务会更多一些,对产品型公司接受度更高一些。国内很多软件需求都是项目化的,就是使用的时候,要很多项目集成在一起,决策链本身会更复杂一些。

从开源技术发展迭代过程来讲,国内对开源软件的采用与国外相比,还是有一些差距,尤其在传统企业,决策过程中会有多方参与进来。而且很多时候决策不只涉及技术层面,还包括管理层面等等。

虽然开源创业已经变成一个相对主流的方向,但传统势力还是很强,他们的观念、认知都还在成长中,开源创业其实很难。包括红帽这样的企业,也需要跟多个层级同时沟通,否则一旦哪条环节没有沟通清楚,就会面临很多决策障碍