开源创业,近两年在国内受到广泛关注。但是,想要挖掘一个开源项目的商业价值并非易事,开源创业也缺乏成功先例。那开源创业的道路该怎么走?本期《开源访谈录》邀请到了开源创业领域的探路者张亮与我们分享他的实践经验。
本期受访嘉宾:
张亮,SphereEx公司创始人&CEO
拥有超过10年的数据库领域探索、实践经验,热爱开源,擅长分布式架构,推崇优雅代码。曾任多家知名互联网企业架构、数据库团队负责人,是数据库技术领域知名开源实践者。Apache Member、微软MVP、腾讯云TVP、Apache ShardingSphere创始人&PMC Chair,同时也是《未来架构——从服务化到云原生》作者。
开源创业,作为一个近两年在国内越来越流行的创业模式,受到广泛关注。基于Apache顶级开源项目Apache ShardingSphere ,张亮创立了商业化公司SphereEx,他在接受CSDN采访时谈到:“2021年我印象最深的事是相熟的几个顶级开源项目的同学们都不约而同地创业了”。但是,想要挖掘一个开源项目的商业价值并将它打造成公司的基石绝非易事,尤其是近两年中国开源社区刚有起色,开源创业更是缺乏成功先例。
回顾自己从一个技术人到开源创业者的这段经历,张亮有感而发,商业化是个全新的挑战。尽管困难重重,但过去一段时间,ShardingSphere开源社区和商业化公司的发展,用数据说话显然更有说服力:根据2021年Apache基金会官方数据,Apache ShardingSphere的代码提交数量位列前十,占整个基金会的1.6%,已然成为Apache基金会中最活跃的顶级项目之一;2022年初,SphereEx完成了成立半年以来的第二轮融资。
那么,作为一个开源创业者,该如何处理“开源”和“商业化”之间的关系?技术人选择开源创业所面临的最大挑战是什么?如何提升开源社区的活跃度?这些问题每次在中国开源创业圈内出现,都会引发一轮热烈讨论。本期《开源访谈录》邀请到了开源创业领域的探路者张亮与我们分享他的实践经验。
从开发者到开源创业者,个人影响力为什么不再重要?
CSDN:从开始接触开源到成为一名开源创业者,你觉得哪件事或者哪个人给你的影响最大?
张亮:开源其实是个很长的道路。最开始了解开源,是因为在学校的教程中接触到了Tomcat。暴露年龄地说,那时是2004年左右,当时我对那只黄色的小猫印象深刻,也对它背后的Apache基金会产生了浓厚兴趣。加上我对编程的热爱,也萌发了自己去做一个开源项目的想法。现在我作为ShardingSphere的创始人,已经陪伴它成为了Apache基金会的顶级项目,可以说,我的梦想在两三年前就已经实现,如今正面临的全新挑战,就是如何将它商业化。这是我在上学或者作为开发者的时候没有想到的事情。
基于ShardingSphere来成立SphereEx公司的初衷,是我始终认为,与其在其他公司做开源,不如自己来做。在其它公司,开源项目可能只是公司布局的1/n,但是自己成立一个公司,把开源项目从代码、架构、运营,再到客户、商业完全打通,需要100%的投入,这是完全不一样的感受。
虽然最初引导我走上开源道路的是Tomcat,但目前对我影响最大的可能是我对ShardingSphere商业化思路的探索,或者说对其发展契机的思考。
CSDN:从一个人开发代码到现在成为创业者,你的个人目标和追求有变化吗?是如何变化的?
张亮:是有变化的。从我自己写第一行代码,到后来将代码开源,组建社区,那时我更关注如何提升个人能力和素质,如何吸纳更多的开发者一起来开发,如何把文档写清晰,如何把代码架构设计好,这类与个人技术、影响力、成长相关的事情。
但是成立公司以后,我觉得这些事情就没有那么重要了。因为一个人的影响力是有限的,把公司有机地凝聚起来更加重要。运转一家公司需要考虑很多,比如财务成本、融资规划等等,另外就是对商业产品的思考,我们不可能永远只靠融资,一定需要通过商业产品造血。那么商业产品如何能击中用户刚需?并且让商业产品和开源产品共进?这变得非常关键,而这些事都需要团队的配合。在团队中,我要做的就是找到合适的人来做更对的事,以及拿到更多的资金支持。在这个过程中,我只是为大家提供一个平台,把控平台方向,让大家发挥所长。
对我而言,现在最大的变化是更愿意把时间放在思考上,而不是盲目地做事。一个人的时候,我所做的事自己能承担后果,但是公司大了以后,如果我盲目地决策,后果由整个公司来承担,这个代价太大。因此,多思考、把方向定下来、让大家有机地配合显得更加重要。
为什么开源原生的创业模式更好?
CSDN:如今开源创业在中国渐渐成为一种越来越普遍的创业模式,可否结合你自己的开源创业经历,和我们谈一谈你对这种创业模式的看法。
张亮:开源创业是个很大的话题。有一类公司我们称之为开源原生公司,这类公司在成立之前其开源项目就已经存在,并拥有比较成熟的社区。另一类开源创业模式,是先成立公司再来做产品,然后将产品开源,这两条路径不太相同。我认为开源原生公司更能影响开发者的心智,因为其开源项目已经存在很久,程序员使用它是自然而然的选择,没有任何利益冲突和纠葛。其背后再建立一个原生的公司提供各种增量服务,就是一种比较顺畅的方式,我选择的就是这种模式。但我并没有在开源项目最初建立时就想到创业,我的初衷其实很简单,就是希望自己的代码被别人看到。随着ShardingSphere的发展,它具备了创业的基本可能,然后我们渐渐地往开源创业方向发展。
CSDN:现在许多的开源技术创造者都想走上开源创业这条道路,对于这样的情况你有什么建议?
张亮:技术人去创业,首先其思路或做事方法会产生很大变化。创业后,他的职业生涯不只是写代码和设计架构,还需要做更多的事情,包括思考项目的商业化进程。对于开源创业来说,要求会更高。
我们需要找到一条合适的路径,让开源和商业化同时做好,这其实就是商业模式的思考。并不是商业化做得越好,开源就做得越差,也不是开源做得越好,就越不能商业化。如何不让商业化影响开源的初心,不让它们形成对立状态很重要。它的难度不在于代码要怎么写,也不在于架构要怎么设计,而在于要想清楚用户的需求。比如哪些用户的需求能提供商业价值?哪些需求被解决后可以造福大众、改变世界?技术人开源创业之后所要考虑的事,与一个一心只想把项目做好、把架构调清晰的工程师或架构师完全不一样。另外,在融资的时候我们还需要向资本圈讲述项目的故事,而资本圈会更加看重项目未来商业化的潜力,这对于一个想创业的同学来说也是挑战。
因此,我对工程师去创业的建议,就是走出自己的领域,拓宽自己的思维。虽然技术可能不是全部,但技术是你赖以生存的基石,如何把赖以生存的基石当成底座,去拓展我们的空间和视野,这是个很关键的问题。
开源商业化的前提是不能影响开源社区健康发展
CSDN:你认为企业划分技术“开源”和“商业化”发展的路径或者依据是什么?
张亮:这个路径可能在每家公司都不一样。对于SphereEx来说,我们的原则是商业化绝对不要影响开源社区本身的健康成长,这也是我们把ShardingSphere捐给Apache基金会的原因。现在ShardingSphere本身不属于SphereEx这家公司,它属于Apache基金会,任何人都可以对ShardingSphere社区做贡献。而ShardingSphere社区也不一定要在SphereEx的监管下成长,因为它们两个是完全独立的。在这个基础上我们会分析对社区有价值的、对工程师具备普适性的能力,并将其开源。而那些对于企业真正有价值的技术可以是闭源的,企业级能力,诸如权限等。在开源中我们普遍不会考虑权限的问题,我们只需要保证软件基本可用就好,但事实上任何一家公司都有自己的权限系统,有自己的工单流程,所以权限之类的功能更加适合商业化。
总的来说,开源只是一种技术、框架,其面向人群是工程师,再通过工程师自己的思考,动手把它搭建起来。商业化则是一个解决方案,让用户开箱即用,比如提供多样化的服务,让用户什么都不用调整就能与其业务进行完美融合。这两点特性会将开源和商业化划分开来。
CSDN:你认为什么样的人适合做职业开源?
张亮:首先他要热爱这个行业,热爱写代码,热爱分享。做开源的同学其实不一定都是写代码的,但是他们有个共同点,那就是愿意分享,并且相信开源可以改变世界。开源是个对公众有益的事,我们非常欣赏那些愿意分享的程序员或者开源的参与者、贡献者。
此外,如果一个工程师的代码非常优雅,我们会更欣赏。在开源中,合作和配合非常重要,优雅代码可以更加容易地让工程师之间产生配合、协作。如果开源工程师的代码更加优雅,就不太容易引起误解、误读。开源工程师的交付和内部系统工程师的交付不太一样,内部系统工程师的交付是交付产品的功能,并保证它没有bug,保证它符合产品原型设计。而开源工程师除了交付这些之外,代码本身也是他的交付物,他们的代码要被所有人学习和修改的,如果他的代码更加优雅,社区内其它的程序员能够更方便地完善它,项目本身也能吸纳到更多优秀的开发者和贡献者。
将社区完全交给开发者,是海外社区建设的关键
CSDN:能否分享一些ShardingSphere在海外社区建设的进展和经验?
张亮:从ShardingSphere决定加入Apache基金会的那一天,其海外社区就开始运营了,它所有的GitHub issue和文档都是英文优先,我们希望通过语言打通自己与海外社区的联系。
与此同时,ShardingSphere作为Apache基金会的顶级项目,基金会的各种活动都有机会优先参与。ShardingSphere团队目前也在海外渠道写书,预计在今年下半年发布,会优先发布英文版本。我们还积极参与了很多编程夏令营之类的活动,受到各个国家海外同学的关注。这些夏令营的形式类似于SIG(Software Interest Group)兴趣小组,有的同学可能只对性能感兴趣,有的同学只对SQL解析感兴趣,甚至有的同学只对Oracle的SQL解析感兴趣,我们会让这些同学专注于他们感兴趣的事情。有个斯里兰卡的同学在社区里非常活跃,为社区做了很多贡献,经过我们的投票,他成为了ShardingSphere的Committer。在这些活动中,我们收获了很多优秀的开源贡献者,而这些海外的同学会持续关注我们,并持续做贡献,这也是SharidngSphere在2021年Contributor增长突破100的原因之一。
ShardingSphere的海外社区能有如此进展的一个关键原因,就是我们完全将ShardingSphere社区交给了大家。它欢迎所有对它感兴趣、愿意为它做贡献的参与者来共建,是个完全开放的社区,而这些特质被海外的开发者认同,同时也被当作开源的靶心和项目基石,为ShardingSphere的海外运营打下了坚实的基础。
当聊到本轮融资会如何催化ShardingSphere和SphereEx的成长时,张亮谈及产品的完成度,他表示基于ShardingSphere的商业化产品完成度已经提升到了80%-90%,包括了ShardingSphere的加解密、弹性迁移、分布式事务以及一站式的管控,几乎能满足客户的大部分需求。ShardingSphere的扩展不会停止,它支持的数据库也会越来越多,任何新的功能随时都可能会开放。从ShardingSphere的整个生态来说,其完成度可能是一个水位线,随着容器的扩大,水位线会有所下降,但它的绝对值仍然在上升。
同时,张亮也分享了目前公司对于Sidecar的支持规划:“Sidecar并不是迟迟没有进展,而是我们经过仔细思考和调研之后,觉得Sidecar是个更适合云原生的产品。”因此Sidecar将被包含在SphereEx的新产品--database mesh中,与ShardingSphere结合,以提供一体化的方案,把数据库的负载层、计算层都做好并把存储层管理好。
对于ShardingSphere的商业化之路,我们时刻关注,并拭目以待!也欢迎更多开源创业者留言交流沟通。
《开源访谈录》是一档聚焦开源发展的访谈类栏目,每周将邀请1位具代表性及影响力的开源专家,探讨大家广泛关注的开源话题,从不同角度还原开源圈真实面貌。