Skip to main content

Open Source 102:开源的商业竞争优势

2018 年是开源软件史上意义非凡的一年,这一年在开源软件与商业软件融合的过程中发生了很多里程碑式的大事件,我们也欣喜的看到中国开源软件企业所取得的长足进步。我们作为一家 VC 机构,出于对创始团队、软件的商业价值、以及开源精神的认同在早期投资支持了数家国内最具影响力的开源软件企业,一路走来也因此对开源商业有了更多的思考,与你分享。
回顾 2018 年,我们见证了开源软件在商业层面取得的历史性突破:
5 家千亿美金级软件企业与开源的融合
要知道全球总共也就只有 6 家市值在千亿美金级的软件企业(Microsoft/Oracle/SAP/Adobe/IBM/Salesforce),算上 VMware 近 700 亿美元市值的准千亿级,一共是 7 家(相信 VMware 进入千亿俱乐部也只是时间问题)。
◈ IBM 以 340 亿美元收购了已上市开源软件企业 Red Hat,这同时也是商业软件史上创记录的一笔收购。Red Hat 从开源操作系统 Linux 切入,是私有云计算领域的重要力量,在云计算领域的奋力追赶是 IBM 这笔天价收购的核心商业诉求。
◈ Microsoft 以 75 亿美元收购了开源协作平台 GitHub。萨蒂亚要的不是 GitHub 的财务收入,他看重的是 GitHub 之上的开发者网络,在软件领域得开发者得生命力,他把 Microsoft 定义为一个开发者优先的公司developer-first company,因此微软为这家 SaaS 公司付出了接近 30 倍ARR(年循环收入)的溢价,通常二级市场对头部 SaaS 公司的定价是在 10x~15x 之间。
◈ Salesforce 以 65 亿美元收购了已上市开源软件企业 Mulesoft。Mulesoft 的定位是做企业级应用软件间的数据互通, Salesforce 这笔收购的用意在于通过打通企业数据来覆盖 CRM 以外的应用场景,帮助 Salesforce 的云计算业务更顺畅的落地,同时也是帮助客户更好的实现数字化转型。这是 Salesforce 有史以来最大的一次收购。
◈ Adobe 以 16.8亿 美元收购了开源软件企业 Magento。Magento 是一个开源的 B2B/B2C 电商管理平台,Adobe 收购的用意非常直接:Magento 的 Commerce Cloud 将是 Adobe Experience Cloud 的有力补充,当然,还有 Magento 所积累的客户资源。Adobe 的强项是内容创作和管理,顺着内容延伸至市场营销技术,收购将帮助 Adobe 快速延伸拓展至电商业务。
◈ VMware 收购了开源容器技术企业 Heptio。VMware 没有公布收购价格,但从 Heptio 在 2017 年的融资情况来看当时的投后估值是将近 1.2 亿美元,所以这应该是一次至少过亿美元的收购。Heptio 围绕开源容器技术 Kubernetes 来提供服务,两位创始人是 Kubernetes 这个已经成为事实标准的容器技术的早期核心成员。Heptio 的商业模式并不优美,看起来更像是 VMware 的一次 人才收购acqui-hire。容器技术已经成为云计算的关键基础技术,而 Kubernetes 已经成为容器技术领域的事实标准,这次收购也意味着以云计算基础建设、多云跨云管理为业务重心的 VMware 对开源技术的拥抱,或者说,他们不得不拥抱。
开源软件展现商业化营收能力
在开源基础软件领域,两家企业 IPO,两家已 IPO 的企业进行了合并。
◈ Pivotal:定位于 PaaS 平台,帮助大型企业客户建设私有云计算平台,在其 PaaS 平台之上更有效的开发企业应用。Pivotal 在上市前一个年财年的营收是 5 亿美元,目前(2018.12.31)的市值是 40 亿美元。
◈ Elastic:定位于数据检索技术,帮助企业分析其结构化及非结构化数据(例如日志数据),从而挖掘更多的商业价值。Elastic 在 2018 年 9 月上市前 12 个月的营收是 1.6 亿美元,再往前推一年的营收是将近 9000 万美元,目前(2018.12.31)的市值是 50 亿美元。
◈ Cloudera+Hortonworks:两家都基于开源大数据技术 Hadoop 来做商业化产品及服务,Cloudera 的模式偏产品,Hortonworks 的模式偏服务,分别于 2017 和 2014 年IPO。这是一次 6:4、52 亿美元的全股合并all-stock merger,合并时两家合在一起的年营收将近是 7.2 亿美元,2500 家客户。合并意味着两家过去过的都不太好,需要合力来提升效率与竞争力。从 2003 年的 Google File System 论文开始算起,这也是 Hadoop 这个 15 岁高龄的开源技术江河日下的写照吧。与 Pivotal 和 Elastic 不同,Pivotal 是其核心开源技术 Cloud Foundry 的拥有者,Elastic 是其核心开源技术 ElasticSearch 的拥有者,但无论 Cloudera 还是 Hortonworks 对 Hadoop 都没有控制权,这也产生了两种截然不同的开源商业生态和市场集中程度。
这是我们观察到的一些热闹现象,我和你一样好奇背后的原因。
开源作为一种新的生产协作模式具有哪些商业竞争优势?
任何市场上,客户最需要的一定是『好』产品,无论开源或是闭源、付费或是免费,凭什么你的产品能成为大部分客户的选择?商业竞争说到底还是产品竞争力的问题,也就是说,在一个存量或者增量的市场上,产品有足够的竞争力,包括足够准确的解决了问题、足够快的推出市场、足够强的技术优势。无论开源还是闭源,市场的竞争原则是简单不变的,开源并没有完全取代闭源,只是在某些领域下开源具备独特的优势,于是胜出。
开源软件最大的竞争优势在于『有机会快速取得市场占有率』。所以开源也是一种市场跟进策略,也就是我们之前所说的经济学中的关键要素『商品的生产效率和分发效率』。
◈ 开源有助于快速迭代产品:这得益于开源模式天然能吸引优秀的人才,那些代表最有价值、最具前景的开源项目能吸引到最顶尖的工程师,最优秀的人才也使得开源技术往往代表着业界最前沿水平。为什么包括银行在内的越来越多的世界 500 强企业开始采用开源的基础软件产品?对于这部分不差钱的客户来讲,最主要的原因只可能是他们没有更好的其它选择了。开源作为一种公开的协作网络还带来了一个好处,在公开的协作网络下参与者会更加珍惜自己的声誉,低质量的代码无异于在众人面前出丑,而闭源的代码质量控制在很大程度上还是依赖于内部审查机制,所以说开源是一种更高阶的人类生产协作方式。此外,同样重要的,用户/客户有机会参与到生产协作过程中反馈需求,小米 MIUI 在早期的迅速崛起就是一个例证。用户参与是『基础软件』这个类别更加容易被开源占领的核心原因,我们可以把『基础软件』简单理解为以开发者为主要用户群体的软件类别,在这个类别下开源社区的开发者本身也是用户,工程经验engineering expertise = 领域经验domain expertise。但是在那些工程经验不等于领域经验的领域,开源这种协作方式的优势并不明显,往往都有体量大得多的闭源商业软件公司同行存在,例如 CRM 领域有开源的 SugarCRM,但 Salesforce 是这个领域当之无愧的王者,Office 领域有开源的 LibreOffice,但无法撼动 Microsoft Office。
◈ 开源有助于高效获客:客户采用开源产品的综合成本通常更低,这包括客户在企业内部的审批管理成本、实施成本、价格成本等,开源也在一定程度上避免了客户对于厂家锁定的担心,特别是在初期决定使用一个产品的时候,优秀的开源产品有机会成为企业的首选。一旦有部分客户验证了产品的可用性,对于其它客户来讲就意味着避免了自己踩坑的风险,有更高的信心去采用,这是一个增长势能快速叠加累积的获客过程。
◈ 开源有助于巩固商业生态:开源项目一旦达到足够高的市场占有率就意味着有机会成为某种事实上的技术标准。无论是上下游的合作伙伴、企业客户还是工程师,大家在做技术选型和技术储备时都可以基于一个共同的通用技术标准,这对于所有参与者而言都是效率最高的方式。闭源也不是没法成为通用的技术标准,只是需要花更长的时间做到市场垄断后才有机会实现,例如 Oracle 数据库经过数十年的发展已经成为一种通用的技术,有工程师以此技能为生也有公司以此技术为主营业务。
但是,通过免费快速取得市场占有率并不意味着必然的商业成功,严格意义上的商业成功只能通过可持续的营利能力来证明。
那么,开源做到商业成功的关键要素是什么?
成功的企业无一例外都是源自于客户价值的创造,开源项目想要做到商业成功也绕不开。开源社区需要像一家商业公司那样去思考创造客户价值的策略以及商业模式。对于企业级客户而言,再好的产品技术也需要销售力量以及服务力量的投入才是完整的企业级生意。所以,从这个角度来看,开源软件取得商业成功与闭源软件取得商业成功的要素并没有本质的区别,关键都是看:
◈ 客户价值:能为企业客户创造的价值空间有多大。例如,一个基于 TensorFlow 做模型库的开源项目与 TensorFlow 本身作为一个完整的机器学习框架开源项目相比,两者的商业价值肯定是不同的。
◈ 竞争壁垒:是否能形成足够高的竞争壁垒来提高自身的议价能力。例如,Web 前端技术是最活跃的开源品类之一,但前端技术一方面技术门槛不足够高,同时,客户其实也有很多其它的可选方案,因此我们很少看到这个品类跑出商业成功的开源项目。
◈ 商业模式:是否能找到足够高效率的商业模式。
开源软件有哪些商业模式?
商业模式特别容易被冠以各种吸引眼球的名字,但在企业级 2B 领域基本可以归为『产品型』和『服务型』两种类型。
产品型公司通过向客户售卖商业版的产品或核心技术来营利,开源社区已经形成了比较成熟的双许可证模式或者叫开源核心模式,社区版产品开源免费但商业版产品收费,通过商业版来找增值空间;服务型公司通过向客户提供服务(售卖时间)来营利,以 Red Hat 的早期成功为代表。服务型是开源社区最早形成的商业模式,基于开源技术向客户提供定制化开发、技术支持、咨询培训等服务。产品型通常能做到 70%-80% 的毛利率,服务型通常只能做到 20%-30% 的毛利率,服务型模式的挑战还在于难以规模化,也不太容易做出差异性。产品型公司的营利效率一定比服务型公司高,这是客观的商业规律,我们也看到越来越多的开源企业通过走『产品型』路径走向了商业成功。
在消费级 2C 领域则主要是围绕『流量变现』的逻辑,以开源浏览器 Firefox 为例,2014 年 Yahoo! 与 Firefox 的母体 Mozilla 公司达成协议,Yahoo! 将每年支付近 4 亿美元的费用来换取 Yahoo! 在 Firefox 中默认搜索引擎的位置。即便是在消费级领域,基本上开源也是通过向企业端收费来产生主要的营收,而不是向个人消费者收费。
开源社区背后的商业化企业
对于一个开源项目而言,在开源生态中孕育出一家或数家成功的商业企业是保证开源项目本身具有持续创新力的必由之路,例如 Linux 孕育出上市企业 Red Hat。因为任何创新都需要持续的资源投入才能有所产出,就好比所有初创公司在早期都需要一轮接一轮的融资支持来把商业机器运转起来一样,在商业上取得成功意味着开源项目开始具备了更主动的造血能力,商业上的获利将被重新投入到开源项目的研发以保证产品技术的领先性,这个过程通常是由开源社区背后拥有项目主导权的一家公司(例如上市企业 MongoDB 之于开源项目 MongoDB),或者是在一个开源项目拥有权相对分散的生态中由多家公司(例如上市企业 Hortonworks 和 Cloudera 之于开源项目 Hadoop)来完成。从这个角度来看,我们不得不承认『企业』这种形态仍然是商业效率最高的组织形态。基于开源的商业更像是某种『社会化企业』,如果一个开源商业找不到这条通往『持续创新力的必由之路』,那么她很有可能在竞争中输给闭源商业。
Open or Not?
如果你的创业项目在犹豫是否要开源,我的建议是你需要想清楚自己的目标,同时也需要搞清楚你所处领域的市场空间和商业格局。假如你的目标是通过开源项目来取得商业上的成功,具备独立的营利能力,达到甚至超过其它同类商业软件公司的水平,你需要判断一下你所处的方向在『客户价值空间』方面是否有天然的短板,例如产品复杂度不够高,或者客户其实还有多种其它的选项可用。如果不幸你处在一个比较短的雪道,那么我的建议是不要开源,因为这种情况下开源的弊大于利,最大的问题在于把技术奉献给了竞争对手,同时你的商业版也比较难产生足够有差异性的价值。此外,开源社区的经营本身也是一件需要投入大量精力资源的事情。假如你的目标单纯就是做一个有意义的开源项目,那么,go ahead!因为至少你有机会取得个人层面的成功,说不定有哪家巨头出于战略价值,付出足够高的溢价发起收购,让他们来考虑商业化的问题,这也算是另外一种意义上的商业成功吧(只是路径比较长,运气很重要,相对来讲比较被动)。

文末的彩蛋我搬来了国外 VC 同行 Joseph Jacks 的研究成果,Joseph 创立的 OSS Capital 只投开源,他维护了一个表格(COSSCI[1]),收录了年营收在 1 亿美元以上的开源企业,并且以他的情报搜集能力来不断完善这个表格的细节,通过这些细节我们也可以更全面的来理解开源商业的发展。把开源企业背后的商业情报也开源,这本身也是一种开源精神。我们看到越来越多的开源项目找到了自己的商业路径,云计算的渗透与区块链技术的兴起与开源技术也有着千丝万缕的联系,开源经济必将在未来扮演更加重要的角色。下一篇『Open Source 103:开源与云的商业碰撞』我们继续。
COSSCI - Commercial Open Source Software Company Index[1]
by Joseph Jacks, OSS Capital

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...