开源软件崛起:ABC浪潮下的软件行业大变局
- 来源: 编辑:admin
文/专栏机构 中投研究
执笔:刘烜
开源软件的基础设施地位和创新引领作用长期以来不为人知,但近年来,其独特的商业模型和投资价值正随着高涨的投资并购热情日益清晰。对于软件投资者,通过引入开源软件这个新维度,有助于完善投资逻辑、挖掘更多机会。
自PC时代软件发展为独立行业以来,历经许可购买、外包开发、服务订阅等多次变革后,正在人工智能(A)、大数据(B)和云计算(C)的浪潮下发生新一轮改变:开源软件(Open Source Software)在最近十年中发展迅速,已渗透到96%的商业应用中,[1]不但是软件、互联网、半导体、通讯等TMT行业的要件基石,也是能源、航天航空、制造、医疗、金融服务等传统领域的重要支撑。与其关键地位和重要作用不相匹配的是,开源软件行业由于授权许可和组织形态与传统软件行业迥然不同,其商业模式一直备受争议,相应的投资逻辑也晦暗不明,然而2018年以IBM收购Redhat为代表的一系列投资并购交易或许预示着开源软件商业化的重大转折点。
一、从IBM史上最大并购案管窥开源软件投资并购热潮
2018年10月,IBM宣布将收购开源软件公司Redhat全部股份,交易金额达340亿美元,较Redhat前一交易日收盘价溢价62.8%,是IBM公司也是整个开源软件行业的最大并购,Redhat股价下一交易日开盘大涨近50%(见图1)。
此前,微软、Salesforce、EQT Partners私募基金等分别发起了对开源软件公司的大型收购(见表1),而且开源软件公司的投融资活动趋于活跃(表2)。我们认为,这些迹象表明,自从云计算时代为软件行业带来新的服务付费模式后,长期以来受困于商业模式的开源软件行业可能迎来了转折点。
二、开源软件行业生态与商业化探索
(一)基本概念和发展简史
软件按需求端可以分为系统软件和应用软件,按供给端可以分为开源软件和闭源软件。开源软件是源代码对社会大众公开并允许用户更改和分发的软件,一般采用开源许可;与之对应的闭源软件则不公开源代码,有的采用商业许可并借此收费,有的则是免费软件。
开源软件行业的发展历程既是理想主义与商业探索交织的过程,也是社区群体与软件巨头竞合的历史。早在大型机时代,软件依附于特定硬件存在,还没有形成一个独立的行业。二十世纪七十年代末期个人电脑开始普及,微软等公司借助软件许可销售模式崛起为跨国巨头,实现了商业化的软件行业自此一路高歌猛进,但软件的商业化及由此带来的垄断遭致很多开发者的反感,秉承软件开源共享理念的开源社区逐渐形成。在至少长达二三十年的时间里,大量软件公司经常无偿使用开源软件却罕有贡献,微软也被视为开源社区的“最大敌人”。随着开源软件公司Redhat上市,Github开创了分布式协作开发的模式,开源软件公司逐渐增多,商业软件公司也纷纷拥抱和支持开源,甚至微软也“摇身一变”成为“开源最大的贡献者”,即便是仍以商业化软件产品为主的电子设计(EDA)、机械设计制造(CAD/CAM)等细分软件行业,也同样离不开已成为软件开发基础设施的开源软件。事实上,移动互联、人工智能、自动驾驶等新兴领域的很多主流软件和关键代码几乎都全部或部分以开源形式存在,或者更准确地说,开源软件的集智攻关特性极大地加速了前沿技术的发展。开源软件行业发展简史见图2。
我国硬件半导体行业往往受制于人,软件互联网行业总体上却蓬勃发展,与开源软件有很大关系。开源软件使得中国开发者可以获取前沿知识并快速成长,帮助中国企业快速发展产品线并突破知识产权壁垒,涌现出腾讯、阿里等互联网巨头及一批独角兽公司,而这些中国公司也越来越多参与开源项目并做出贡献。缺乏开源软件的领域,比如电子、机械和建筑设计、仪器仿真等,正好是中国软件行业的软肋——相比之下,操作系统、数据库领域由于开源软件的存在,中国企业至少可以在开源版本基础上进行二次开发和价值创造。
(二)开源生态体系
受益于开源软件的繁荣和商业化,今天的软件和互联网行业已经形成了独特而强大的生态体系和规则。
由全世界无数开发者和团队自发形成的开源社区,在基金会等非盈利组织的培训、法律保障及其他支持下,以分布式协作的全新合作方式共同创造和维护软件产品、文档及代码库,并采用某种旨在促进公众福祉的开源许可面向全世界开放,包括上市公司在内的商业机构以及非盈利团体、个人能够实时获取前沿创新和先进成果,这些受益者则往往以“出人”、“出钱”等不同方式反哺基金会和开源社区,从而形成了良性互动。行业生态见图3。
1.主要参与方
开源社区。开源社区是围绕项目、平台或兴趣形成的各种松散群体,主要包括个人开发者、院校、基金会以及一些开源软件公司。经过多年发展,开源社区建立起一套独特的分布式协作机制:散布全球的开发者通过邮件列表、网站或即时通讯工具交流合作,版本控制系统和代码仓库(Repositories)确保了并行开发的现实可行。开源社区总体上表现出多样性和自组织特性,因而具备不竭的创新活力,根据Conway’s Law,产品是生产者组织结构的缩影,基于社区的开源软件产品因此得益于远大于单个商业公司的信息交互和沟通边界,更容易在开放竞争中优胜劣汰、快速进化,在业界达成广泛共识进而形成平台、标准或者基础设施。另一方面,开源社区往往是开放和自愿参与的,也带来了代码质量参差不齐、项目废止、恶意后门等不确定性,而针对这些问题提供解决方案的公司则借此开拓了颇有潜力的市场。
开源基金会。开源基金会是非盈利机构,一般致力于维护社区、组织或协助开发、制订开源许可、公益慈善等。基金会有时还会为项目提供资金和人力支持,但与其支持项目之间的联系往往并不紧密,基金会的价值更多体现在社区层面而非具体项目实施层面。与整个开源社区数以百万计的项目相比,这些开源基金会支持的项目只有不足一千个,[2]但这些项目往往更大更关键,例如Linux基金会、Apache基金会支持的项目都是当今互联网和移动互联网的基石和核心。
公司。按照主要产品或服务是否基于开源代码,可以粗略地分为开源公司和商业公司两大类公司参与者,前者如Cloudera、Redhat、MongoDB、SUSE、Canonical,后者如微软、Oracle、推特等。即便是商业软件公司也会公开表达对开源社区的支持,其中一些较大的公司还会通过向开源基金会捐款、安排全职员工维护社区、将一些自有软件开源等做法提供实质性支持,但这种支持的商业意图同样显而易见,比如构建开发生态和行业标准、抢占社区资源和技术先机。
2.开源许可
传统的专利许可(proprietary license)主要是维护商业机构利益,开源软件许可则更多从维护社区和公众自由权益着眼,此外也有开源软件甚至无需许可。按对商业授权的容忍程度从低到高,开源软件许可分为社区友好型、商业限制型、商业友好型三类(见表3):
社区友好型开源许可。以GNU GPL为代表,严格贯彻“版权所无”(copyleft)理念,强制开源代码及其衍生版本的公开共享,几乎禁止商业用途;
商业限制型开源许可。以GNU LGPL为代表,允许对开源代码进行修改,但不允许以此为基础发布闭源版本,公司可以参与并受益于开源社区成果但无法获取排他性专利版权,这种形式也被认为是削弱版的“版权所无”(weak copyleft);
商业友好型(permissive)开源许可。以MIT和BSD许可为代表,基于non-copyleft理念,对使用、修改和发布的约束较少,特别是允许在开源代码基础上修改并对外发布闭源版本,在三种开源许可类型中最利于商业开发。
商业友好型许可已成为主流的开源软件许可。使用商业友好型许可的开源软件占比从2012年约40%逐渐上升到2018年超过60%。[3]
云计算服务商在云端提供商业服务,无需“发布”软件,绕过了很多开源协议的限制,特别是亚马逊AWS通过一些基于开源软件和开源代码的服务盈利,却对开源项目贡献寥寥,激怒了不少开源社区。在云计算巨头的竞争压迫下,一些开源软件公司为了防止自家的开源产品被第三方作为云服务销售,不得不调整许可,MongoDB公司制定并采用了更严格的SSPL许可,Redis Labs、Confluent公司先后将部分模块进行了许可变更。
(三)典型商业模式与挑战
1.商业模式
以近年来日趋活跃的创投趋势为佐证,开源软件行业的商业模式实际上已较此前更为丰富并趋于成熟,或者是与传统软件大不相同的新模式,或者是既有模式的适当改进,具体如下:
通过构建开发生态和维护相应社区,成为事实上的行业标准制定者,建立技术优势。例如,在与苹果公司竞争的过程中,诺基亚、微软的商业手机操作系统均告失败,而谷歌的Android开源系统则大获成功。这种策略也可以是防御性的,例如Oracle公司为了巩固其数据库行业龙头地位,收购了在所有数据库中市场排名第二的MySQL开源数据库。对于很多公司,认识到开源社区的价值并成功建立生态是一个渐进的过程,例如微软Codeplex和谷歌Google Code均败于社区推崇的开源代码托管及协作网站Github之后,微软关闭了Codeplex转而收购了Github。
孪生版本策略。很多公司同时提供付费的商业版本与免费的开源版本(又称“社区版本”),开源版本追求创新和快速迭代,商业版本强调稳定可靠的性能和完善的服务。例如,Redhat公司长期提供开源的Fedora和商业的RHEL两种服务器操作系统;[4] Oracle收购MySQL后在维护开源版本的同时提供了更强大的企业版本;微软在Visual Studio商业集成开发环境的基础上提供社区版本,进一步巩固了市场地位。此外,由于开源版本和商业版本对应的许可并不相同,事实上形成了混合知识产权保护,[5]这种保护在产品的不同模块和库采用多种许可的情况下可能得到进一步强化。
控制研发和测试等成本。对于创业公司,开源软件提供了快速切入的机会,减少了购买商业授权许可所需的前期投入;对于成熟公司,将部分研发任务“外包”给开源社区,可以在一定程度上减少研发成本。另一方面,基于相同开源代码开发产品的软件公司可以通过并购优化成本结构,例如Cloudera在合并报表中指出其与Hortonworks合并将形成协同效应,新公司可以有效削减成本,进而显著提升盈利能力(见图4)[6]。
实施用户驱动的开发,提高产品质量。特别是在云端/服务器端应用软件、系统软件等开发者即用户的领域,开源社区可以从用户角度参与开发,使得产品与市场更加贴近,并加速软件开发进程。在公司和(或)基金会持续支持的情况下,开源软件项目可以更好地借助公众代码审查提高代码质量,更好地防范松散的维护状态和复杂的代码依赖关系可能导致的漏洞。
2.挑战和风险
即便对于很多软件行业投资者,开源软件行业的商业逻辑也并不直观,源代码开放和开源许可似乎使得公司无法获得排他性的知识产权保护,也难以建立竞争优势。常见的挑战和风险来自以下方面:
公司对开源项目的影响力有限,例如可能无法决定技术路线,社区开发者退出等;
公司开源软件产品及其模块对应的开源许可发生变更,对商业友好程度下降,或与其他开源许可不再兼容;
公司的商业策略遭开源社区和开源基金会的抵制,进而造成开源项目的研发受挫;
来自社区或者其他公司同源产品的同质化竞争;
公司开源产品被其他公司在未经授权的情况下作为云计算服务进行销售。
以开源软件公司为例,除了Redhat、Vmware等少数公司实现了可持续的盈利,大部分开源软件公司仍处于“烧钱”阶段,若以同期美国套装软件(packaged software)行业整体盈利水平为参照(见图5),这种反差更为明显。值得注意的是,近年来Cloudera、MongoDB等头部开源公司营收增长的同时利润缺口不断收窄,股价的上升也反映出投资者对成长性的正面预期。
需要指出,开源软件不是决定商业化竞争成败的充分条件。例如,Dronecode基金会主推开源无人机飞行控制软件,得到了英特尔、恩智浦等芯片公司和美国3D Robotics、中国昊翔(Yuneec)等无人机公司的支持,但消费无人机市场仍是大疆一家独大的局面。另一个例子发生在云计算领域,目前占全球公有云市场主要份额的亚马逊、微软、阿里巴巴、谷歌等公司都是采用自有云解决方案, AT&T、爱立信、华为、英特尔等多家电信和硬件公司力推开源云架构Openstack,但主流云计算厂商中只有IBM基于Openstack的云服务有所斩获。
三、开源软件行业投资建议
长期以来,软件行业的投资主要从需求端着眼,这无疑是成熟的实践做法。我们认为,在已有做法基础上增加供给侧的新视角,特别是引入开源软件这个分析维度,有助于完善投资逻辑、挖掘更多机会并有效管理软件产权风险。
开源软件的主要投资机会来自企业客户领域(2B端)。开源软件在服务器、操作系统、数据库、计算机语言、开发工具、互联网等若干软件基础设施领域必不可少甚至占据主导地位(见图6),微软、IBM、Oracle、Salesforce等行业巨头不断加码投资收购开源软件资产,以巩固主业或抢占先机,这种策略的好处至少有几点:一是直接获得相对成熟的技术和产品,稀释了研发风险;二是可以争取到相应的开源社区支持或者绑定社区开发者,事实上包括谷歌在内的很多大公司都有不少员工全职从事开源软件的开发维护,与开源社区形成了良好的互动,公司可以在保持开源版的同时提供商业版,通过差异化服务寻找盈利点;三是基于社区共识的开源软件更容易帮助商业公司建立和维持行业标准,进而达成领先地位。另一方面,在消费者市场(2C端),以及与特定行业知识深度绑定的部分2B市场仍以商业产品为主流,开源软件在这些领域中仅作为基础设施和工具而不是最终产品服务存在,例如机械和建筑设计、电子与半导体设计、工业仿真与建模等。应当指出,这种现象并非受限于开源软件业者的开发能力——即便复杂如操作系统、数据库这样的大型软件系统都已经被开源软件占据了大半江山,本质原因在于,相对松散的开源社区和兴趣驱动的自由开发者往往缺乏充足的资金和持续的时间投入,也无法得到跨行业的企业资源和专家支持,难以实现有效的需求交互和售后服务。粗略看,除非有政府或者行业巨头的大力扶持,即便是激进的投资者对于这些细分领域的开源软件创投也应保持额外的谨慎。
新兴技术领域和生态培育是开源软件创投的焦点。开源软件在区块链[7]、深度学习、无人机、自动驾驶等新兴技术领域起创新引领作用,这些新兴领域的技术标准和行业规范仍在不断更新演化中,而开源社区的多元性和开放性已经被证明有助于孕育创新,这种自组织形态带来的分布式协作创新机制正是商业组织不擅长的。公司通过主动发起或积极参与相关开源软件项目,不但可以吸引外部开发者群策群力,在一定程度上减少研发成本,更可以围绕自身战略和特长培育生态系统,从而获取话语权乃至确立行业领先地位。这方面有很多例子,如谷歌发起的Android开源项目成为比苹果iOS使用更广泛的智能手机操作系统(见图7),谷歌借此建立起相应的商业生态系统,吸引了苹果公司以外的几乎所有手机公司参与,进而在不同程度上受制于谷歌或者说形成合作。此外,以RISC-V开源芯片架构、“工业4.0”(见图8)等为代表,开源软件的商业化进一步渗透与硬件高度耦合的领域[8]。
开源软件安全和集成服务或存在趋势性投资机会。开源软件面向所有人开放甚至修改源代码,尽管曝光于公开环境有助于发现和修复软件漏洞,但自愿维护和有限资金支持等特点也导致了有的开源软件存在漏洞并导致安全问题;另一方面,分布式协作开发带来的软件兼容性和分支问题比较突出,不便于商业应用。考虑到开源软件在软件行业的基础设施作用和创新引领价值,很多软件公司对开源软件的安全和系统集成服务的需求很可能保持增长。目前,一些开源软件公司如InfluxData、Tidelift正致力于抢占这个细分市场,为其它软件公司提供相关服务,这种机会已经引起了一些风险投资人的关注。
开源许可是软件和互联网行业尽职调查及估值应考虑的一个方面。无形资产往往是软件和互联网公司估值的重要组成,例如被投公司的主营产品服务对开源软件的依赖程度、以及其中自有知识产权与非排他性许可的比例;另一方面,开源许可也是风险防范应考虑的要素,不同开源许可之间的兼容问题,以及开源许可变更导致额外的商业限制,应予以关注。