张亮:一个开源的项目,从雏形发展到越来越大之后,始终需要一家整体的公司并以其战略去承载,它才能做好。
面向生态类的开源项目,开发工作量巨大,对开发者的需求也非常大。以 ShardingSphere 为例,它的 200 + 模块,是由接近 500 个贡献者协力开发完成的,绝大部分公司都无法承担如此巨大的开发成本。
任何一家大厂,员工规模虽然可能达到上万,但是他们可能都是在做几千个系统,一个系统由三五人负责居多,多由几十人去开发,很少存在上百人开发同一个系统的情况。不难发现,开源项目,尤其是做基础设施的生态类项目,缺少一家不以它为战略核心的公司,其实承载不起来。
除了开发工作之外,还有诸多事宜,比如社区的运营和品牌的打造。在项目商业化之后,销售、售前、售后的角色也不可缺少。我希望创办一个公司,提供 SharingSphere 的原厂级别的服务能力,并根据各行各业的真实商业需求,不断完善它,推向新高度。
除了项目自身发展的需求,还有对工程师文化的践行和对工程师的尊重。我希望能够创立一家以工程师为主导的公司。
工程师越来越成为社会的主体力量,他们作为改变世界的支点,日以继夜的努力着。在以业务导向为主的行业中,工程师的话语权并不多。但 Infra 项目中,工程师是很容易占据主导的,除了研发工作,产品、测试、实施等工作,都与他们的知识领域强相关。
工程师在这里更容易实现自我价值并获得尊重,并通过自己的努力得到公司战略级别的认可。它不像做业务的公司,技术部只是其中一部分,可能不太会触碰到业务核心,做开源的公司,做 Infra 的公司,这一点大不相同。
ITPUB:为什么这个时候选择数据库领域来做?为何选择开源?
领域的选择
张亮:这里我想简短地围绕三个关键词来说:市场空间、商业价值、发展前景。
各种领域都有商业化的可能。数据是公司的资产,针对数据的产品和服务,更容易商业化。目前中国数据库预估的市场是几百亿,并且每年都在持续提升。综合各方面因素,我选中了与数据相关的领域。
为什么选择开源?
张亮:我想这倒不妨先从一个创业者的视角谈谈我是如何看待开源的。
我理解的开源,是知识产权开放、大家共建参与的一个社区。ShardingSphere 是一个Apache基金会的项目。
Apache 基金会里经常说的一句话叫“社区优于代码”。社区的氛围、大家的参与感,比代码本身更加重要。然而,仅强调社区,不强调代码质量本身,也是不够的。我个人认为,一个主流的开源项目,应该是“社区等于代码”,二者皆同等重要。一个完全放飞自我的开源项目,只关注活跃度,缺乏必要的设计和质量把控,会导致项目成熟度和稳定性不够,进而迟迟无法投入到生产环境。
成功的开源项目的要点在于找到微妙的代码和社区的平衡点。若社区弱于代码,项目就无法吸纳来自各方面的精华,失去了开源的优势。
如果细聊一下为何选择开源,倒是可以从它带来的诸多好处切入。其一,看重的是它能够吸引大量参与者,包括代码贡献者、文档贡献者、布道师和终用户等不同角色。在各种场景开放使用,让产品的 Bug 无处遁形。
闭源产品质量的高低,取决于“封闭”的小团队;开源产品质量的高低,则取决于大量使用场景的验证。一个开源项目越活跃,用户越多,它内核的稳定性和成熟度就越高。由于 SphereEx 公司对 ShardingSphere 的理解,在做商业产品的过程中,不是在开源项目上封装可视化界面,而是在 ShardingSphere 可插拔架构之上,在内核层提供更多的商业化功能。
开源可以让产品内核变得更强,因为面向企业客户,产品能力本身才是核心的竞争力。开源可以将产品内核千锤百炼,并为商业化产品提供稳定的基座。拥有更加强大的基座,才能在快速发展的路径上全速前进。ToB 和 ToC 的本质是不同的:
开源天然面向全球,参与者和公司内部的人参与测试的闭源项目相比,不可同日而语。
ITPUB:开源项目刚做的时候,你就开始思考商业化了吗?
张亮:未决定创业时,完全没有考虑过商业化。ShardingSphere 在2015 年开始写的行代码,真正考虑是在2021 年去筹划的,这之间的5-6年时间,我脑子里想的就只是如何把这个项目和社区做的更好。
众所周知, ShardingSphere 在当当、京东以及现在的 SphereEx 都持续在进展。研发和运营 ShardingSphere,扩大技术影响力,是公司的目标。当公司目标和个人兴趣完美契合时,一个人往往能爆发出巨大的力量。在2018 年,ShardingSphere 成功进入了全球好的开源软件基金会 —— Apache 基金会的孵化器,并在疫情爆发的高峰的2020 年初,成为当年个毕业的项目。在此过程中,我体会到了快乐、也收获了满满的成就。
相比较而言,纯个人的项目风险会更大一些,因为它更取决于创始人自身的想法和状态。ShardingSphere 一直以来是作为一家公司为主的项目,所以基本上不会有这些方面的波动。
商业化以后,开源的产品盈利点在哪里?
张亮:开源商业模式一般有三种盈利的可能。
种盈利模式是提供咨询和 SLA 保障服务。这种商业模式对人力成本的要求较高,毛利率不易提升,所以很多创业公司不愿意仅选此一条商业路径。
第二种盈利模式叫做 OpenCore ,开源核心代码,并提供商业化的增强产品。它是当前 SphereEx 在中国市场的主要商业模式。SphereEx 并没有用 ShardingSphere 收费,而是通过开源社区力求将 ShardingSphere 的内核打磨的更好,服务于更多的开源用户。
与此同时,它售卖完全不同的商业产品。SphereEx-DBPlugEngine 是 SphereEx 的商业产品, 它与 Apache ShardingSphere 的 API 完全一致,并在可插拔内核能力上提供了很多商业级能力,比如:可视化管控、自动化运维、企业级权限、全局强一致事务、异构索引、弹性伸缩、数据合规解决方案、商业数据库支持等。
第三种盈利模式叫做 Hosting,简单来说,即 SaaS 模式。将开源项目通过云服务,提供软件和硬件资源一体化的服务。技术设施的 SaaS 模式在国内发展的很快,但相比于海外,还未到完全成熟的阶段。SphereEx 虽然成立时间不长,但也已经在海外同步进行探索性布局,SphereEx SaaS 还处于研发阶段,主打海外市场。
ITPUB:相对于业内同行友商而言,SphereEx 的主要竞争优势有哪些?
张亮:对于 SphereEx 来说,友商指的是合作伙伴,而非竞争对手。
独一无二的项目,具备独一性
Apache ShardingSphere 是个很独特的项目,不仅因为它是跨国级开源基金会 Apache 基金会的项目,也因为它的目标是整个生态,它可以连接各种数据库,并且以可插拔的方式提供数据库上层的增强功能。目前市场上并没有 ShardingSphere 真正意义上的竞品。
项目的品牌力好,知名度高
品牌是 SphereEx 的另一个优势。ShardingSphere 无需做广告和市场活动,即可为 SphereEx 带来广泛的知名度。
SphereEx 具备提供 ShardingSphere 原厂级别服务的能力,ShardingSphere 创始人、以及大量活跃的 PMC 成员,目前都在 SphereEx 公司任职。在 ShardingSphere 的未来线路规划中, SphereEx 也占据相对主导的地位。大量使用 ShardingSphere 的用户,对 SphereEx 的信任度是非常强的。
上限、技术壁垒更高
SphereEx 的 DBPlus-Engine 脱胎换骨于 ShardingSphere,而 ShardingSphere 的主要贡献者也都任职在这家公司,因此,SphereEx 的产品是从头至尾的原创。相比管控、集成和兜底服务,拥有自己内核的 SphereEx,在技术壁垒和公司上限都会高一些。目前已知的公司中,也只有 SphereEx 能对 ShardingSphere 的代码细节完全掌控。
平台足够开放,与友商共享生态
弥补合作伙伴的能力短板,放大合作伙伴的能力长板,是 SphereEx 的竞争优势之一。ShardingSphere 是一个很开放的可插拔平台,合作伙伴的能力均可对接到 ShardingSphere 或SphereEx 的生态中。SphereEx 一直秉持着开放的态度,与友商共享生态,协力服务于客户,共同推进国内开源和基础设施生态的发展。
云、厂商中立
用户可以随意使用 ShardingSphere,并可以根据意愿和自身需要升级为 SphereEx 的商业产品和服务。ShardingSphere 是开源项目,属于 Apache 基金会,不会被 SphereEx 商业公司所绑定,也永远不会闭源。除此之外,使用 SphereEx 的产品也不会被云厂商的能力所绑定,开源的 ShardingSphere 在任何云上都能提供同质的服务,帮助客户解耦云和数据库厂商,也有助于客户根据自身需要采用混合云架构。
ITPUB:你是如何看待开源项目和商业化项目并行问题的?开源项目是如何助力商业项目的?
关于开源项目和商业化项目并行问题的看法
张亮:前面聊到了一点。目前我们维护的两个项目分别是 Apache ShardingSphere 和 SphereEx-DBplusEngine,后者是一个以 ShardingSphere 为内核打造的全新商业产品。
商业化产品的功能比 ShardingSphere 强大很多,但使用方式与 ShardingSphere 完全相同。ShardingSphere 的本质是可插拔平台,可以比喻为应用商店,在可插拔平台上提供了一些开源插件;SphereEx 在应用商店中开发更多的企业级插件,并为此收费,两者本就并行。
开源项目是如何助力商业项目的?
张亮:开源项目和商业项目用的是同一套内核,可插拔的灵活度可以降低商业项目的开发成本;内核的性能和健壮性可以提升商业项目的基础能力和质量,ShardingSphere 的强大社区,除了打响知名度 ShardingSphere 自身的知名度之外,也在潜移默化地扩大 SphereEx 的影响力。
ITPUB:如何从开源的用户向商业付费客户转变,其中的挑战有哪些?
张亮:实际上,这是一个很大的挑战。开源用户和商业客户完全不同,这些不同点包括对产品的期望,决策人群的角色,公司预算的分布等。我的答案很简单,将开源用户转向付费的客户,不是一件容易事,因为他们本身就是两拨人。
世界上有两类部门,一类是通过外部采购去解决问题,另一类则是通过内部能力去解决问题。前者需要的是一站式的服务,他们天然对付费采购友好。因此,我并未将精力花费在考虑如何让开源用户付费之上。开源用户都是工程师,他们用这个项目的目的是为了完成自己的工作,以及出于自身的兴趣完善这个项目。
开源的价值在于产品力本身的提升,和公司影响力的扩大,这都将在公司的商业化上提供不可替代的价值。