商业化之路怎么走,一家开源分布式数据库厂商的答案|爱分析调研

news2024/11/19 0:36:26

01 商业化是衡量开源项目成功与否的重要维度之一

中国开源软件商业化公司的涌起以及资本对开源的持续关注,正打破人们对开源与商业化“互斥”的传统印象,展现出两者关系的真正本质,即开源和商业化可以相互促进、相互融合,协同发展

图1:开源和商业化协同发展

首先,开源为商业化提供创新发展模式。开源是一种高效的软件开发模式,以开源项目为核心的开源社区通过众多开发者参与,构建起一个开放创新的生态体系,能加速技术、产品和服务创新,对商业化的战略意义重大,这一点从Red Hat在开源的统治地位及其商业成功可见一斑。

其次,商业化也对开源社区的发展意义重大,商业化不仅是开源项目成功与否的重要衡量标准,也能反哺促进开源社区持续发展。

目前开源社区的健康度多通过诸如Pull request数、Commit数、Issue的提交数与评论数、Star与Fork数、Contributor数等指标呈现,但这些指标不足以准确界定社区发展的成功。从开源社区的发展规律来看,商业化成功的开源社区一定是高度成熟、具备强盛生命力,并有大量的企业用户长期参与贡献。因此,商业化可作为一个非常直观的衡量开源社区成功与否的指标。

商业化本身也能加速开源社区成熟。一方面,对于开源社区的日常运营,商业化能支持开源社区的维护和经营,覆盖开发者成员、技术设施、培训等费用,实现社区的可持续发展。另一方面,商业化能让开源社区获得广泛市场认可,反哺开源社区规模化发展。知名开发者、企业家Peter Levine曾提出:“开源的历史强调了开源的成功来源于技术和商业创新的良性循环……只有在开源的技术创新和商业创新结合起来的时候,开源的全部潜能才能得以释放。”

最后,开源与商业化的融合,将有望为开发者带来自由、公平的生存环境。开源社区寄托着独立开发者的终极理想,即每个软件开发者都可以独立于组织之外,通过自由的创作、创新获得回报,而开源与商业化融合是实现这一理想的最佳途径。

02 开源商业化面临众多挑战

尽管开源与商业化理论上可相互赋能,但纵观全球开源历史,以开源起始最终取得商业化巨大成功的项目依然凤毛麟角,国内市场对有效的开源商业化路径也还在摸索中。

当前,开源商业化面临的主要挑战体现在:一方面,开源社区本身缺少商业化导向,具体体现在如何建设一个活跃的开源社区、如何确定商业模式以及如何确定目标客群等;另一方面,在商业化经营过程中,商业化公司将会遇到多种阻碍,诸如如何持久保持开源社区的活力和领先性,如何应对市场激烈竞争,如何找到商业化制胜场景等。

图2:开源社区向商业化迈进过程中缺少商业化导向

图3:商业化经营过程中将会遇到的阻碍

不过,我们看到国际上已经有一批成功的开源商业化案例,如Red Hat、MongoDB 、Databricks等,均在开源基础上取得不俗的商业成就,同时开源社区也在保持蓬勃发展。这些优秀的成功案例,在为国内开源商业化公司解决以上难题提供丰富参考经验的同时,也提供了可实践的开源商业化路径。

在中国开源浪潮中,数据库市场是涌现了众多开源商业化厂商的代表领域,其中,镜舟科技是一家典型的开源商业化数据库厂商。作为近两年新崛起的商业化公司,镜舟科技凭借StarRocks获得广泛市场认知,并积累了大量商业化案例,其发展历程和发展模式极具代表性。近期,爱分析与镜舟科技CEO孙文现进行了深度交流,就镜舟科技公司开源商业化思路和关键成功因素进行了深入探讨。

03 镜舟科技开源商业化路径:“一个核心”+“双轮驱动”

北京镜舟科技有限公司(简称“镜舟科技”)成立于2022年3月,同年9月发布基于StarRocks开发的商业版本镜舟数据库。在短短一年时间内,镜舟数据库的付费客户数量超过70余家,覆盖金融、零售、制造、物流、电商、游戏、汽车出行等多个行业。

同时,在StarRocks成为Linux基金会项目后,镜舟科技作为社区的主要贡献者之一,致力于提高StarRocks的国际竞争力,加强与其他开源项目和上下游厂商的生态合作。

社区和商业化齐头并进、相互促进,形成发展闭环

镜舟科技商业化步伐的加速,是其创始团队将商业化路径规划逐步落地后的水到渠成。

具体而言,镜舟科技首先以行业头部用户为核心深度参与开源社区运营,与众多参与者一起共建社区,推动社区快速成熟。成熟社区的创新生态能高效实现产品稳定和产品领先,持续催生制胜场景。

在基于社区公开的稳定产品和制胜场景基础上,镜舟科技与有企业版本需求的用户达成合作,建立商业契约,通过完成契约获取收益。

在商业经营过程中,除反哺社区运营外,镜舟科技也会持续将商业场景中驱动迭代的、具备领先性的功能代码贡献给社区,保持社区产品和技术的领先性。

最终,社区运营和商业经营相互促进,持续正向循环。

在以上商业化路线设想中,有两个核心策略非常关键:“一个核心”和“两个驱动”。“一个核心”是指无论是深度参与开源社区运营还是商业化公司的经营,均以行业头部客户为核心,驱动用户拓展、用户服务;“两个驱动”,是指参与开源社区的运营和商业化经营需要齐头并进、相互促进。

要将以上商业化路线落地,需要从开源社区运营、产品力、市场策略和组织支持四个主线协同发力。

图4:镜舟开源商业化路径:一个核心+两个驱动示意图

开源社区运营:坚持以行业头部用户为核心的运营思路

运营好StarRocks社区是商业化的前提,这也是其创始团队综合考量商业化路径和市场趋势的战略选择。

图5:运营好StarRocks开源社区是商业化前提

一方面,开源能加速商业化成功。孙文现认为,实现to B商业化需要具备两个条件:第一,提供企业级的稳定产品。第二,确定产品的制胜场景。在传统商业化思路下,产品测试需要耗费大量人力物力,制胜场景需要依赖地推、销售等手段覆盖众多企业客户才能明确。

而开源社区提供了一种创新思路。开源社区本身是一个技术创新生态,众多参与者出于兴趣测试、优化项目代码,推动项目快速稳定,尤其企业用户的项目使用经验可帮项目拓展应用场景并明确制胜场景。开源社区在开放共享的原则下高效实现产品稳定、发现制胜场景,加速商业化进程。

另一方面,开源代表未来软件采购的趋势。市场对开源软件的应用越来越广泛,以金融行业为例,金融行业为了实现自主可控,要求厂商提交自主产权源代码,以AWS、微软等国际互联网巨头为代表的技术厂商也都在遵循这一要求。开放源代码本身已经成为金融企业评估系统自主可控的一个非常重要的标志。开放源代码最极致的方式莫过于软件本身就是开源的,于是,建立开源社区也就成为一个适应软件市场趋势的、具有前瞻意义的举措。

在镜舟团队与社区用户的协同努力下,StarRocks项目实现快速迭代,仅2022年,就发布了60 个版本,修改代码超150万行,同时行业头部企业的使用经验也帮镜舟明确了制胜场景,如BI自助分析、用户画像、实时风控、实时决策等。

开源社区用户类型众多,为什么镜舟科技坚持以行业头部用户为核心的运营思路?

镜舟科技认为,评价一个开源社区是否能够存活、是否具有顽强生命力的一个重要指标是社区的成熟度,而驱动社区成熟的关键因素是行业头部用户数量。行业头部用户的参与,在带来更多Contributor和 Committer的同时,更意味着头部用户正将开源项目应用到业内最具挑战的核心业务场景中,并希望对项目有源码级别的把控,头部用户对项目的贡献将加速项目迭代。

StarRocks社区内互联网头部用户参与度非常高,大部分贡献者来自于阿里云、腾讯、京东、滴滴、美团等,尤其阿里云人员在总贡献人数中占比达到20%,腾讯人员占比15%。

行业头部用户的高度参与不仅能加速社区成熟,也为孵化商业化客户提供了充分条件,镜舟科技的早期付费用户很多与StarRocks社区用户重合。

产品力:融合社区和商业化,打造持续迭代的产品力

持续迭代的产品力是镜舟科技的核心竞争优势。而融合社区进步和商业化经营的产品研发思路,是其产品持续迭代的关键。具体包括两个关键因素:1)与其他社区伙伴一起,共创产品研发思路,加快开源产品迭代速度;2)细化产品功能,并将开源版本贡献纳入发版逻辑中,共同打磨,使产品版本趋于稳定。

图6:镜舟科技产品力形成路径示意图

镜舟科技每年对其产品路线进行规划和更新,产品的规划目标同时作为当年价值关键词。如2022年镜舟数据库2.0版本的价值关键词是“极速”和“统一”。在“极速、统一”的大目标下,镜舟科技重点做了两件事情:向量化和CBO。而在2023年镜舟数据库3.2版本强调“云原生”和“湖仓”两大概念,并重点发展存算分离、物化视图和Multi-warehouse三大特性。这三大特性将帮助镜舟数据库向云原生、湖仓迈进一大步。

通过社区大用户的需求调研分析后,确定产品规划目标,在细化具体产品特性时,镜舟科技从一开始就瞄准了互联网头部公司的大业务场景、大运营和大数据量,通过与其频繁互动快速发现问题并迭代版本,使版本趋于稳定。

以镜舟数据库3.2版本为例,在确定开发存算分离、湖仓分析、物化视图等大特性后,镜舟科技内部先用1~2个月时间发布第一个版本,之后将初始版本提供给社区中之前调研有需求的互联网头部用户诸如腾讯、滴滴、阿里云、携程、小红书、芒果TV等使用。其产品线复杂、业务场景丰富、数据量级波动大等特性,使得互联网用户能在实践中快速发现问题并反馈。发现问题后,互联网企业提供贡献或是镜舟科技内部修复Bug。多次重复这一过程,直至版本趋于稳定。

孙文现介绍,随着互联网头部用户数量的增加,产品版本趋于稳定的周期也在逐步缩短。2022年,镜舟产品产品趋于稳定的周期在6个月,2023年,这一周期缩减为4个月。

融合社区进步和商业化经营的产品研发思路,使得StarRocks在短短三年的时间内逐渐赢得用户口碑,曾有用户公开表示:“StarRocks是OLAP领域的事实标准”,其产品功能和性能广泛成为竞争对手的对标对象。

市场策略:在开放核心发展模式下,通过缔结契约完成商业化最后一步

镜舟科技商业化的目标客群定位与StarRocks社区保持一致,聚焦互联网、金融、新零售、制造等行业的Top 30企业用户。

企业对开源软件及服务的不同采购方式推动开源商业化演变出不同的商业模式。一种采购情形是企业倾向购买企业版本,这推动演变出以开放核心为代表的商业模式。另一种情形是甲方倾向从原厂公司购买服务,通过这种方式保证开源软件的供应链安全性。这演变出以Red Hat为代表的专业服务商业模式。

镜舟科技在以上两种商业模式中选择了前者。在镜舟科技看来,第一种模式以产品为核心,保持产品持续迭代,有利于镜舟科技保持领先的产品力。

在开源商业化的模式选择上,镜舟科技从起初就选择开放核心(Open Core)的模式,通过为B端客户提供企业版获取收益。镜舟科技对这一模式非常有信心,认为这一模式能解决甲方企业与闭源产品之间的“矛盾”,也能通过持续迭代的产品力为商业公司注入旺盛的生命力。

孙文现以20余年从业经验总结出,过往闭源软件产品在服务甲方企业的过程中,为了巩固、扩展自己的势力范围,往往通过创造特有的数据格式或是语法等方式建立“技术墙”,达到排他的目的。而甲方企业为避免与某一闭源软件强捆绑,一直在努力推倒“技术墙”。企业应对这一问题的最有效方式就是使用开源产品。由于核心业务场景对产品可靠性、稳定性、安全性等要求极高,因此选择能对开源兜底的企业软件产品或服务正成为企业软件采购的新习惯。

在提供标准可信企业产品基础上,通过与客户缔结商业契约完成商业化最后一公里。

孙文现认为,“商业化本身就代表着契约精神。”据镜舟科技的客户经验,一旦企业将StarRocks应用到核心创新业务场景中后,为避免在复杂环境中遇到技术障碍,迟滞业务推进,企业会很快开始寻求付费,通过与商业公司合作保障业务场景顺利落地。与此同时,商业化公司在合作中需要承担相应的法律责任,以保证企业对安全、性能、稳定性等需求。

需要强调的是,商业契约建立的背后是企业客户对合作伙伴的理性选择,这也代表着对商业化公司的市场考验。一方面企业决策本身就是一个涉及多角色决策、包含一系列论证和验证的过程,理性程度非常高;另一方面企业对厂商的要求涉及到多方面,包括产品功能、公司经营情况以及发展规划、公司服务能力、产品价格等多方面来考量厂商资质以及与厂商合作的风险性。

在谈到如何面对市场低价倾销的恶性竞争时,孙文现表示,虽然市场竞争激烈,不乏有0元中标的商业案例,但高理性的企业也会对低价竞争进行慎重考量,最终在合理的价格区间内接受低价,而非过分追求低价。他强调,价格本身构成竞争要素,但不是核心的竞争要素,商业竞争的核心要素是持续迭代的产品力。因此,镜舟科技对未来的竞争持乐观的态度并相信,只要始终保持产品、技术和社区领先,最终一定会获取商业上的成功。

组织支持:为社区和商业化发展分别提供组织保障

StarRocks社区为镜舟、阿里云、腾讯等一众商业化主体提供了源头活水,社区技术领先性是维系水源活力的关键。镜舟在追求商业化成功的同时,也在持续投入保持StarRocks社区的技术领先性,如在人力支持上,镜舟科技不仅有专门的商业团队保障商业拓展,也有专业的社区运营团队维护社区发展。

04 开源商业化将改变软件市场竞争格局

受开源市场和投资双向驱动,中国的开源商业化探索将保持加速度,迎来更广阔的发展空间。

一方面,中国开源市场的高速发展将催生更多开源商业化公司,加速验证开源商业化模式。另一方面,近两年,独角兽公司数量正逐渐减少,估值也出现不同程度缩水,这使得市场投资风向发生转变。投资机构的目光正从“独角兽”企业转向新进入市场的“独角虎”企业。这类企业“占山为虎”,能在细分领域能做到行业领先。这一转变将利好处于起步阶段的开源商业化公司,将为其提供宽松的融资环境。

未来,在开源社区飞速持续创新的驱动下,开源商业化将以强势姿态崛起,成为互联网生态竞争中不容小觑的竞争力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1081929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Doris (三十九):Doris数据导出 - MySQL dump导出

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

Spring Cloud 2023 新特性 同步网关

网关不支持传统 Servlet 容器 Spring Cloud Gateway 需要运行在提供的 Netty 运行时。它不能在传统的 Servlet 容器中工作,也不能在构建为 WAR 时工作。WebFlux 使用了异步非阻塞的编程模型,相较于传统的 MVC Servlet 需要理解和适应新的编程范式和响应…

Python之函数详解

一、函数的定义与调用 函数定义语法: def 函数名([参数列表]): ‘’‘注释’‘’ 函数体 注意事项 函数形参不需要声明类型,也不需要指定函数返回值类型即使该函数不需要接收任何参数,也必须保留一对空的圆括号 括号后面的冒号必不可少函数…

数据结构之堆的实现

首先我们要想堆应该用什么实现,我们这里可以使用数组,因为每一层的数是有限个的,所以我们可以很容易将数的每一个位置对应到数组中去。 那我们就可以仿照顺序表写出我们的结构。 然后我们要考虑我们要实现哪些函数。 最基本的功能初始化和销…

Jetson Orin NX 开发指南(6): VINS-Fusion-gpu 的编译和运行

一、前言 由于 Jetson 系列的开发板 CPU 性能不是很好,因此在处理图像数据时往往需要 GPU 加速,而 VINS-Fusion 是针对同步定位与建图(SLAM)问题中十分出色的视觉算法,但是其在图像处理过程中资源消耗较大&#xff0c…

TypeScript基础语法

👨 作者简介:大家好,我是Taro,前端领域创作者 ✒️ 个人主页:唐璜Taro 🚀 支持我:点赞👍📝 评论 ⭐️收藏 文章目录 前言一、TS是什么?二、使用步骤1.安装TS…

力扣刷题 day41:10-11

1.乘积最大子数组 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 方法一&…

图像特征算法---ORB算法的python实现

一、ORB算法 1.算法简介 ORB 是 Oriented Fast and Rotated Brief 的简称,可以用来对图像中的关键点快速创建特征向量,这些特征向量可以用来识别图像中的对象。 其中,Fast 和 Brief 分别是特征检测算法和向量创建算法。ORB 首先会从图像中…

Nginx常用操作命令

文章目录 前言Nginx常用操作指令查看Nginx版本号启动Nginx && 关闭Nginx重新加载Nginx 前言 我们在使用Nginx操作命令之前,我们必须要进入到Nginx的目录里面才可以。 指令1:   cd /usr/local/nginx/   指令2:    cd sbin 也可…

计算机毕业设计 it职业生涯规划系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

MySQL三大日志undolog、redolog、binlog

在MySQL中,很多的功能也都需要基于日志实现,比如事务回滚、数据持久化、数据恢复、数据迁移、MVCC机制。其中undolog、redolog都是InnoDB引擎中的日志,而且都是在Buffer Pool中,而binlog在Server层中,位于每条线程中。…

如何在小程序首页设置标题栏文字

小程序的首页标题栏是用户进入小程序时首先看到的部分,因此设置一个适合文字对于树立品牌非常有作用。以下是一些简单的步骤,教你如何在小程序的首页设置标题栏文字(如下图,白色的“商城”文字)。 1. 在小程序管理员后…

电大搜题——学习的好机会

添加图片注释,不超过 140 字(可选) 近年来,随着广播电视大学教育的普及,重庆开放大学以其卓越的教学品质和领先的教育理念,在继续教育领域崭露头角。作为这一教育品牌下的杰出成果,电大搜题微信…

旧苹果手机数据如何导入新手机里面?

旧iphone数据怎么导入新iphone?一般需要先备份旧iphone,然后再将备份恢复到新iphone。如果满足一定条件,也可以通过设备传输的方式。旧iphone数据导入新iphone要多久?这取决于导入的数据量以及使用的工具。本文会给大家详细讲解一…

【JavaEE初阶】 synchronized关键字详解

文章目录 🌴synchronized 的特性🚩互斥🚩可重入 🍀synchronized 的使用🚩直接修饰普通方法🚩修饰静态方法🚩 修饰代码块🧭synchronized 的使用总结: 🎍Java 标…

TCP/IP(十一)TCP的连接管理(八)socket网络编程

一 socket网络编程 socket 基本操作函数 bind、listen、connect、accept、recv、send、select、close 说明: 本文需要C语言、syscall系统调用、OS 操作系统支持,如果不了解可以暂时跳过备注: 知道对应库函数的更底层机制思考: socket函数与FIN、ACK等…

Malformed \uxxxx encoding.问题解决方案

问题背景 Maven项目构建时报错如下, [ERROR] Malformed \uxxxx encoding. [ERROR] java.lang.IllegalArgumentException: Malformed \uxxxx encoding. [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re…

测试岗最好用的——十大软件测试工具

前言 目前由于软件测试工作在软件的生产过程中越来越重要,很多软件测试工具应运而生,这里介绍一下目前最流行的一些软件测试工具,一个十个,介绍如下: 一、企业级自动化测试工具WinRunner 这款软件是Mercury Interact…

[NPUCTF2020]ezinclude 文件包含两大 getshell方式

PHP LFI 利用临时文件 Getshell 姿势 | 码农家园 说一下我的思路吧 robots没有 扫描发现存在 dir.php 然后404.html 报错 apache 2.18 ubuntu 这个又正好存在漏洞 所以前面全去看这个了 结果根本不是这样做。。。 正确的思路是这样 发现变量 认为是 name和 pass传递参数…

Python 机器学习入门之牛顿法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 梯度下降法 系列文章目录前言一、牛顿法1.牛顿法简介2.基本原理 总结 前言 上一篇文章里面说到了梯度下降法,它是使用泰勒近似定…