Categories
程式開發

開源不是天才的甜點,而是勤奮者的盛宴


11 月 24 日,TGO TALKS 的舞台迎來了 6 位經歷過嚴格培訓的 CEO、CTO、Team Leader 進行演講。 TGO TALKS 由TGO 鯤鵬會組織,職業中、英文演講培訓師將親臨現場,與參與者一起學習演講的關鍵技巧,配合充分的練習和反饋,進而短時間內迅速提升演講功力,最後更有精彩的TGO TALKS SHOW 。每位分享者按照演講思維方法論,精心準備了18 分鐘的主題演講,將從技術人的個人成長以及在時代變革中的定位、團隊建設管理方法、創業技巧等方面,講述當代技術人的知與識。

本文根據易觀 CTO & TGO鯤鵬會北京分會會長郭煒在TGO TALKS 上帶來的《開源,不是天才的甜點,而是勤奮者的盛宴》的演講整理,郭煒通過講述一家不是以技術起家的中型公司如何把一個開源項目申請進入Apache 的故事,分享了自己從中得到的收穫。以下為郭煒現場分享內容,Enjoy:

大家好,我是易觀 CTO 郭煒,也是 Apache Dolphin Scheduler 發起人和 PPMC。

8 月 29 日,Dolphin Scheduler 正式加入 Apache 孵化器。在此之前,中國一共有 16 個開源項目在 Apache 中,而且成功的都是 BAT 級別的大廠,或者清華等知名院校。今天,我就想給大家講述一家不是以技術起家的中型公司如何把一個開源項目申請進入 Apache 的全過程——那是一個“屢戰屢敗,屢敗屢戰”的故事。

開源不是天才的甜點,而是勤奮者的盛宴 1

實際上,Dolphin Scheduler 不是易觀第一個開源的項目,易觀第一個開源的項目叫 Backquarter,這是一個跨雲的 Kafka 同步的程序。

當時,完成這個程序開源以後,我們都很得意,甚至我還特意給它起了一個名字叫“Backquarter“(四分衛),寓意是希望這個工具就像是橄欖球賽場上的四分衛一樣,可以搶到球,并快速帶著球穩定的傳送給前鋒。除此之外,我還為了它,專門去 Qcon、CIO 論壇等地方大肆宣傳了一番,“一頓宣傳猛如虎“。

別說,還真有效果,在幾週時間裡帶來了 13 個贊,12 個 fork。

開源不是天才的甜點,而是勤奮者的盛宴 2

問題是直到現在已經過去 4 年了,仍然還是當年那 13 個贊,12 個 fork。

我就開始反思,我們一腔熱血,每行代碼都付出努力,還把它開源了,為什麼沒人用呢?我也不知道問題出在哪,請教了無數人。

有一次,我請了幾名大咖邊吃火鍋邊探討,一個產品大咖指著火鍋和我說,“你知道為什麼火鍋可以流傳1700 多年麼?它就是一個產品,有自己的核心理念和調性,熱氣騰騰鍋子,精髓的羊肉、麻醬,還方便易做。而你的東西只是一爐子碳,就不是一個產品,你的產品理念是什麼?沒有明確的產品理念,誰會一直用你這個東西?雖然開源不付費,但是同樣需要別人付出努力來使用你的產品,沒有產品理念,你就用炭爐子烤個手就算啦。”

我恍然大悟:“原來,開源不光是貢獻代碼,更需要具有產品的核心理念和‘調性’。 ”

開源不是天才的甜點,而是勤奮者的盛宴 3

Github 上有成千上萬個開源項目,如果大家關注項目最新更新時間,你可以發現大部分項目都“爛尾”了。實際上,開源不是只把代碼放上去就可以了,開源要有產品的調性,才可以有生命力,像火鍋一樣有號召力,就像 Clickhouse 社區的宣傳語一樣——“Clickhouse 引擎就是快”,或者是像Dolphin Scheduler 的“工具選得好,下班回家早;調度用得對,半夜安心睡“一樣,永遠要有一個有明確的產品核心理念和“調性”,讓它可以一直傳播、召喚同道者加入你的陣營。

開源,產品也是基礎。

吸取這次教訓之後,半年後我們基於自己的使用場景,精心打磨了一個 API-Gateway 開源組件 Kong-plus。它是基於 Kong 二次開發,具有良好的功能和操作界面,可以幫助小白用戶迅速的建立起一套高並發的 API Gateway。立意明確,調性也是更貼近小白用戶,界面都專門找 UX 設計了一下。之後,我們又自己傳播了一下,效果如下圖:

開源不是天才的甜點,而是勤奮者的盛宴 4

只有 9 個 star,7 個 Fork,當時,我就覺得我們沒有做開源的基因,感覺可以“洗洗回家睡”了。我感到十分苦悶,心想用了公司這麼多資源,什麼都沒做出來。

於是,我找到了我好朋友——Apache Kylin 創始人Luke 聊天,他說:“開源是什麼?你沒有開發者,怎麼能叫開源呢?開發者是土壤,開源代碼是小芽,沒有土壤,芽也會枯萎的。你的代碼別人是讀不懂的,你需要做好文檔,做好社群運營,有土壤了,你的芽長大了才可以長成參天大樹。“

我又頓悟了:“開源,不是代碼開源,真正的開源,是你找到你的第一個開發者。 ”

開源不是天才的甜點,而是勤奮者的盛宴 5

這和後來 Apache 的宗旨“Community Over Code”一脈相承,代碼爛了可以重寫,社區太差,再好代碼也會付之東流。

而我們從來沒有運營過開發者,為了讓我們的芽有好土壤,於是我開始帶著一群程序員做了各種各樣的社群、Meetup、Clickhouse、Presto、Hbase……圈裡的小伙伴都覺得我瘋了,說我是不是要做個大數據峰會與QCon 分杯羹。

這一做就是 3 年,有些很成功,有些不成功。在我一邊給社區做貢獻的同時,我也收穫了 3 個重要認知:

第一個就是社區貢獻,真的可以不懂代碼,但是你要持續貢獻,像 Clickhouse,我真的看不懂俄羅斯黑科技 CPU 指令集的那些代碼,但並不妨礙我作為 Clickhouse 中國社區組織者的和推進人。現在連 Linus 大神,都說他已經不是程序員,而是激勵他人開發的鼓勵師了。

第二個就是運營社區,你要尊重給你社區扔臭雞蛋的人,因為他們正是需要你,才會在社區裡有不同的意見和聲音,愛和恨都是強烈的情感,而冷漠不是。開源社區最怕的是,郵件列表和微信討論群沒有人說話,所有人都很冷漠。沒錯,就是“9 個星,7 個 fork”的那種狀態。

第三個就是開源社區可以看做是土壤,它需要產品經理、開發者持續加料,持續的貢獻,開源這顆小樹苗才可以長成參天大樹,凝結出果實,讓更多的人可以分享。

有人說,“在中國,只有免費,沒有開源。” 中國祇有 16 個項目在 Apache,而且都是大廠在支撐的,民間沒有開源精神。很多人來了把樹就鋸走了而不去耕,所以在中國做開源都只有“霧霾天”。

開源不是天才的甜點,而是勤奮者的盛宴 6

我不相信這個說法,我相信這一代年輕人,不僅僅是程序員,而是越來越多的人,願意參加到各行各業的非盈利團體當中去,貢獻自己的想法、代碼、知識,讓這個世界變得更加美好。

帶著這個信念,我想要去挑戰一下世界頂尖的開源社區——Apache 社區。 2017 年,我在招聘公司核心架構師高俊時,我和他立下宏願說,“我會持續支持開源,總有一天我們的開源項目也會進入Apache 的。”說的很美好,但是Apache,談何容易?

它不僅對項目理念、架構要求很高,更要“Community Over Code”,在中國這個開源霧霾天下,究竟能有多少個藍天呢?

我們籌備了 1 年才把 ETL 調度工具(Dolphin Scheduler)開源出來,當時 Luke 知道我這個事後就問了我一句話:“頂級的開源項目可能是一輩子的事情,他需要你持續貢獻,而不是你一時興起,你準備好了麼?”

你參與主導的開源項目,它不像是比賽,贏了 Apache 就完事了;更不像是工作,還能跳槽,退休一說。

後來,我思考很久,我認為我準備好了,我相信哪怕我們這一代人看不到開源的藍天,我們下一代看到的也不應是開源的“霧霾天”。

於是,我帶著小伙伴們一起奮力拼搏,找到種子用戶,用心服務,用心呵護我們的小樹苗,讓我們的這些用戶用上開源調度工具之後,真的可以安心睡覺,然後心存感激的去Github 上去點一個Star。就這樣,我們終於讓 Dolphin Scheduler 有 2500 多個星,20 多個開發者願意加入我們。我以為這可以達到 Apache 的標準了,但其實我又錯了。

Apache 最重要的是找到一個 Apache 的 Champion,他是一個 Apache 的 Member,你需要讓他相信你這個項目的團隊有 Apache 的基因,以此用他的信譽為你背書。

這個難度非常大,為什麼人家能夠相信你能把這個項目一直堅持下去呢?過去,你的公司沒有一個成功的 Apache 項目。而你的公司也不是像那種大廠的公司,憑什麼說你的項目不會因為公司戰略要求而被廢掉呢?我們連續三個月都沒有找到合適的 Champion。

我以為,我們又要失敗了,但過去3 年各種社區的持續開源運營,讓各位大咖看到了我們對開源的執著和勤奮,最終這些社區長出來的果實,幫我們撥開了霧霾,看到了藍天。我們找到了相信我們的 Champion,帶著我們做好計劃書,開始進入 Apache 社區投票程序。

我印象最深刻就是這個投票程序,正如納什電影《美麗心靈》其中一個場景中一樣,就是納什在諾貝爾獎投票時,在瑞典的國家會堂,有一個科學家邀請他走進會議室。讓納什坐這裡,看著全球頂級的科學家們走過來給他投票,第一個科學家,拿著一支鋼筆,放到他的面前,對他說“Congratulations!”第二個頂級的科學家走過來,把自己的鋼筆放在他的面前“Congratulations!”一樣的,Dolphin Scheduler 進入Apache 投票的那一天,我看到全球頂級的架構師、工程師和大咖們,在看了我們的Proposal 和項目之後, 用郵件裡面不斷地在回复“+1”“+1”“+1”“+1”……在那一刻,我覺得以前所有經歷都值了。

那個週末,公司的核心架構師高俊拿著他的Apache 郵箱,就像是拿到奧林匹克競賽金牌一樣,回到家裡,給她老婆看,說,“看,這是什麼?”我知道,我當年給他許下的諾言,終於兌現了。

我們撥開了這一片霧霾,看了一小片晴天。

開源不是天才的甜點,而是勤奮者的盛宴 7

Dophin Scheduler 終於成為中國第 17 個進入 Apache 的項目,易觀也成為繼百度、阿里、京東、華為、清華之後第六家中國公司,也是唯一一個小廠開源項目進入 Apache。

興奮過後,其實更多的是責任,我們還不太懂 Apache Way,我們還沒有發布一個正式的 Apache Release。開源,那是一輩子的事情,進入 Apache 社區,只是一個開始。

聽了這個 Dolphin Scheduler 屢戰屢敗,屢敗屢戰的故事,大家能想到什麼呢?

  • 開源,產品是基礎,要像火鍋一樣來凝聚你的開發者;
  • 開源,社區優先,“Open Source Starts with your 1st Contributor” ;
  • 開源,它是一種精神,它是一個一輩子的事情,它不需要你靈光一現的天才代碼,而是需要你不斷的堅持和迭代。

開源,它本就不是天才的甜點,而是勤奮者的盛宴。

在中國,開源的時代正在覺醒,它需要大家,我們這一代開源人的不懈努力,才可以讓開源精神,在中國,撥雲見日,遍地生花。

謝謝大家,我是郭煒。

演講簡介

郭煒,易觀 CTO & TGO 鯤鵬會北京分會會長。中國軟件行業協會智能應用服務分會副主任委員,全球中小企業創業聯合會副會長,人民大學大數據商業分析研究中心客座研究員。


TGO鯤鵬會,是極客邦科技旗下高端技術人聚集和交流的組織,旨在組建全球最具影響力的科技領導者社交網絡,線上線下相結合,為會員提供專享服務。目前,TGO鯤鵬會已在北京、上海、杭州、廣州、深圳、成都、矽谷、台灣、南京、廈門、武漢、蘇州十二個城市設立分會。現在全球擁有在冊會員 800+ 名,60% 為 CTO、技術 VP、技術合夥人。

會員覆蓋了 BATJ 等互聯網巨頭公司技術領導者,同時,阿里巴巴王堅博士、同程藝龍技術委員會主任張海龍、蘇寧易購 IT 總部執行副總裁喬新亮已經受邀,成為 TGO 鯤鵬會榮譽導師。