当前位置: 首页 > 编程日记 > 正文

给力!斩获 GitHub 14000 Star,两周创办开源公司获数百万美元融资

作者 | 伍杏玲

出品 | AI 科技大本营(ID:rgznai100)

上世纪 90 年代初,21 岁大学生 Linus Torvalds 开源 Linux 操作系统,自此掀起全球开源浪潮。随后“中国 Linux 第一人”宫敏博士用手提肩背的方式将 20 盒磁带背回中国,磁带里装着 80G 容量的自由软件,组建起中国第一个自由软件库,点燃中国开源之火。

20 年时间滑过,中国开源力量在全球舞台上表现亮眼,喜讯不断,捷报连连:今年 3 月,开源被列入“十四五”规划;2020 年成立中国首个开源基金会开放原子开源基金会,推出中国首个国际通用开源协议木兰。在融资资本上,PingCAP 完成 D 轮 2.7 亿美元融资;TDengine 背后的涛思数据拿下 4700 万美元 B 轮融资;如今深受开发者喜爱的分布式数据库中间件 ShardingSphere,由其核心团队组建的商业公司—— SphereEx 完成了数百万美元天使轮融资。

在这背后,离不开两位开源“赶集人”——Apache ShardingSphere 及 ElasticJob 创始人& PMC Chair 张亮、Apache ShardingSphere PMC 潘娟,多年来孜孜不倦地投入。CSDN 专访两位 SphereEx 创始人,聊聊这一路走来,从普通从事开源的工程师到成功创办开源企业获得融资的心路历程。

左:张亮,右:潘娟

跌跌撞撞开源路,瞄准分布式数据库中间件

时间拨回最初的启程,2015 年是张亮从事开发的第 10 年。“十”似乎是个有魔法的数字,每个人在“十”的节点上,或多或少遇见难忘的人和事。

这一年,张亮开源了第一个项目分布式调度框架 ElasticJob,当前 Star 数为 7K+。随后于 2016 年 1 月,开源数据库分库分表中间件 Sharding-JDBC(ShardingSphere 的前身),Sharding-JDBC 迅速引发开发者的关注度。

“早在 2008 年,我就想从事开源工作,当时自己开源了一个小项目,不过并不成功,star 数量寥寥可数。从 2008 年到 2016 年,这八年来我一直没有放弃做开源基础设施相关的项目,直到 2014 年起,我开始思考下一代基础设施将会如何发展。我预感分布式应是关键的发展技术,于是我逐渐找到适合发展的开源路径,找到毕生发挥余热的事业。”张亮回忆往事。

谈及 ShardingSphere 五年的发展历程,每一步似乎走得稳妥与顺利:

一开始,Sharding-JDBC 是一套扩展于 Java JDBC 层的分库分表中间件,最初目标是透明化分库分表所带来的复杂度,包括数据源的管理、根据业务进行的SQL 改写等。

随着张亮将它带进京东数科,在大公司里有了更大的落地应用场景。Sharding-JDBC 逐渐定位为面向云化的数据库中间件,从分库分表的 Java 开发框架演化成如今的分布式数据库生态体系。

2018 年 11 月,ShardingSphere 进入 Apache 基金会孵化器,仅用时 17 个月,便于 2020 年正式从 Apache 基金会毕业,成为 Apache 顶级项目。至此 Sharding-JDBC 也完成到 ShardingSphere,再到 Apache ShardingSphere 的转变。

当前的 ApacheShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 3 款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。该项目在 GitHub 上收获 14000+ Star 数,近 170 家公司落地应用,拥有超过 200 位贡献者。

五年野蛮成长,两周创立公司

他说“尚未成功,还在逐梦路上”

从 2016 年起,ShardingSphere 有了 5 年的技术和生态积累,且随着近几年国家大力支持基础设施建设,国内开源发展红火,让开源项目增添更多商业化可能性,张亮和潘娟意识到是时候集合更多资源共同将 ShardingSphere 做大做强。于是 SphereEx 应运而生。

SphereEx 的创办非常迅速。今年春节前,张亮和潘娟开始紧锣密鼓筹备公司事宜,春节后便拿到首轮融资。“如果不算春节休假的话,差不多两周左右的时间。”张亮说。

公司名称“SphereEx”的含义深远:“Sphere”是“ShardingSphere”的延续,代表“生态”,“Ex”是扩展和探索,“SphereEx”代表“生态+扩展”,表示大家对 ShardingSphere 未来有更多的拓展和延伸,因为从技术产品规划上,除了ShardingSphere 外,公司还推出其他产品,如数据库网格治理产品 Database Mesh,与 ShardingSphere 完全独立的分布式调度平台 ElasticJob 等,未来公司还有更多的开源项目和商业化项目。

从诞生到成立公司、获得融资,ShardingSphere 花了 5 年时间,似乎在技术、生态、资本各方面走得顺风顺水。“五年成长时间正是一个标准的开源项目开始向商业化转型所需时间”。

实际上,这一路走来遇到不少困难:当初 ShardingSphere  进入 Apache 基金会中间就历经波折。由于最初 ShardingSphere 是张亮一人完成项目的 80% 代码,Apache 基金会认为,这个项目属于一个人掌控的项目,暂时不适合进入。随后张亮积极在京东数科落地 ShardingSphere,让越来越多的人参与进开源项目,并逐渐组成团队来运营社区,让 ShardingSphere 变成一个友好、分散、生态建设良好的项目,才顺利从Apache 基金会毕业。

又如  ShardingSphere 中间进行了很多次转型,从上文提到 ShardingSphere 经历几次更名就可以看出来,它可不是什么没有故事的开源项目。其中关键的两次重大变革就有:

一是从 Sharding-JDBC 演变成 ShardingSphere ,因为 Sharding-JDBC 一开始是 JDBC 的驱动端,而后研发了 Sharding-Proxy 工具,由于它已不再是单纯的 JDBC 启动端,以前的名称不合适,于是更名为“ShardingSphere”,Sharding-JDBC 和 ShardingProxy 均为其子项目。

二是 ShardingSphere 逐步演变成一个可插拔平台,拥有数据分片、数据加密、分布式治理、弹性迁移等功能,以及 160 多个模块。

这中间的曲折演进过程不是张亮一个人掌握的,由于社区不断成长、开发者和企业的使用优化,自然而然进行迭代的。

ShardingSphere 像一棵拥有生命力的植物,它不是被某个开发者人工雕琢而成,而是吸取了众多开发者的营养贡献,自然成长发展。”张亮感慨道。

潘娟分享了一路见证 ShardingSphere 发展,总结了 ShardingSphere 深受开发者喜爱的原因:一是 ShardingSphere 给开发者和企业提供价值;二是赶上国内开源迅速成长的大环境;三是在大厂生根发芽,得到广泛传播;四是优秀团队支持。

张亮理智地表示:“我们成立 SphereEx 公司后,并不代表成功,我们还在路上。只是以后大家能全情投入,共同朝着一个目标前进。现在远没有到论功行赏、评头论足的时候,正在快速发展中。我们始终坚持以开放的心态欢迎更多的人参与进来,一个人走得会很快,很多人会走得很远。

从开发者转为管理者,忙碌的现状

笔者在红杉成长中心办公室见到两位创始人,公司刚刚成立不久,两位创始人现在忙于各项公司运行事项:研发产品、员工沟通、布道宣传、各岗位招聘面试等。

一下子从开发者转身为企业创始人,该如何面对角色转变带来的压力?

张亮坦言四字箴言,被推着转。在创办公司过程中,他尝试了很多以往没有做过的事情,均是新鲜的体验,例如对接投资、组建公司细节等。这段时间张亮的眼界和格局开放不少,更期待和更多人完成更多有趣的事情。

如今张亮每天要求自己把写代码的时间降低到 40-50% 左右。其他时间是跟各种人沟通协调,“公司现在刚搭建,人力招聘、办公室等琐碎事情都需要花一些心思。”

毕竟开源不像在原来“个人英雄主义”的时代,现在做开源一定是“团体作战”,要想清楚该做什么事、往哪个方向发展,所以我们正组建团队,让更多人加入开源生态,减低个人瓶颈。

谈及今年的发展规划,张亮表示:

第一个目标是和团队做好磨合。目前虽求贤若渴,但分别设置团队 30、50、80 人的上限,假如团队到 30 人时,先观察团队的磨合度,如果团队磨合得还不错,那么继续招聘到 50 人;如果团队还有些摩擦力,就先放缓招聘速度,如此类推。目前办公室的规模是按照 50 人来设计的,因此今年的招聘目标为 50 人。

第二个目标是市场运营。今年将在社区运营下更多功夫,正确传达 ShardingSphere 的理念和技术。另外预计在海外开展社区运营工作,甚至成立办公室,让 ShardingSphere 走向国际。

第三个目标是产品研发,将投入约 20 人在开发垂直领域功能,让产品更加稳定。

同时张亮坦言,今年还没有商业计划,目前将全部精力用在产品研发、开源社区的建立上,让 ShardingSphere 为开发者和企业发挥其价值,才有更多商业化机会。

与开源同成长

尽管上文谈到国内开源发展的利好,可同时面临窘境:据 CSDN 《2020-2021中国开发者调查报告》显示,82% 的开发者在开源上每周投入时间不超过 5 小时,每周在开源项目上投入时长超过 30 小时的仅占比 2%。77% 的开发者表示,不曾在开源上获得收入。

对此,潘娟分享了她与开源结缘的故事:

2018 年,张亮将 ShardingSphere 在京东数科做落地推广时,时任 DBA 的潘娟惊喜地发现 ShardingSphere 与自己一直想要的诉求完全相符,正是自己一直想做却没做的项目,于是转到张亮麾下,专门从事 ShardingSphere 的开源工作。

她坦言,当时初出茅庐,对开源一窍不通。但正是出于维护好、运营好项目的心态,驱使自己多吸收开源的知识来快速成长,同时积极参加开源 Meetup 活动、多与志同道合的开源人员沟通,心态慢慢开放和热衷开源文化,顺理成章地成为其中的“赶集人”。

潘娟在开源分享会上,遇到不少想从事开源却没有时间的开发者,由于国内外开源环境不同,譬如初入职场的新人,工作繁忙着急上手,要是让他抽出时间来参加开源,确实较困难。

对此,潘娟建议道:

一是将开源组件引入公司项目,如果能将一个比较成熟和活跃的项目引入公司,自然而然可以在工作时间里参与到开源中。

二、假如无法在公司做开源,需要在业务时间参与开源的话,千万不要认为这是一件添加更多压力的工作,希望大家出于兴趣爱好而参与开源,享受这个过程,从而获得成长。并不一定规定大家在一周内必须参与多少时间,可以把时间拉长些,持续参加,慢慢积累。

三是加入 SphereEx 这类开源公司。潘娟进一步介绍参与开源的方式不一定就是贡献代码,还可以是回答问题,参与 MeetUp 活动等。譬如她刚开始参与 ShardingSphere 便是通过文档翻译形式参加,将项目的中文文档翻译成英文,提供给国外开发者阅读,而后才逐渐成长为 SphereEx 创始人。

开源不是一蹴而就,脚踏实地方能仰望星空

对于开源生态建设,无疑是开源开发者的头疼难题,ShardingSphere 获得 14K+ Star,两位创始人根据过往在生态建设的经验,给出自己的思考:

张亮恳切表示,希望大家能融入开源的心态,做开源不是重复做一个轮子出来,就可以颠覆掉现有的开源生态。我们只有融入这个生态,共同玩转开源。建设开源很关键的一点是,看清自己该做什么、不该做什么,该配合别人做什么、该让别人配合自己做什么。

潘娟表示,一是只有做对他人有帮忙的开源产品,别人才愿意参与贡献。二是保持开放的心态和开源的理念,参与开源社区和基金会,共建生态。三是多考虑一线用户需求,从实际应用场景出发。四是核心团队人员开拓自身视野,多关注国际化、生态行业发展,带领大家走向更好的高度。

最后,谈及最近几年国内开源火热发展现状,张亮理性地提醒道,尽管当前国内开源发展现状看起来很乐观,但很多项目和国际顶级开源项目相比,差距较大。我们能否推出那些顶级开源项目还是未知数,未来还有很长的路要走。

另外,建设开源生态是需要积淀,不是简单促成的。大家不要以为,现在大环境看起来不错,便能一蹴而就获得成功。我们需理性观察,尽管当下开源火热,但其中成功的开源项目和开源公司不是现在出现的,而是历经三五年的静默期和积累期,才顺势发力,获得当前成就,所以希望大家脚踏实地,共建开源生态。

SphereEx 官网:http://www.sphere-ex.com/

ShardingSphere 官网:

https://shardingsphere.apache.org/

Apache ShardingSphere GitHub 地址:

https://github.com/apache/shardingsphere

张亮,ApacheMember,Apache ShardingSphere 及ElasticJob 创始人& PMC Chair,前京东科技架构专家、当当架构部总监。他擅长分布式架构、推崇优雅代码、热爱开源和技术分享。曾多次在大型技术峰会中担任出品人和分享嘉宾。出版书籍《未来架构——从服务化到云原生》。

潘娟,ApacheMember 及 Apache ShardingSphere PMC,前京东科技高级 DBA,曾负责京东数科数据库智能平台的设计与研发,现专注于分布式数据库 & 中间件生态及开源领域。被评为《2020中国开源先锋人物》,多次受邀参加数据库 & 架构领域的相关会议分享。


2001 年创刊,20 年技术见证 
《新程序员001:开发者黄金十年》 
重磅来袭扫描下方二维码,添加小助手
即刻加入 AI 科技大本营「读者群」
群内将不定期放送福利
快快加入吧!

相关文章:

root密码忘记怎么办

开机按e进入系统的紧急求援模式依次输入一下命令:mount -o remount,rw /sysrootchroot /sysrootecho "输入新密码" | passwd --stdin rootexitreboot转载于:https://blog.51cto.com/11552940/1971850

C#内容分页简单实现代码及祥解

//定义变量 int i,start,stop,t,stat,statt,pp,pagecount,pagesize; //变量初始值 stat0; statt0; start0;//开始查询的字符串位置,初始为0 stop0; pagesize2000;//定义每页至少显示字符串数 pagecount0; //获得当前的页数 paRequest.Params["page&qu…

灵活越障、花样空翻,腾讯轮腿式机器人亮相机器人顶会 ICRA

6月3日,腾讯轮腿式机器人Ollie(奥利)正式亮相。它像一个灵活的“轮滑小子”,能完成跳跃、360度空翻等高难度动作。 轮腿式机器人(wheel-legged robot)是近年来机器人研究的前沿领域。Ollie兼具轮式结构和腿…

android学习笔记之十服务(Service)

2019独角兽企业重金招聘Python工程师标准>>> Service拥有一个单独进程的模块. 1,继承自Service类,须实现public IBinder onBind(Intent intent) 2,通过startServie触发运行,stopService终止运行 生命周期: onCreate(如果是第一次运行) -> onStart -> onDest…

宝塔Linux常用命令

https://www.bt.cn/bbs/thread-1186-1-1.html 2017年3月8日发布全新架构的宝塔Linux 面板3.1Beta版,到现在的5.2.0正式版,历经100多天打磨,宝塔研发工程师做了大量优化适配,从最开始的只支持CentOS到现在支持CentOS、Ubuntu、Debi…

EMAIL发送系统(C#+基于SMTP认证) 2.0

这个是对于 EMAIL发送系统(C#基于SMTP认证) 1.0 的改版这个第一版是2002年11月写的,过了一年半了,才有人提意见,就修正了一下,因为后来做的项目一直用不上,也就没有注意到 前段时间有网友反馈了一些问题,这…

“奥利”来啦,腾讯Robotics X实验室跑出的“轮滑小子”

6月3日,腾讯Robotics X实验室的新成员——轮腿式机器人Ollie(奥利)正式亮相,它是机器狗Jamoca、Max和自平衡自行车之后,实验室又一创新成果。轮腿式机器人(wheel-legged robot)是近年来机器人研…

如何写一篇好的技术博客

在工作过程中,发现对很多东西都一知半解,不是很透澈,到头来很容易模糊,如果有一篇好的技术博客予以总结,一来即使忘记了,回国头来再看,仍然能 够从自己的思路中恢复;二来总结一下&am…

使用react心得

为什么80%的码农都做不了架构师?>>> 在使用react中,总会碰到这样那样的问题,如何解决这些问题,希望能够随着时间的积累,慢慢成熟! 在react中的renden函数里,不能使用setState这个方法,不然会死循环,原因:是因为setState会触发render,而render后又触发se…

将Byte数组转化为String

FCL得很多方法的返回值都是包含字符的Byte数组而不是返回一个String,这样的方法包含在如下的类中: System.Net.Sockets.Socket.Receive System.Net.Sockets.Socket.ReceiveFrom System.Net.Sockets.Socket.BeginReceive System.Net.Sockets.Socket.B…

[题解]UVA10054 The Necklace

链接:http://vjudge.net/problem/viewProblem.action?id18806 描述:给出一堆珠子,每个珠子有两种颜色,有一端颜色相同的珠子可以串在一起,问是否可以把所有珠子串在一起,并求其中一种方案。 思路&#xff…

程序员大厂不一定要进,算法必须要学!收藏89篇精选算法文章

为什么程序员都需要学算法?程序员对算法通常怀有复杂情感,算法很重要是共识,但是否每个程序员都必须学算法是主要的分歧点。很多人觉得像人工智能、数据搜索与挖掘这样高薪的工作才用得上算法,觉得算法深不可测。在面试中&#xf…

专有云到混合云,是云计算的下半场?

查获案件案值达数十亿,为国家挽回近十亿元税款,是海关情报系统在全国应用一年后交出的答卷。 海关情报系统是海关总署与阿里云专有云共同搭建海关大数据云平台后推出的首个应用。 专有云的使命:激发政企大脑潜能 十年前,自己动手D…

C# 2.0 的partial

partial 关键字的作用是将你的 class 分为多个部分,编译器会将多个部分拼到一起去。 public partial class SampleClass ...{ public void MethodA() ...{ } } public partial class SampleClass ...{ public void MethodB() ...{ } } 和 public class Sa…

findbugs:may expose internal representation by ret

2019独角兽企业重金招聘Python工程师标准>>> findbugs:1. *** getXXX() may expose internal representation by returning ***.getXXX 2. *** setXXX(DATE )may expose internal representation by storing an externally mutable object into setXXX *…

AI时代的幕后英雄:谁在生产高质量的AI训练数据?

在AI浪潮的推动下,软件正在朝着更「智能」的方向发展。2017年,特斯拉人工智能部门主管、李飞飞高徒Andrej Karpathy提出了「软件2.0」的概念。 什么是「软件2.0」?其实就是神经网络。 在「软件1.0」时代,程序员用Java、Python、…

Webpack 核心开发者 Sean Larkin 盛赞 Vue

dev.io 近日邀请了 Webpack 核心开发者 Sean Larkin 回答开发者提问,其中几个问提比较有意思,和掘金的小伙伴们分享一下。 先上点前菜: 有一个开发者问 Sean 如何成为一个热门项目的核心作者。Sean 没有一上来就说该做什么,而是先…

设计模式C#描述——单例与多例模式

设计模式C#描述——单例与多例模式 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单…

Nutch插件开发及发布流程

2019独角兽企业重金招聘Python工程师标准>>> 一,插件开发流程: 1,Nutch开发客户端环境搭建 2,plugin的源代码则保存在/src/java/org/apache/nutch/parse/self/ 类实现实例: public class CustomizedIndexin…

网红 AI 高仿坎爷发布说唱情歌,歌迷:堪比真人原声

来源 | Hyper超神经头图 | 下载于视觉中国近日,一个基于 Tacotron2 和 Transformer 实现文字转声音的 AI 应用——Uberduck.AI 破圈了,不少 TikTok 、YouTube 网红博主都在推荐这一神器。YouTube 的网红音乐艺术创意机构 Herr Fuchs 发布了一首新歌&…

设计模式C#描述——抽象工厂模式

设计模式C#描述——抽象工厂模式 阅读此文应先阅读简单工厂模式与工厂方法模式 抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步推广。 假设一个子系统需要一些产品对象,而这些产品又属于一个以上的产品等级结构。那么为了将消费这些产品对象的责…

怎样才能学好Vue,听听尤雨溪怎么说?

如果你想问前端最值得学习的框架是什么,我一定会毫不犹豫地告诉你是Vue。无论你是技术小白还是前端工程师,Vue的重要性自不必多说。从首个Commit的提交到破茧重生的Vue3、Vite2,Vue凭借轻量级、简单易学等优势,不仅荣登GitHub Rep…

如何彻底卸载mysql(xp)

如何彻底卸载mysql 完整的卸载MySQL 5.x 的方法: 1、控制面板里的增加删除程序内进行删除 2、删除MySQL的安装文件夹C:\Program Files\MySQL,如果备份好,可以直接将文件夹全部删除 3、开始->运行-> regedit 看看注册表里这几个地方删…

(一)JNDI基础

一、简介 在Tomcat 4.1.27之后,在服务器上就直接增加了数据源的配置选项,直接在服务器上配置好数据源连接池即可。在J2EE服务器上保存着一个数据库的多个连接。每一个连接通过DataSource可以找到。DataSource被绑定在了JNDI树上(为每一个Data…

C# Idioms: Enum还是Enum Class(枚举类)

原文排版格式:http://www.marshine.com) reversion:2004/5/28 修改说明:感谢Ninputer提到的CLS兼容问题,同时修改了原来版本没有提及的Equals改写,以及修改""重载的不完善代码,和增加enum struct内容 reversion:2004/6…

构建第三代人工智能核心能力,清华、阿里、RealAI等联合发布最新AI安全评估平台

科技是发展的利器,也可能成为风险的源头。近日,张钹院士在智源大会上表示,AI的发展带来了科技是发展的利器,也可能成为风险的源头。近日,张钹院士在智源大会上表示,AI的发展带来了新的风险和安全隐患。 在…

Java 事件响应

按钮按钮(JButton)在界面设计中用于激发动作事件。按钮可显示文本,当按钮被激活时,能激发动作事件。JButton常用构造方法有:JButton():创建一个没有标题的按钮对象;JButton(String s):创建一个标题为s的按钮…

C# Idioms: Safely方法

(原文排版格式 http://www.marshine.com) 名称 Safely Method 意图 通过方法保证返回有效(不为空引用,null或Nothing)的对象或抛出异常,当存在多个调用者时简化调用者需要处理null返回值的代码。 动机 一个存放对象的集合或类似功…

Akka的Actor编程

2019独角兽企业重金招聘Python工程师标准>>> ActorSystem(“companyname”) 相当于注册一家公司一样,负责: 通用配置 如:dispatchers, deployments, remote capabilities and addresses 创建Actor和搜索actor 通常一个应用一个…

干货!机器学习中,如何优化数据性能

作者 | 中国农业银行研发中心 张梓聪出品 | AI 科技大本营(ID:rgznai100)头图 | 下载于视觉中国得益于覆盖各种需求的第三方库,Python在今天已经成为了研究机器学习的主流工具。不过由于其解释型语言的特性,在运行速度上往往和传统…