又是一年年末,今年最大的变化就是我离开了青云,成为了一个彻底的开源工作者。

最直接的原因是我一直以来视若珍宝的项目 BeyondStorage 被暂停了。

BeyondStorage 承载着我一直依赖的梦想:一个跨云数据服务开源社区。

我们社区计划用完全开源的方式构建一个通用的存储库,向下对接各个存储服务,向上封装数据迁移,备份,管理等多种应用。这样应用开发者只需要开发一次就能让自己的应用跑在任意存储上,而用户则可以自由选择数据存储的位置。我当时向所有人描绘的愿景是:

  • 我们可以通过 FTP/WebDAV/S3/FUSE 等多种公开的协议访问存储数据
  • 我们可以通过在不同的存储服务之间迁移数据,比如 s3,google drive,icloud 等等
  • 我们可以将数据备份到任意存储
    • 支持将备份直接挂载为文件系统,从而可以提取备份中任意文件

但是青云是一家云厂商,所以我需要向青云展现别的故事:

  • 提供存储网关,支持用户通过多种协议访问存储在对象/文件中的数据
    • 比如说用户可以直接通过 FTP 协议访问云上某个主机内的文件
  • 提供数据迁移在线服务,支持用户从任意存储迁移数据到对象/文件
    • 比如说用户可以将私有云中的数据迁移到对象
  • 提供数据备份在线服务,支持用户将数据备份到对象/文件
    • 比如说用户可以在 macOS 中通过 Time Machine 将数据备份到对象

但显然的,这些故事并不新颖,也没有足够的商业可能性。当时的灵魂发问是这样的:我们怎么挣钱?坦白的讲,我没考虑过挣钱的事情。市场上有一家类似的标的叫做: MultCloud,他们就专注于跨网盘传输文件。存储网关明显没有挣钱的可能,而数据备份服务还只是愿景,没有落地成产品,唯一有可能产生收益的项目是数据迁移服务。但是对青云来说,数据迁移服务只是锦上添花的事情。逻辑是这样的:用户只有决定了采用青云,才会有使用数据迁移服务的可能。换言之,用户不会因为青云的数据迁移服务做得好就选择采用青云的云服务,也不会因为做的烂就不用青云,总能找到办法把数据迁移过来的。所以最后的决定是先暂停 BeyondStorage 项目,先解决青云本身业务量的问题:只有先把盘子做大,后续才会产生对数据服务的需求。

我后来想明白了核心的矛盾点在哪里:我想做的是完全中立的跨云数据服务,这个服务跟青云的核心利益是冲突的。青云并不支持我的梦想,在他们眼里,这就是一个带 UI 的迁移工具。当然了,商业公司的核心目标就是为社会创建价值并以之盈利,没有责任也没有义务去实现员工的个人梦想。是我一厢情愿的把自己的梦想强加在了青云之上,还连累了团队里面好多同学,他们被迫在试用期还没过的时候就换组,重新适应新的团队。

说实话,很难受。年初正式成立 QingStor 生态团队的时候有多兴奋,现在就有多难受。

什么都不想做,只想离开青云,去哪里都行。睡了一觉之后,清醒一些了,也不是去哪里都行:要去一家开源公司,最好能用 go 或者 rust,支持远程,最好待遇还能提升一些。当时非常幸运地约到了 JuiceData 的 @Suave 和 Databend 的 @BohuTang 老师,分别就这两个开源项目聊了很多。最后决定去 Databend 搞开源数仓,一方面我有一个机会可以转向从事 Rust 开发,另一方面我也能复用自己在存储层的积累,在数据库领域做一些有意思的事情。当然了,Databend 本身就需要一个跨云的数据底层框架,我说不定可以再续前缘(

来到了 Databend,我开始尝试真正的开源生活:

快乐,快乐多了,这才是我想要的生活。我就是这样一个浅薄好面子爱分享的人,开源生活太适合我了(


最后

  • 感谢女朋友今年一如既往的陪伴,在我最艰难的时候还在支持着我
  • 感谢青云六年里给我放手做事的空间,如果不是在青云的这段经历,我也无法得到现在的这份工作
  • 感谢社区小伙伴今年给的每一条评论和点赞,你们的支持是我前进的最强动力

新的一年,希望能有一个新的开始,共勉。