聲明:本文來自於微信公眾號 CSDN(ID:CSDNnews) ,作者: Just,授權站長之家轉載發布。
「CEO到底要不要寫代碼?」
談起他最近將要發布的一篇推文主題,濤思數據CEO陶建輝笑稱,世界 500 強高科技公司的CEO也得寫代碼。作為一個 50 多歲還在寫代碼的「 10 倍工程師」,他在最近開源的TDengine 2. 0 版中又寫了超 1 萬行代碼。
陶建輝說,最新版是個 80 分的產品。他坦陳,去年1. 0 版發布肯定有很多缺陷,比如存在設計的不足、代碼不夠規範等問題,但經過大量不同場景用戶的實際檢驗,最新版在質量上有大幅提升,他們優化了設計、重構了核心代碼,並積極加強測試,在1. 0 版發布後推行持續集成、持續部署、代碼覆蓋檢查等。
最終,TDengine 2. 0 版開源了集群功能,還解決了元數據的分布式處理,以及亂序情況下的性能問題。開源後開發者的反饋也很直接,又一次,他們把這款開源產品送上了GitHub全球趨勢榜近一周,現在每天clone代碼的新用戶超過 100 人,Star數已超過 12800 個,訪問流量更是比單機版開源時翻了至少三倍。
不過從一家商業公司的角度,陶建輝也說,即使微博、微信粉絲,以及GitHub的Star再多,沒有銷售線索,也是虛的。既然如此,TDengine會不會像其他免費的開源工具一樣,最後獲得了開發者的喝彩,卻沒有達到商業回報?
「羊毛出在豬身上」,他對此並不擔心。在陶建輝看來,只要全世界的開發者都喜歡,TDengine就會成為空氣和水,「可能在TDengine這款軟體上我確實沒賺到錢,但軟體上延伸出的很多輔助功能,我能賣錢。」他說,這就是2B軟體銷售的網際網路思維。
根據他提供的數據,使用TDengine的企業案例至少 500 家,付費客戶將近有 50 家,來自物流、電力、石油、智能製造、無人機等各行各業。
TDengine還在不斷完善,從 80 分到 99 分,他認為要付出超 10 倍的努力,當產品超過 90 分的時候,他們就敢叫板整個全球市場。
同樣作為一個連續創業者,比起前面兩次創業的跌跌撞撞,這次創業三年來對他而言相當順利,這些不難從他自信而激情言談中聽出來。
創建濤思時,陶建輝組建了一流的技術團隊,沒有主動找過一個投資人,卻在 3 個月內融到了 2000 萬美元,TDengine開源後三個月在GitHub拿下 10000 萬個Star,但更重要的,他認為這次的創業方向選對了。
在第二次創業結束後,在陶建輝心裡,要給這個世界留下一副作品的願望變得特別強烈。他希望這個作品能夠在 30 年之後都有人在欣賞,更希望在IT歷史上留下痕跡,「leave a dent in the world」。
沒有意外的話,TDengine就是他在 80 歲時都還在維護的那幅作品。現在,他要繼續為這幅作品作品解bug,加代碼。
TDengine開源之路CSDN:TDengine 1. 0 開源後,連續一周都排在GitHub全球趨勢榜第一,兩個月內拿到 10000 個star,即使MySQL開源時在短期內好像也沒這麼高的熱度,你有料想到嗎?
陶建輝:沒有。沒想到反應這麼快,我當時跟團隊講的是,希望 3 個月搞 5000 個star看行不行。
CSDN:復盤過為什麼廣受歡迎的因素嗎?
陶建輝:主要原因有三個。第一,物聯網作為新興市場越來越普及,大家需要這樣一個產品;第二,跟中美貿易戰有關,中國歷來缺少這些基礎性軟體,因此有這樣的軟體開源後有助於傳播;第三,可能跟我五十幾歲了還在寫代碼有關係,這激勵了一些國內的程式設計師。
CSDN:1. 0 版本開源後你說開源的這個決定是之前不敢做的,2. 0 版本開源集群前你是忐忑不安,兩種心態下分別經歷了哪些利弊博弈?
陶建輝:第一次不敢開源是怕開源之後沒人反應。去年要開源的時候,已經辛辛苦苦做了兩年多,萬一開源後只有幾百、一千個人關注,就說明別人根本不認可你,這個產品方向搞錯了,創業徹底失敗,公司只能關門。
第二次集群開源仍然有不安,是因為我們認為集群功能很重要,但也有人認為不重要,開發者就不會有這麼快的反應。
我一直擔心的問題就是開源後,別人都不買你的單。做程式設計師最大的悲哀,就是免費開源給別人都不用,說明你的工作一點價值都沒有。
CSDN:TDengine1. 0 版本不太敢開源,也說明開源不是創業初期就已經做好的決定?
陶建輝:我在 2016 年年底就想過要開源,只是沒有貿然開源,要開源的話包括License的選擇,產品定位都要琢磨,產品也要打磨好,就比較慎重,我希望一開源就能有很多人關注。
CSDN:1. 0 版本開源帶來的反響,對2. 0 集群開源也有直接的推動作用?
陶建輝:當然。1. 0 版開源後開發者沒什麼太大反應,我絕對不會去開源集群,別人都不喜歡,你還開源?
CSDN:聽上去你最看重來自開發者的反饋,而不是市場客戶。
陶建輝:我並不關心有多少付費客戶,更關心開發者的Star、Fork、Watch、Issue的數量,如果產品有用,這個數據一定會很好。
CSDN:下一版本你們可能也在規劃中了,還會給開發者帶來哪些亮點?
陶建輝:研發團隊會聚焦在幾個方面:一方面是接上數據源,除了MQTT之外,還有PLC,Modbus,OPC-UA等大量工業數據的協議,這樣用戶採集的物聯網、工業網際網路這些數據接入TDengine就毫無障礙。比如,去年我們支持了IT運維的軟體Telegraf和Prometheus,它採集的數據不用寫SQL語句,做完配置就可以直接寫到TDengine,搭建一個大數據平臺。
另一方面,TDengine的分析功能還要進一步加強。我們已經有幾十個函數對存儲的數據做各種分析,但我們還要提供更多的函數,包括各個專業領域的分析函數,讓大家做分析更方便。
CSDN:在時序資料庫領域,國外有InfluxDB,國內好像只有百度雲TSDB產品,它們在技術路線上與TDengine有什麼不同?
陶建輝:技術路線完全不一樣,像OpenTSDB,還有InfluxDB這兩者是開源的,而百度雲TSDB沒有開源,沒法驗證。前兩者的存儲引擎與TDengine有著完全不同的存儲引擎,他們用鍵值數據模型進行存儲,我們是用結構化數據列式存儲,一個採集設備一張表一塊一塊存儲,針對時序數據做了很多優化,因此性能也更高,這是截然不同的。
CSDN:這一領域在未來的技術發展路徑會怎樣?
陶建輝:用戶並不關心技術路徑,只看最終功能和性能。我們充分利用了時序數據的所有特點,採取了一個不同的技術路徑,這些方面我們有天然的優勢。
CSDN:除了性能外,有開發者質疑說秒殺Hadoop的軟體多了,重要的是像它那樣提供生態,提供底層能力,TDengine怎麼搭建生態和社區?
陶建輝:生態就是你不是個孤島,要能被別人集成進去。我們的生態就是第三方軟體,比如跟MQTT對接,跟那些工業協議隨便接,這就就是數據源的生態。另外一方面的生態是可視化,與一些BI工具能無縫對接。社區建設我們還要繼續加強,做活各種論壇。
CSDN:看上去,你對未來的發展勝券在握。
陶建輝:現在只有勇往直前。我們把剛需功能都開源了,只保留了一點點輔助性的功能沒開源,我們採用的是MongoDB的Open Core套路(來賺錢)。
我們特別有信心的是產品做得確實好,比友商好的太多,還開源了,又有足夠的資金儲備,我就不相信別人做時序數據還能跟我競爭?你真的別做了。
CSDN:那你現在還會有不安或潛在隱憂嗎?
陶建輝:我們一定會遇到瓶頸。也許現在每天還有 100 多個Star,但能不能持續一年?用戶量持續增長是個巨大的問號。穩定性、易用性要再上一個臺階,技術要持續創新,前面 60 分的市場很容易做,但要把它翻一倍,你可能要付出 10 倍的努力。
開源是為了「壟斷」CSDN:TDengine 2. 0 版本開源前,集群是你們對外銷售的亮點,但現在這個功能也開源了,跟之前的付費客戶怎麼溝通?
陶建輝:第一,一些輔助性的功能並沒有開源;第二,這些客戶買我們的軟體,買的主要是技術服務和支持。開源軟體一定要強調服務。
CSDN:但集群也是之前你們的一個銷售亮點,你當時怎麼說服內部的銷售團隊?
陶建輝:也許以前確實靠集群賺了點錢,但市場佔有率上不來,好多客戶就會去找別人免費的基礎方案,比如,OpenTSDB的集群性能和功能實際上也很差,但那也有很多人用,它們覺得數據量大也沒關係,多搞幾臺伺服器就行,所以集群不開源你就會丟掉客戶,這是不行的,市場佔有率不夠,你就沒想要打贏戰爭。
CSDN:也就是說,更大範圍的開源,是為了能獲取到更多的客戶。
陶建輝:沒有別的目的,我就想在市場佔有率上做到壟斷地位。如果我們在物聯網數據處理市場,做到50%以上的市場佔有率,銷售做得再差都不是問題。但如果銷售做得再好,只佔了1%的市場份額,時時刻刻都可以被人滅掉。
CSDN:由於TDengine是個使用面很廣的產品,你說有些錢是不賺的,哪些錢不賺?
陶建輝:跟我們的戰略不相吻合的錢不賺。TDengine只是個中間件,但一些客戶想做可視化,你給錢我都不幹,因為這偏離了主航道,不利於公司的定位和長期發展。同樣,我們就只想做好物聯網大數據平臺,整個物聯網平臺的錢我也不願意賺,儘管我有能力做。
CSDN:開源確實能收穫更多開發者,但濤思本質上是一家商業公司,而且還是創業公司,營收對你們應該也很重要,如果選擇不開源或半「開源」你們或許也能活得很好?
陶建輝:營收很重要,但開源之後你覺得付費客戶就少了?沒關係,因為那些客戶本來就不是你的。
開源對開發者和整個社會來說其實是特別好的事情。按照以前的商業套路,某類產品本來就 100 億美元的市場,你不開源,可能累死就搞定了5%的市場份額,這對To B軟體的銷售來說已經很了不起。
但現在,開源是把市場做小了,本來是 100 億美元的市場,開源後, 95 億美元的市場就沒了,競爭對手也沒了,不願意交錢的客戶可以使用免費的開源版本,這為社會做了貢獻,可剩下的 5 億美金的市場都是我的,這就是商業價值。
開源也讓銷售方式徹底發生改變,不開源的話,POC都難做,還要反覆測來測去,現在客戶可以自己去下載,甚至客戶在公司內部早就用上了我們的產品,付費只是想要輔助性功能,還有技術服務,根本不用再介紹產品的技術能力。
這就好比Linux系統如果沒有開源,能跟IBM的AIX等等作業系統競爭嗎?門兒都沒有,Linux系統開源後把市場變得極小,但這個市場的錢全都被RedHat賺了。
同樣地,如果TDengine不開源,能跟Oracle,SQL sever競爭嗎?
CSDN:但開源軟體沒有一定經濟基礎就賣服務可能也很困難,像Ubuntu和Deepin在項目早期都燒了不少錢。
陶建輝:我們今年的 4 月份A輪和 1 月pre-A輪融資加在一起超過 2000 萬美金,每個月還賺一點點錢,按照現在燒錢的速度, 10 年都燒不完。
CSDN:那麼,無論是佔領市場份額,還是開發者的認可,開源會是一款優秀的基礎軟體取得成功的必由之路?
陶建輝:基礎軟體不開源是必死無疑。
CSDN:對於現在國內做軟體的創業公司,開源或不開源的考量因素是什麼?
陶建輝:用戶量不足夠大的軟體不值得開源,你要做用戶量特別大的基礎性軟體。按照我的理論,你本來就只有 100 個客戶,只有5%的客戶付費,就是 5 個客戶付費了,開源就沒錢可賺了。但像物聯網領域,客戶可能有幾十萬個,剩下5%的付費客戶那就很多。
CSDN:就整體的開源產業鏈來說,國外尤其美國開源軟體產業鏈可能更完善,而國內的開源狀況很多人都覺得比較困難,你有這種感覺嗎?
陶建輝:如果開源只在中國做,我建議不要開源。如果只針對國內市場,就是所謂的自主可控,去IOE,替代Oracle,這很難讓你成為一個獨角獸公司,Oracle在中國市場的收入只佔了全球市場的3%都不到,你把它在中國的市場全吃了,你又能怎麼樣?你依然撼動不了他,你依然無法成為Oracle這樣級別的公司,很難跟美國這些公司對抗。Oracle他們面向的是全球市場,投入也遠遠超過我們。
好多人做的軟體沒有能力推到全球,你看GitHub上有很多中國的霸榜項目,使用說明都沒有英文,你怎麼走向全球市場?而且中國開源的好多軟體都是前端類型,生命力不夠。
當然,如果別人卡脖子不賣給你,那是另一回事。
CSDN:你們的 50 家付費客戶裡有多少來自海外市場?
陶建輝:目前已經有一家美國的客戶,後期我們一定會在海外市場發力,我認為,我們80%的收入會來自海外。
CSDN:不過,「國產」基礎軟體平臺近幾年也有一定熱度。
陶建輝:開源在中國已經做了 20 年,最近這幾年很明顯要起來了,除了TDengine,像PingCAP、OneFlow都做得挺好,當然如果沒有資本注入進來,開源也做不起來,現在讓很多人覺得開源在中國也可以玩,是因為好幾家做開源軟體公司的融資不錯。中國人購買服務的意識也沒上來,儘管風氣在變好,但時間還很長。
「國產」開源和開發者CSDN:除了產品和技術,你們的市場營銷也不錯,你說這是你在上一次創業做快樂媽咪時學到的技能,如何用To C的方式來推廣現在濤思數據的To B業務?
陶建輝:To C的套路是什麼?就是要多渠道、全方位宣傳,而且各種社交媒體,微博、微信、抖音到各種技術論壇都要用上,不僅要自己寫文章,也要鼓勵客戶寫文章介紹我們的技術。但中國做To B的公司都很低調,可能怕競爭對手搞事情或是讓客戶沒面子,從來不寫文章,不愛分享,而且在推廣時,用的也是冠冕堂皇的冷冰冰的官方話術。
傳統的To B推廣是搞定客戶的負責人,我們是Bottom-up,跟開發者做朋友。我就愛高調,希望全世界開發者都知道TDengine,你看好多投資人加我好友,我都不想加他們(拿出手機給作者展示了微信申請好友添加頁面),但任何開發者想加我,我都馬上接受。
CSDN:通過文章與開發者直接交流是推廣開源項目非常重要的途徑。
陶建輝:TDengine的傳播主要來自我個人寫的幾篇文章,最近集群開源的那篇都有 7 萬多閱讀量。到目前為止,我們還沒掏過一分錢做付費推廣。
CSDN:在運營開源項目上,你有哪些建議給技術型創業者?
陶建輝:創始人一定要自己要寫文章,你自己都不傳播,沒有人幫你傳播。要把自己的感受和真實想法分享出來,要分享乾貨,給你的同行還有開發者帶來一些新想法。我從來不保守秘密,願意把我的理念貢獻出來,包括我怎麼賺錢都願意分享,這是一種分享精神,我大概周一、周二又會發一篇文章(作者註:截止發稿,還未發布)。
CSDN:關於什麼主題的?
陶建輝:CEO到底要不要寫代碼。
CSDN:創業公司的CEO應該要寫?
陶建輝:我認為 500 強公司的CEO也得寫,哈哈...
CSDN:作為一個老派工程師,並且通過TDengine與國內開發者的交流,你發現了哪些優點和不足?
陶建輝:國內的開發者至少有上千萬,優點是特別好學,這也是為什麼我們開源成功的原因之一。
缺點就是受的專業訓練太少,這與中國鮮有真正嚴格意義的標準軟體有關。但國外,像美國的公司微軟、Oracle特別擅長做除能賣到全球的標準軟體。但在中國,像阿里、騰訊、字節跳動等偉大的網際網路公司,他們都是在運營一個服務,而不是做標準軟體產品。網際網路服務和標準產品都是軟體,但差別很大很大。
一旦要做標準軟體,接口定義就很重要,文檔必須很清晰,對代碼、容錯、運行穩定性的要求極其之高,比如整個微信內部的研發團隊保證幾千人都不止,但可能文檔都不完整,而且天天在變,也沒法完整。
CSDN:大多數像濤思這樣的初創公司可能沒那麼多流程,怎麼讓工程師寫好文檔,提高溝通溝通效率?
陶建輝:我們都是要求文檔化,在Confluence上寫博客、寫文章,而且用文字評論同事的文章,進行提問等。把自己想要表述的事情或想問的問題用文字寫下來,比面對面的語音溝通更有挑戰。但它更有利於高效溝通,更利於知識積累,特別是遠程協同辦公。
CSDN:你怎麼定義「有品味、有格調」的優秀工程師?
陶建輝:寫出能工作的代碼不是問題,大家用各自的方法、程式語言解決了同一個問題,但你代碼裡結構體、API的定義,函數的命名、變量的命名、日誌輸出等等,要讓你的代碼好讀好懂,便於後續的debug和維護,便於擴充新的功能,這就是有品位。