与51岁程序员的心灵对话:开源让我成为2019物联网的最大一匹黑马【物女心经】

2019-07-21

导  读

开源,在它20年前出现的时候,没人想到它会幸存,而且构建出了如此繁荣的生态。开源,一种基于订阅和服务的商业模式,很少有人想到它能够创造如此良好的利润。开源,至少在物联网领域,正在成为一种突破固有格局的利器。面对开源,很多物联网人很难抉择何去何从。巨头实力雄厚,手握开源的能力和先机。物联网领域的初创公司是否值得跟进开源趋势?到底如何跟进?这是一个值得深思的问题。

TDengine Database

这是我在【物女心经】专栏写的第135篇文章。

7月12日,涛思数据创始人陶建辉,宣布将公司独立研发的物联网大数据平台TDengine开源。陶建辉把他和涛思数据团队在过去两年多的时间里,写下的10多万行C语言代码,放在开源社区GitHub上,无私分享给了全球开发者。

这个举动引起了巨大反响。

TDengine瞬间冲到GitHub综合趋势排名第一,在仅仅一天的时间里增加了1908个星标(Star)。

TDengine Database

3天时间TDengine成功超越开源5年的时序数据库OpenTSDB的星标数量。

一周之内累积星标超过5200,代码克隆(Fork)数量超过1200。

这一成绩在物联网数据项目中,可谓绝无仅有。

TDengine Database

开源,已经成为当下无可逆转的潮流。

以物联网领域常用的容器集群管理工具Kubernetes(K8s)为例,2015年7月谷歌将其开源,4年时间里K8s迅速普及,成为了容器化编排的事实标准。

今年7月,IBM以340亿美元完成对红帽的收购,这不仅是IBM史上最大规模的一次收购,还预示着IBM将在开源世界开疆拓土。

就连认为“开源软件是知识产权的癌症”,曾经那么不喜欢开源的微软,如今竟也难逃“真香定律”,在开源领域打头阵,转身成为GitHub 上开源项目贡献最多的组织。

开源,在它20年前出现的时候,没人想到它会幸存,而且构建出了如此繁荣的生态。开源,一种基于订阅和服务的商业模式,很少有人想到它能够创造如此良好的利润。

开源,至少在物联网领域,正在成为一种突破固有格局的利器。

面对开源,很多物联网人很难抉择何去何从。巨头实力雄厚,手握开源的能力和先机。物联网领域的初创公司是否值得跟进开源趋势?到底如何跟进?这是一个值得深思的问题。

因此围绕开源的话题,本周我和陶建辉,这位51岁的超级爱倒腾的程序员进行了一次坦诚的交流,不仅有他的心路历程,还有我们关于开源趋势的共同思索。在本文中你将看到:

  • 初创公司如何选择开源策略?
  • 为什么说开源才能更好的盈利?
  • 开源的未来指向何方?

开源的本质是局部垄断,开源就要开放最核心的代码

【开源策略1】开源就要开放最核心的代码

“开源,既然决定了,就要把最核心的代码开源。”

这恐怕是陶建辉在选择开源之后,最为深刻的认知。

围绕是否开源,陶建辉的团队曾经难以决断。最终,在TDengine开源的代码里,不仅有陶建辉亲手写的3万多行C代码,而且还有最核心的存储引擎、计算引擎程序。

陶建辉说:“宣布TDengine开源之后,如释重负,轻松了不少。终于做了一件我一直想做,但又不敢做,一直犹豫是否要做的事。”

开源了最核心的代码,很多人都不理解,陶建辉为什么要这么做。然而这却是他深思熟虑后,做出的理性决定。

“大家总是好奇为什么TDengine的安装包才1.5 MB?为什么100亿条记录的平均值计算时间3秒不到?单凭语言描述,你可能还是不信。现在我把核心代码开源,把详细设计文档公布出来,秘密全告诉你了。我们的存储和计算引擎特别的好,不信可以自己看。”

如果不把核心代码开源出来,有两个问题没法解决:第一,最终用户还是无法理解TDengine创造的IoT大数据计算奇迹是怎么做到的,因此对产品仍然没有信心。第二,最终用户从其他开源数据库转换到TDengine上没有什么必要,因为没有多大竞争优势,因此不会获得最佳的普及效果。

【开源策略2】开源的本质是创造局部垄断

决定开源,还有个前提,就是想清楚开源的本质。开源,是创造局部垄断的有效方式。

陶建辉看来,在物联网软件领域,有两个趋势必须跟进:云化和开源。云化不是本文的议题,只说开源。

根据埃森哲的市场调查,98%的企业都在以某种形式使用开源软件。下面是10大IoT领域的常见开源项目,你一定对它们有所耳闻。

TDengine Database

从现状来看,开源正在加剧垄断。巨头们正在用亲身实践验证下面的公式:

行业巨头+ 开源模式 = 重塑垄断格局

最早的故事,恐怕是微软的IE和谷歌的Chrome浏览器之争。

浏览器是用户上网的入口,可以衍生出多种商业模式,带来不菲的收益。微软IE浏览器诞生于互联网发展的早期。那时的网页浏览器开发成本很高,软件公司需要自行开发浏览器内核和脚本引擎,同时也要自行设计各种人机互动功能和界面。这样的工作只有微软等大公司才能完成。

由于IE基于微软的一系列私有技术所构建,创新速度非常缓慢。后来者谷歌,不甘心将搜索引擎的入口拱手让人,因此在2008年推出Chrome浏览器。

那么,谷歌计划如何反超微软在浏览器领域积累多年的垄断地位?

谷歌并没有重蹈网景在与微软对战中落败的覆辙,从一开始Chrome就架构在开源的WebKit浏览器引擎之上。基于WebKit,开发者甚至只需设计自己的界面和标志,并拿出一些独创的小功能,即可推出一款新的浏览器产品。

在这样的情况下,浏览器开发的时间周期从90年代的按年计算,下降至按月计算、按天计算。洞悉市场趋势,谷歌不失时机的投资WebKit,恰到好处的满足了市场需求。开源的WebKit聚集了一批浏览器开发商。通过控制浏览器内核,谷歌实际上已经主导了当代浏览器技术的发展。

如今,IE和Chrome浏览器之争的结局一目了然,谷歌颠覆微软,重塑了垄断格局。

谷歌这种通过开源产品去主导市场,充分调动市场各方的参与热情为己所用的策略,远比微软当时通过私有技术去主导市场的做法更高明。

在物联网领域,开源产品也正在逐步爆发。根据2018年RTInsights与红帽合作发布的一份特别报告,那些对物联网的各种全新机遇充满好奇心、并保持主动作风的企业,积极拥抱开源。

在开源工具的使用比重调查中个,领先型IoT企业和跟随型IoT企业的比重是68% : 32%。

TDengine Database

红帽、谷歌和微软为物联网开源项目做出了最多的贡献。

TDengine Database

在很多领域,由于巨头扎堆发布和贡献开源技术,小企业丧失了竞争的机会。

开源之前,同一领域有可能存在数十乃至上百家企业,提供相似的产品和服务。当某家企业宣布将自己的产品开源,往往对成本敏感的中小企业客户,以及主动寻觅最新技术的企业会迅速跟进,共同完善和改进开源产品,形成马太效应,对不开源的私有技术形成一种碾压性“清场”态势。

另一方面,由于开源是一场全球性的竞争,只有两、三家头部企业才能“笑到最后”。依靠由开源产品培养的用户习惯和使用信赖,如果找准机会,对于初创企业而言,开源形成的生态汇聚效应,很容易让一家企业变成独角兽。

【开源策略3】开源体现核心竞争力,必须明确目标和KPI

在宣布开源之前,陶建辉带领团队做了大量的准备工作:

  • [打磨产品]首先,他们对IoT数据的特征建立了全面的认识,TDengine平台能够创造明确的价值。
  • [二次包装]其次,他们为TDengine的代码进行了严格测试、规范风格,撰写了使用说明书,设计文档和技术博客。
  • [贯彻KPI]最后,他们横向对标了同类产品开源的“战绩”,制定了明确的KPI并落实到个人。

接下来我将陶建辉的打法进行逐个步骤的拆解。

[第一步:打磨产品]

陶建辉瞄准的是一个巨大的市场。Gartner的报告显示,联网设备在2019年已经超过142亿,预计2021年将达到250亿,这将产生海量的数据。但与现在大家所熟悉的互联网数据相比,物联网数据有其显著不同特点:

1.物联网数据量巨大:以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录。全国有接近5亿台智能电表,每天光智能电表就生成近500亿条记录。根据预测,5年之内,物联网设备产生的数据将占世界数据总量的90%以上。

2.物联网数据本身的特征明显:时序性、结构化、数据源唯一,而且写多读少。

3.物联网数据的查询和操作与众不同:数据的查询分析往往是基于时间段和某一组设备的;除存储查询外,往往需要实时分析计算操作。

4.物联网数据处理的特殊性:比如要检查某个具体时间的设备采集的某个量,但传感器实际采集的时间不是这个时间点,这时候往往需要做插值处理。还有很多场景,需要基于采集量,做复杂的数学函数计算。

因此,在TDengine的设计过程中,完全为物联网行业的需求而量身定制:

1. 实现10倍以上的性能提升

陶建辉团队重新定义了时序数据的存储结构,TDengine成功让数据插入和读出的速度比现有通用数据库高了10倍以上。如果使用8核服务器,100亿条记录的平均值计算时间不到2秒。

2. 总拥有成本大幅下降

由于追求极简和极致,TDengine计算资源不到通用大数据方案的1/5,存储空间不到通用数据库的1/10。而且零管理,运维成本也大幅下降。

3. 零学习成本

TDengine安装包仅仅1.5M,不依赖任何其他软件。从下载、安装到成功运行只需几秒就能搞定。而且应用API与MySQL高度相似,让学习成本几乎为零。无论是十年前还是一秒钟前的数据,指定时间范围即可快速入手直接查询。

[第二步:二次包装]

陶建辉团队虽然对TDengine具有极强的自信,但酒香也怕巷子深。毕竟市场上有太多的可替代方案。只有将自己最美、最有吸引力的地方充分展示出来,才能吸引更多的人来使用。

怎么让更多人领会到TDengine精妙的架构呢?

为了开源,团队备战了一个月时间。

首先,团队花费大量精力调整并测试代码,让TDengine的程序代码更加规范、更加稳定。做到让其他的程序员不仅能看得明白,看得清楚,还能体现出TDengine的极致和专业。

随后,团队投入时间写作说明文档,把各种技术实现的细节写了出来,而且这个步骤本身就在相当程度上回答了潜在用户关于性能和指标的质疑。

开源的受众群体,不仅有中国的开发者,还有更多的全球开发者,因此英文文档也不可或缺。同时由于TDengine只是中间件,不是最终应用,团队又开始写作各种应用案列,结合车联网、IT运维、数控机床等实际场景,将TDengine的使用方法明明白白的写了出来。

最后,TDengine的官方网站也被全新改版,内容一目了然。

TDengine Database

[第三步:贯彻KPI]

开源也是一次宣传活动,如果不能触及最广泛的受众群,开源也就失去了意义。

陶建辉对标了InfluxDB、MongoDB、Elastic Search、OpenTSDB等开源数据库在GitHub上面的表现,认为星标Star数量和代码克隆Fork数量是两个关键指标。

他希望团队用3个月的时间,能够追赶开源时序数据库OpenTSDB在5年时间内完成的KPI:Star超过3000,Fork超过1000。

为了达成KPI指标,团队制定了有条不紊的宣传策略:在全球架构师峰会上率先宣布TDengine开源计划,同步在涛思数据的官方渠道上推广,并且陶建辉还利用个人的微信公众号等渠道进行花样传播。

效果毋庸置疑,仅用3天时间,陶建辉和他的团队就完成了既定目标。更有网友自发将TDengine与排名第一的开源时序数据库InfluxDB的性能进行了对比,TDengine做到完全秒杀。为了以示公正,该网友还彻底开放了测试使用的源码、配置和环境。

开源是一座冰山,冰山之下是源源不断的利润来源

开源往往和“不盈利”或者“微利”画上等号,实际上这是对开源的一种最大的误解。

真相是,开源是一种“反直觉”的商业模式,开源是一笔大生意。

开源是一座冰山,冰山之下是源源不断的利润来源。

我们直接举例说明。

刚刚被IBM收购的红帽,是世界领先的开源解决方案供应商。

红帽的收入曾经主要来自销售Linux的企业版本。虽然一度发展不及Windows,但是开源是每个开发人员都能从中受益的东西,最终集腋成裘,可以说现在世界是由Linux统治的。

TDengine Database

相比Linux,以Linux为基础的开源云端操作系统OpenStack,对红帽来说更加有利可图。根据分析,OpenStack销售额的年复合增长率一直保持在35%左右。

TDengine Database

根据2019年2月红帽发布的财报显示,红帽在过去一个财年的收入已经超过33.6亿美元,它是有史以来第一个每年营收超过30亿美元的开源软件公司。

TDengine Database

细看红帽的收入构成,主要来自订阅式软件收入和培训服务费用,订阅式软件创造的收入占到将近九成。

回顾红帽超过20年的营收增长历程,可以发现虽然开源软件服务市场,营收的稳定性和可靠性建立需要经过很长的时间,但是一旦开源软件的“雪球”滚动到一定规模,就可以持续正常运行,并且用户粘性很强。

虽然不被看好,但红帽用连续多年的出色业绩证明了开源的盈利能力。从红帽的具体经营指标分析,由于开源软件的粘性,利润率相对可观。稳固的可持续性订阅式收入,还为公司创造了足够的流动性,抗金融风险和抗经济周期的能力都很强。

TDengine Database

从2018年开始,不知不觉中,开源软件迎来了期待已久的聚光灯时刻,成为新兴业务的主战场。不仅IBM收购红帽,还包括Salesforce收购Mulesoft、微软收购GitHub、VMware收购Heptio、Cloudera和Hortonworks合并、Elastic上市…一系列备受瞩目的开源生态的资本运作轮番展开。

商业内幕(BusinessInsider)的文章显示,2018年有大约700亿美元的并购、股权投资和上市事件与开源软件有关。现在有40家开源软件公司的年收入超过1亿美元,而在5年前,这一数字还只有5家。

TDengine Database

因此有专业投资人将2013年逐步崛起的开源软件趋势,定义为开源软件(OSS,Open Source Software)的新阶段:商业化开源软件时代(COSS,CommercialOSS)。

开放和协作是开源软件的核心,随着开源软件带来的好处不断增加,开源已成为大家认可的商业模式。下图是我对开源商业模式的简单梳理。

TDengine Database

现在,越来越多的风险投资机构,也对开源生态体现出浓厚的兴趣。

TDengine Database

对于开源的商业模式,陶建辉的感受非常直观。开源之前他和团队需要一家家去拜访客户,完成整个销售流程。而现在大量用户主动上门询问,把涛思数据的企业邮箱都挤爆了。基于用户对于开源单机版TDengine的信赖,集群版TDengine的销售水到渠成的自然完成。

与其被动等待,不如主动拥抱开源的“破坏性”影响

7月18日,中国工程院院士倪光南在江西国际移动物联网峰会演讲时,引用了下图中的数据,显示软件产业是中国增长最快的产业之一。他说,中国工业软件从无到有,已能提供一系列国产工业软件产品,但与国际先进水平相比仍有很大差距,存在明显短板。

TDengine Database

倪光南院士提到,最近GitHub更改了用户协议,新协议显示其服务器及用户上传的信息要接受美国法律监管,包括美国的出口管制法律。这一举动说明,我国缺少自主研发的产业基础性关键软件的现状,有可能同样面临“被卡脖子”的严重风险。开源软件已经成为软件业的主流。

陶建辉认同倪院士的观点,他认为随着云计算、物联网、大数据等技术的发展,开源软件的发展速度有可能会超出预料。过去中国的软件工程师大多数都是开源软件的受益者和使用者,现在,到了我们共同为开源软件社区做贡献的时候,他希望更多的国人能够敞开心扉的拥抱开源、融入开源。

“虽然现在开发TDengine这类底层核心软件的人还不多,但是我能感受到工程师们对这类软件的热情非常高、能力也非常强,国内的底层核心软件一定能搞起来。”

“如果我们一起开发出极为高效的物联网大数据平台,而且被全球开发者所使用,你是贡献者之一,那将是一件多么自豪的事情。钱再多,也难让人在历史上留下痕迹,但一幅好的作品却可以传承下去。愿TDengine成为传世之作,Leave a dent in the universe.”陶建辉说。

TDengine Database

最后,如果大家想支持这位51岁的程序员和他的涛思数据团队,请到GitHub上搜索和下载TDengine源码,开源链接是https://github.com/taosdata/TDengine。

本文小结:

  1. 开源的本质是创造局部垄断,心法包含三步:打磨产品、二次包装和贯彻KPI。
  2. 开源是一种“反直觉”的商业模式,开源是一笔大生意,商业化开源软件时代已经来临。
  3. 过去中国的软件工程师大多数都是开源软件的受益者和使用者,现在,到了我们共同为开源软件社区做贡献的时候。

原文:https://mp.weixin.qq.com/s/mvSivknqC3u1nYssAg8hNQ