丨导语丨
本文是2019年投资机构a16z关于开源商业化的经典文章。作为开源实操的深度指南,网络上的中译版内容不一。本次重新翻译,供大家参考。
开源:从社区到商业化
Open Source: From Community to Commercialization
---------------------------
Peter Levine,Jennifer Li
编者按
开源运动创造了一些最为重要且广泛使用的技术,其中包括操作系统、网页浏览器和数据库。没有开源软件,当今世界就无法运行,或者至少不会像现在运行得这么好。
开源运动创造了令人惊叹的技术创新,而近些年最引人瞩目的商业创新——SaaS(软件即服务)——也对开源运动有着至关重要的贡献。开源从基本定义上是指:任何人都可以免费地使用、修改和传播。所以相比其他类型的软件公司,开源软件的业务需要不同的商业模式和不同的产品投放策略(Go To Market)。
Peter Levine作为开发者、企业家和投资人,已经在开源领域工作超过了三十年。他最近的演讲“开源:从社区到商业化”,内容结合了他的个人经历和数十位开源领域的专家访谈,以下是对这次演讲的文字整理。其中Peter梳理了开源软件的崛起,同时提供了一个把开源项目成功商业化的实践框架。
开源运动最初只是一个边缘活动,后来才逐渐成为了软件开发模式的中心。我最喜欢的一则逸闻来自于早年的开源时代——当时开源还不叫开源,而是被称为“免费软件”——故事围绕Linux/Unix的命令行工具[~}$ BIFF展开,这个工具让用户有新邮件时能收到消息提示。BIFF这个名字的来源是伯克利一个嬉皮士的狗,这只狗会在邮差来送信时跑到门前大叫。我很喜欢这则逸闻,因为当时的开源就是这么边缘化,以至于一个如此重要的命令行工具是以开发者的一条狗来命名的。
我在开源领域工作几十年了,刚开始我是麻省理工Athena项目和开放软件基金会的开发人员,接着我成立了开源软件公司XenSource并担任CEO。过去的10年,我在很多开源公司出任董事。从开发者到董事会,我亲眼见证了开源方式的演变,也亲历了建立在开源基础之上的大型公司的崛起。
我非常相信,从来没有像今天这么好的时间去创立一个开源业务。商业创新对开源运动至关重要,我下面要分享一个让开源从产品走向市场的框架。
开源复兴正在路上
过去的十年是开源复兴的十年。上面这张图展现的是过去的30年中,大约200家公司把开源作为核心技术。总体上,这些公司融到了100亿美元的资本,在过去的十年中这个数字仍在上升。事实上,3/4的公司以及80%的融资都发生在2005年后。我认为我们正处在这场开源复兴的初始阶段。
这些投资正在创造越来越大的IPO和兼并购交易。
很有趣的一件事,在2008年,Sun Microsystems(后来又被Oracle收购)用10亿美元的价格收购了MySQL。在那段时间里,我以为10亿美元代表了一切开源公司的估值天花板。这个数字在很多年里确实成了天花板,10亿美元的数字让软件产业把开源作为一种价值极大的商品。
但回顾过去这几年发生的事,我们有Cloudera,MongoDB,Mulesoft,Elastic和Github,每一个都是价值几十亿美元的IPO和兼并购。当然,还有RedHat。在1999年,RedHat以36亿美元的估值上市,而今年(2019年)又以340亿美元的价格卖给了IBM。在未来,我会非常乐意看到这个天花板被不断突破。
开源运动也正在扩张到越来越多的软件领域。传统上的开源软件大多数以企业infra为主,比如数据库和操作系统(Linux和MySQL)。随着开源的进一步复兴,活跃的开源软件正在涉足几乎所有行业——金融科技,教育,网络安全,等等。
所以这场开源复兴的背后到底是什么?为了理解这点,让我重回记忆中带大家重温下开源的历史。
从免费到SaaS的开源历史
“
开源0.0 - “免费软件”时代
开源兴起于上世纪70年代,作为一个开发者,我称这段时间为开源0.0——“免费软件”时代。这个时期的软件是由学术界和开发爱好者开发的,那时崇尚的道德信条是:把软件免费送给别人用。当时ARPANET(阿帕网)正在被INTERNET所取代,网络让合作开发和交换代码变得越来越方便。
我仍然记得那段时间在麻省理工的开放软件基金会工作,我完全不清楚是谁在给我发工资。开源当时还没有任何商业模式的概念,如果有任何资本支持“免费软件”的开发,这些钱一般都来自大学或大公司研究的拨款。
“
开源1.0 - 技术支持与服务时代
随着1991年Linux的出现,开源成为了也被验证是对企业的一个更好、更快地开发软件核心技术的方式。随着越来越多基础性开源技术的出现,开源社区和企业开始尝试对这些成果进行商业化。
在1998年,开源组织Open Source Initiative成立,创造了Open Source-开源这个名词。差不多就在那段时间,以RedHat和MySQL为代表的第一个实际的商业模式出现了,还有其他许多商业模式,都是把免费软件上提供付费的技术支持和服务作为基础。这是我们第一次发现了可行的经济模型来支持这些开源组织的发展。
那个时期还有另一件值得关注的事,开源软件公司的估值比专利化软件公司惨淡得多。当我看到RedHat相对比Microsoft,MySQL对比Oracle,XenSource对比VMWare,闭源公司相比对等的开源公司的估值要高得多。软件行业一度认为,开源作为一种商品的价值,从未在任何程度上接近过任何闭源公司的价值。
“
开源2.0 - SaaS & 开源内核时代
到了2000年代中叶,这些估值开始发生变化。云计算允许各种公司运行开源的SaaS来提供服务。只要我能在云端运行开源服务,用户不知道也不在乎表层之下运行的这些软件是开源的还是有专利的,这导致开源和专利化公司的估值开始接近,表明了开源有切实的经济和战略价值。
包括我自己的公司XenSource(被Citrix收购)在内的一大波收购(更不用提MySQL被Sun MicroSystems,接着又被Oracle收购),使得开源成为了大型科技公司的关键构成部分。在2001年,微软CEO Steve Ballmer把Linux称为“癌症”。现在,即使微软也在使用开源的技术栈,还重金投资去贡献开源项目(见本段末链接)。最终,下一代的开源公司更可能是从大型科技公司,而不是学术研究实验室或开发者的车库创业公司中分离出来。(https://opensource.microsoft.com/)
良性的开源循环
开源的历史强调了开源的成功来源于技术和商业创新的良性循环。站在技术角度,开源是创造软件的最佳方式,因为它加速了产品的反馈和创新,促进了软件的可靠性、扩展性,引导了技术被采用,以及汇集了技术人才。开源是一种技术驱动的范式,这些优势从“免费软件”时代起就一直存在。
然而,只有在开源的技术创新和商业创新结合起来的时候,开源的全部潜能才能得以释放。没有商业模式,比如付费的技术支持、内核开源、SaaS模式,就没有开源的复兴。
经济利益创造了这个良性循环,或飞轮。当有更多的商业创新、更大的社区体量,就会促进更多技术创新,就会为开源增加更多的经济动力。我会在这次演示的最后聊聊我认为的开源3.0是什么,同时指出在技术和商业两方面正在发生的一些有趣创新。
但首先,让我们先聊聊如何打造一个开源的商业模式。
商业成功的三个支柱
开源的商业成功依赖三个支柱。这三个支柱会在不同阶段依次呈现,上个阶段会自然引导出下个阶段。在一个成熟的公司,这三点会变成三个支柱,需要不断地平衡和维护来保证业务的可持续性。
1、项目-社区契合度 Project-Community fit,是指你的开源项目形成了一个积极的社区在不断贡献开源代码库。这点可以用Github的stars,commits,pull requests和贡献者数量增长来度量。
2、产品-市场契合 Product-Market fit,是指你的开源软件被用户采用。这个点可以被下载量和使用量衡量。
3、价值-市场契合 Value-Market fit,是指你能找到用户愿意为之付费的价值点。这个点可以被收入衡量。
这三个支柱必须在公司的全生命周期内被顾及到,且每一个支柱都有可度量的目标。
“
项目——社区的契合
项目-社区契合度是第一个支柱,这点主要在于关键社群的体量、项目对开发者的吸引。即使开源社区的大小各不相同,高关注度和不断增加的流行度可以作为一个项目刺激到开发社区兴趣的关键指标。
从大公司到学术界,开源项目可从很多地方开始。但一个开源项目从哪里开始没那么重要,更重要的是有个项目领导人来推动项目建设,而这个项目领导通常会成为商业社区的CEO。
达到项目-社区的契合需要保证高度的参与接触,和开发社区的持续认可。最优秀的项目领导者会在包容性和明确性中达到微妙的平衡——明确决定项目走向的同时,还能保证每个人的声音被听到,每一点贡献被认可。当这个平衡被实现的时候,项目就会保持健康的增长,同时吸引更多的人加入贡献和分享。
作为投资人,我们强烈倾向于投资开源软件项目的领导者,因为ta们了解代码库的里里外外,同时也是维持社区开发者们精神契约和视野愿景的托管人。
“
产品——市场的契合
一旦有了社区领导和一群活跃的共建者,下个阶段就是理解和衡量产品-市场的契合度。在这个过程里,项目领导需要不断凝练这么几个问题:这个开源项目帮助解决了什么问题?我们在为谁解决这个问题?市场上有什么替代品?对于自己的用户和使用场景缺乏清晰的理解,项目就会受到来自四面八方的拉扯,最后失去前进动力。
当上面的这些问题被回答之后,你会看到有机增长的趋势——下载数量上升。产品-市场达到契合是后期能卖出去的预兆。理想状况下,开源软件的用户会变成购买增值产品或服务的上方漏斗——这部分我们会在产品投放章节专门讨论。
在努力达成产品-市场契合时,最关键的是要考虑如何定义你的商业化产品,以及如何把商业版交付给付费用户。我注意到一个常见的陷阱,是这个开源产品实在太成功了,产品-市场极为契合,以至于没有任何必要再完成价值-市场的契合,这意味着已经没有任何延伸空间可以驱动收入了。因此,当你在追求有机增长时,你和你的社区应该仔细考虑未来你想商业化的部分是什么。
“
价值——市场的契合
最后一个阶段,也经常是最难的一个,就是找到价值-市场的契合然后产生收入。产品-市场契合往往集中在独立用户上,价值-市场契合往往建立在部门和企业的买家上。这个阶段的秘诀在于专注客户关心什么,而不是你有哪些东西可以拿来收费。
价值-市场契合的重点往往在于产品是如何被利用的,以及它挖掘了什么类型的价值,而不在于产品到底是干什么的。开源软件提供的价值不仅仅是它的功能,更在于形成规模后它能带来的运营价值。所以在思考推动商业化的时候,一些需要考虑的问题有:你的软件是否解决了一个核心的商业问题,或是提供了明确的运营价值?是否很难找到复制品或替代品?如果需求一旦上规模,团队和组织还有什么欠缺的能力?
虽然下面不是一个详尽的清单,但开源公司可以在类似的产品特性上找到价值-市场契合点:
·RAS(Reliability 可靠,Availability 易得,Security 安全)
·工具库,附加软件 Tooling, Add-ons
·性能 Performance
·审核 Audit, 服务 Services
商业模式的选择
选择什么样的商业模式取决于你为客户提供了什么价值,以及这些价值应该如何交付。要注意这些模型不是相互排斥的,有可能你选择的是一种混合的商业模式。
技术支持和服务是开源1.0时代的商业模式,RedHat通过这种方式占领市场并形成了规模。如果你决定沿着这条路走下去,你有可能最后会和RedHat竞争(这也是为什么五年前我写了一篇博客,名为“为什么不会再出现另一个RedHat:开源经济学” Why There Will Never Be Another Red Hat: The Economics of Open Source)
开源内核的商业模式,对免费软件和有增值价值的专利代码进行分层,这对自有部署是个好的模式。如果你能把很有价值的组件(比如安全模块或整合方案)在不削弱开源采用的情况下保持专利化,内核开源会是一个不错的模式。有一点需要小心:对于内核开源,在决定哪些功能归属哪部分代码的时候,社区分化会成为一个问题。我在自己的公司内见证了这点,所以公司如何与社区不断校正关系非常重要。这里的终极陷阱就是你的社区不喜欢你在软件专利上的做法,ta们最后决定分叉整个项目,或是直接在相同的代码库上另起炉灶。
在SaaS模式中,你会提供一个完整运维的软件服务。如果你的竞争优势在于优异的软件运维能力,那SaaS就是个好选择。然而,因为SaaS一般都部署在云端,有很大的风险公有云厂商会把你的代码拿走然后同你竞争。
云与商业竞争的护城河
一个开源业务一旦成熟起来,就容易出现来自公有云和软件授权的威胁。软件授权许可是一个被激烈讨论的话题,虽然它确实很重要,但我看到很多公司在太过初期的时候浪费了过多时间争论。
但我也认为我们过度地渲染了来自公有云的威胁。尽管公有云服务商可能会部署你的开源项目,但迄今为止,没有一个我能意识到的开源公司完全被云服务商取代的例子。
对于开源公司,需要回答一个更重要的问题:如果代码不再是商业竞争的护城河,那什么才是?
问题的答案需要回到一开始关于什么让开源如此强大的原因:是社区以及软件开发的方式。独立的开源软件公司有三点竞争优势:
1、企业客户不想被销售商套牢
2、用户想直接从创造代码的那群人那里买东西
3、大公司没有你们专业
把这三点综合起来,我认为这会形成真正的竞争优势,以及为什么我们尚未看到大的云服务商完全取代独立的开源公司。
我们已经讨论了三个支柱的内容,让我们看看如何围绕它们建立起一套组织系统。
“对于一个开源公司而言:
如果代码不是竞争力的护城河,那么什么才是?
社区才是。"
产品投放策略:开源只是漏斗的最顶端
你的开源社区是一个以开发者驱动,且位于漏斗顶端的组织。在这个基础上建立一个商业模式,是把漏斗顶端的开源社区和一个有强价值导向的商业产品结合起来。关于漏斗的概念并不新颖,但对于开源社区而言这个漏斗有所不同。这部分我想谈谈开源和商业化如何交织整合、和谐运作,贯穿漏斗的所有阶段。
开源产品的投放策略可以划分为四个关键的组织阶段。
1、社区管理会驱动用户对开源产品的感知和兴趣
2、产品管理会带来一批免费版产品的基础用户
3、挖掘潜在客户、利用商务拓展来评估用户的购买意图,明确产品的潜在价值,以及对企业客户售卖的机会
4、自助服务(自下而上)和销售驱动(自上而下)的推动都会把付费产品价值传递交付给企业用户
“
阶段1:感知 & 兴趣——开发者社区的管理
用户注册量和下载数可以衡量产品在开发者社区的流行度,这个关键指标对于漏斗后期的成功非常重要。但在公司的前期,创始人经常是公司的第一个布道者。当公司开始扩张时,组建一个技术水平和沟通能力俱佳的开发者团队是至关重要的。虽然这两种能力同时出现的情况比较罕见,但如果一个人同时有技术实力和沟通技巧,你会很容易注意到ta。一旦你发现了这种人,招募ta们,请ta们出席会议或在社交媒体上和开发者直接沟通,让ta们向整个社区阐述你项目的价值和重要性。
虽然你很想把销售任务与社区布道者组合起来,但是不要让你的社区领袖去搞“销售”。ta们应该去吸引用户兴趣并传递产品信息,甚至ta们任何的推销行为都大概率会侵蚀ta们在社区的公信力。
当商业化刚起步的时候,你还得考虑下是否应该和开源项目用同一个名字。开源公司通过两种方式都获得过成功,两种方式也各有利弊。使用不同的名字,比如Databricks和Spark,以防止商标被稀释同时让软件授权更灵活。而使用同一个名字会得到开源社区更有力的支持,但是一旦社区不认可你利用项目盈利,可能会有与社区割裂的风险。
最后,用户注册数和下载量是开源社区和专利版本的通用指标,这里的秘诀不是你监测了哪些指标,而是你监测的有多准确。在XenSource,我们一度对下载量的监测不准确,因为我们把开始下载但没下完的数也计算在内了。不断完善对用户兴趣指标的观测质量可以防止让数字变成“虚荣指标”,最后导致公司无法进入到下个阶段。
“
阶段2:考虑采用——产品管理
下个阶段是用户考虑采用。当你已经有了一个开发社区时,你的目标是最大化提升开发者和用户的喜爱、采用量和产品价值。开源漏斗的第二阶段一般通过成功的产品管理达成。
这个阶段的产品管理要求能成功开展一系列工作:管理好专利版和开源版的路径图,与开发者和用户沟通产品决策,为产品制定一套分析指标,收集更多使用模式和用户洞察,预测销售机会。
开源业务与付费业务并不相同,所以开源软件的创始人往往需要管理两套路径图,并投入大量时间去管理这些路径图,同时思考其中一个如何刺激促进另一个。我喜欢把二者的所有关联点以及各版本功能都列在一张纸上,供我参考。
最成功的公司和创始人都有一个框架或纲领来帮助自己思考什么应该付费、什么应该免费。例如,PlanetScale就承诺把所有可能导致被“经销商套牢”的部分开源,这个价值观维护了开源社区的美誉和企业客户的利益。此外,有一个免费版和付费版的功能对照表很有用,可以让你的社区和客户都一目了然。
研发的透明度,以及将社区反馈整合进产品路径图里,对于维护社区的信任非常重要。许多成功的开源公司仍然活跃在社区里,并对开源项目保持着领导性的贡献。比如Databricks,对Spark的贡献仍是任何其他公司的10倍以上。
回到产品本身,你应该建立一套分析系统来理解你的用户,并预测有多少比例可能转化为付费用户。一旦你的用户使用了产品,产品使用数据就能从价值-市场契合度、有多少用户从免费变付费等信息里,了解到产品-市场的契合度。例如,如果每100个用户持续有5个愿意转化为付费,那么你就可以用5%来做财务预测。
这是个复杂的过程,你应该持续通过产品打包的实验来确定免费和付费的最优界限。对于很多开源创始人,这个产品实验永无终点,好的产品投放策略非常依赖紧凑的产品反馈循环。
“
阶段3:用户评估 & 购买意愿——潜在客户 & 商务拓展
漏斗的下一个阶段——用户评估与购买意愿——是对潜在客户和销售拓展的提炼和优化。这个目标是成功地从你的用户中找到一条通往企业客户的道路,这点可以通过有效的潜在客户来衡量。
第一部分是对外的市场营销。基于对漏斗顶部开发者布道时形成的用户认知,对外营销应该针对具体的细分市场划分优先级。仔细考察你的开源用户,你会从他们的角色和部门中了解到他们在意什么。你可以把对外营销的目标定为对你产品感兴趣的工程经理、DevOps、IT运维等等。
下一步就是销售拓展的工作了。销售经理应该以成就客户为策略,而不是过分推销,同时应该对用户的需求以及用户到底用产品干什么保持极度的好奇。
当你的营销开始产生潜在的客户线索时,有两个重要的筛选策略来检验客户质量:
1、这个开发者或用户代表了什么组织?
2、他们使用或下载产品的动力是不是某个更大的企业目标的一部分?
“
阶段4:用户购买 & 市场扩张——内部销售 & 地推销售
一旦你有了有效的潜在客户,你可以通过两种销售方式来触达企业。第一种是自下而上的自服务模式,也是企业内用户自发购买产品的方式,一般来说,这种产品针对的是独立用户。第二种采用更传统的自上而下方式的销售服务模式,目标是拿到部门级的订单或在企业里推广使用。
成功与失败都是什么样的
对于开源业务,协调不好有机增长和企业销售会导致一些常见的失败模式,正如我的同事Martin Casado在“Growth, Sales, and a New Era of B2B”的演讲中说的。
第一种失败模式是开源的用户没有变成付费用户。在这种情况下,你的产品和市场可能完美契合,但缺乏价值-市场的契合。
第二种失败模式,你的开源项目增速落后于企业销售的速度。原因可能是,你的产品-市场契合度没那么好。
第三种失败,是你的商业版伤害了你在开源社区的信誉度,很可能因为太多的东西都被专利化,而开源的部分过少,然后你的开源项目就死掉了。
漏斗顶端的部分提供了随后而来的所有东西,所以在进行市场营销和售卖之前,一定要深耕你的开发者社区、开源项目和用户。然后决不能忽视这三个问题:谁是你的用户?谁是你的买家?开源版和商业版如何为彼此提供价值?
如果商业模式很成功,你会看到上面的这种图形。y轴是每个用户产生的收入,x轴是时间。这张图是我作为GitHub的前董事成员时亲眼看到的状况,展现了自下而上和自上而下的方式共同贡献了销售额。
过往经验是:你的收入像一块多层蛋糕是好兆头。橘黄色线是自下而上来自独立用户的收入,一般而言,这只是其中一条收入曲线。接下来的收入曲线是部门级客户,这是自上而下的收入,通常叫内部销售(Inside Sales)。接下来是地推销售(Filed Sales)或叫直接销售,把客户扩张到大企业的更多不同部门去。想要最大化每条收入曲线,就不能只是等待任由销售势头发生,你需要专人有目的性地负责明确的职能。
最后的状况取决于你的产品,你可能只有自主销售或内部销售。这都没问题,这完全取决于产品的复杂度以及产品在哪里最好用。我发现大多数开源公司都结合了自下而上和自上而下的销售模式,往往从自下而上的方式开始,然后在这个基础上拉动收入的扩张。
开源软件3.0——开源是所有软件公司的一部分
正如软件吞食了整个世界,开源正在吞食软件。
如今,几乎每个主流科技公司,从Facebook到Google,都是在开源软件的广泛支持上编写而成。这些公司也正在越来越多地建立自己的开源项目——比如Airbnb,已经有超过30个开源项目,谷歌有超过2000个。
在未来,这个良性循环会持续运转下去。从技术上看,AI、开源数据、以及区块链都是新兴创新。下一代的开源商业模式可能会变成支持广告的开源软件(当一些大的专利软件公司支持开源项目时会这么做),数据驱动的收入增长,以及通过区块链获利的加密货币。
我相信开源3.0会重新拓展我们对开源商业的看法。开源不会只有RedHat,Elastic,Databricks和Cloudera;至少在一定程度上,会有Facebook,Airbnb,Google,以及任何把开源作为其技术栈重要组成部分的公司。当我们以这种方式去看待开源,这场正在路上的开源复兴尚在它的襁褓期。开源的市场与可能性,比我们已经成就的这一切要多太多。
来自社区的贡献:这份开源商业化指南来自真实的开源实践,从整个开源社区里汲取了智慧。在这里,我要特别感谢Ali Ghodsi (CEO, Databricks), Maxime Beauchemin (Project Leader, Superset), Jiten Vaidya (CEO, PlanetScale), Sugu Sougoumarane (CTO, PlanetScale), Marco Palladino (CTO, Kong), Paul St John (SVP, WW Sales, Github), Jono Bacon (Community Manager), Kevin Wang (CEO, FOSSA), Stuart West (SVP Ops, Automattic), Zeeshan Yoonas (CRO, Netlify), and Heather Meeker (OSS Licensing Lawyer).
发布于2019年,10月4日
"开源:从社区到商业化"视频链接:
https://www.youtube.com/watch?v=c9SJAPxU5bs
文章版权归a16z所有
点击下方“阅读原文”阅读原文