易觀CTO郭煒:開源,不是天才的甜點,而是勤奮者的盛宴

ALC Beijing 線下沙龍活動

8 月 16 日,ALC Beijing 的首次線下沙龍活動 —— 《開源到底有多難?》在微軟大廈如期舉行。本次沙龍主要是分享開源開發經驗、探討如何讓開源項目更加茁壯成長,以及分享 ASF 管理和運做開源項目的成功之道。segmentfault

Apache 軟件基金會成員、Apache 軟件基金孵化器導師、ALC Beijing 發起人姜寧;Apache Flink 社區 PMC member 李鈺;Apache DolphinScheduler 項目負責人、易觀 CTO 郭煒;ASF Member、阿里巴巴 Tech Lead 孫金城(花名:金竹);Apache APISIX PMC member、深圳支流科技創始人溫銘;ALC Beijing member、開源佈道師李建盛分別在本次活動中進行了分享與探討。微信

Apache DolphinScheduler 項目負責人、易觀 CTO 郭煒在活動中以《開源,不是天才的甜點,而是勤奮者的盛宴》爲題進行了分享,如下爲整理後的文字版本。架構

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

易觀CTO 郭煒

咱們的開源項目 Dolphin Scheduler 在去年的 8 月 29 日,正式加入的 Apache 孵化器。在加入的時候,中國一共有 16 個開源項目在 Apache 中,而且大部分都是 BAT 這樣級別的大廠或者清華之類的名校項目。併發

咱們這樣一個以技術起家的中型公司是如何可以把一個開源項目申請進 Apache 的呢?今天咱們就來說一下這個「屢戰屢敗,屢敗屢戰」的故事。運維

Dolphin Scheduler 不是易觀第一個開源的項目。易觀第一個開源的項目叫 Backquarter,一個跨雲的 Kafka 同步程序。分佈式

咱們在完成了這個程序開源之後很得意,我還特地給它起了名字「Backquarter」—— 四分衛。寓意就是這個工具就像是橄欖球賽場上的四分衛,能夠搶到球快速帶着球穩定的傳送給前鋒。高併發

我還專門的爲了它去各類技術大會大肆宣傳,「一頓宣傳猛如虎「啊。別說,還真有效果,在幾周時間帶來了 13 個贊,12 個 fork!工具

所以咱們開始反思,一腔熱血、每行代碼都付出努力,而且還進行了開源,爲何沒人用呢?我也不知道問題出在哪,因此當時請教了無數的人。大數據

有一次請幾個大咖邊吃火鍋邊探討,一個產品大咖指着火鍋和我說:spa

「你知道爲何火鍋能夠流傳 1700 多年麼?它就是一個產品,有本身的核心理念和調性,熱氣騰騰鍋子,精髓的羊肉、麻醬,還方便易作。而你這東西只是一爐子碳,不是一個產品。你的產品理念是什麼?沒有明確的產品理念,誰會一直用你這個東西?雖然開源不付費,可是一樣須要別人付出努力來使用你的產品,沒有產品理念,你就用炭爐子烤個手就算啦。」

我恍然大悟:原來,開源不光是貢獻代碼,更須要具備產品的核心理念和「調性」。

GitHub 上有成千上萬個開源項目,你們能夠看一下他們的最終更新時間,大部分都爛尾了。開源不僅是把代碼放上去就能夠了,開源要有產品的調性,才能夠有生命力,像火鍋同樣有號召力。

就像 Clickhouse 社區的宣傳語「Clickhouse 引擎就是快」,或者是像 Apache Dolphin Scheduler 的「工具選得好,下班回家早;調度用的對,半夜安心睡「同樣,永遠有一個有明確的產品核心理念和「調性」,讓它能夠一直傳播,才能召喚同道者加入你的陣營。

因此說,開源,產品纔是基礎啊。汲取此次教訓以後,半年後咱們基於本身的使用場景,精心打磨了一個 API-Gateway 開源組件 Kong-plus。它是基於 Kong 進行二次開發,具備良好的功能和操做界面,能夠幫助小白用戶迅速的創建起一套高併發的 API Gateway。

立意很明確吧?調性也是更貼近小白用戶,甚至連界面咱們都專門找 UX 設計了一下。開源後咱們也嘗試本身傳播了一下,但效果仍然不好。我很苦悶,用了公司這麼多資源,什麼都沒作出來。

後來我找我好朋友 Apache Kylin 創始人 Luke 聊天,他跟我分享了一個觀點:

「開源是什麼?你沒有開發者,怎麼能叫開源呢?開發者是土壤,開源代碼是小芽,沒有土壤,芽也會枯萎的。你的代碼別人是讀不懂的,你須要作好文檔,作好社羣運營,有土壤了,你的芽長大了才能夠長成參天大樹。「

我再一次頓悟了:「開源,不是代碼開源,真正的開源,是你找到你的第一個開發者。」

「Open Source Starts with your 1st Contributor「,這和 Apache 的宗旨「Community Over Code」一脈相承,代碼爛了能夠重寫,而社區太差,再好代碼的也會付之東流。

但咱們歷來沒有運營過開發者,爲了咱們的芽有好的土壤,我開始帶着 6 個「羅漢」,搞各類社羣各類 Meetup,Clickhouse、Presto、Hbase 等等圈裏的小夥伴都以爲我瘋了,是否是要作個大數據峯會和業內的技術峯會分杯羹。

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

第一個就是社區貢獻。咱們真的能夠不懂代碼,可是要持續貢獻。以 Clickhouse 爲例,我真的看不懂俄羅斯黑科技的 CPU 指令集中的那些代碼,但並不妨礙我做爲 Clickhouse 中國社區組織者的和推動人。如今連 Linus 大神,都說他已經不是程序猿而是激勵他人開發的鼓勵師了。

第二就是運營社區。你要尊重給你社區扔臭雞蛋的人,他們正是由於須要你,纔會在社區裏有不一樣的意見和聲音,愛和恨都是強烈的情感,而冷漠不是。開源社區最怕的是郵件列表和微信討論羣沒有人說話,全部人都很冷漠。

第三,開源社區就像是土壤,須要產品經理、開發者持續加料,持續的貢獻,開源的小樹苗才能夠長成參天大樹,凝結出果實,讓更多的人能夠分享。

有人說「在中國只有免費,沒有開源」。 中國只有 16 個項目能夠上 Apache,並且背後都是大廠在支撐的,民間沒有開源精神。不少人來了把樹就鋸走了而不去耕,因此,在中國作開源都只有「霧霾天」。

姜寧老師剛纔分享了一張圖片,我國做爲全球最大開源消費國,ASF 在國內有普遍的羣衆基礎,但全球的 300 多個項目中,只有 19 個項目來自中國。但他沒分享另外一張圖,就是中國全球的貢獻者裏,咱們下載的最多的但貢獻是倒數的。

但「中國沒有開源」這個觀點我是不肯意相信的。我相信這一代年輕人,不只僅是程序猿,而是愈來愈多的人,願意參加到各行各業的非盈利團體當中去,貢獻本身的想法、代碼、知識,讓這個世界變得更加美好。

我相信哪怕咱們這一代人看不到開源的春天,咱們的下一代人也不該該再看到開源的「霧霾天」。因而咱們就積攢了更多的力量,籌備了一年,把咱們本身內部使用的一個產品 —— Dolphin Scheduler 進行了開源。

Dolphin Scheduler 是「分佈式易擴展的可視化的 DAG 工做流調度系統」,它的目標很簡單,就是「高效、便捷、準確、可靠」的把這些數據和任務,直接到達它最終的目的地。咱們本身的 slogan 叫作「工具用得好,下班回家早;調度用得對,半夜安心睡」。

它有不少很強大的功能,第一個功能可視化的 DAG 圖,若是作過大數據的小夥伴知道,若是你要作一條複雜的調度系統時,很頭疼的是怎麼作這兩個之間的 Dolphin,而咱們提供的是可視化的方式,讓你很容易的把這個依賴和觸發作起來。

第二個是調度的高可用。如今目前有不少的調度工具,但不多有分佈式的調度,能保證某臺機器宕掉時不影響整個系統。如今大部分系統發生宕掉的狀況時,半夜就會接到運維電話,而後起牀去把東西修復好。因此咱們的 slogan 裏才提到了一句「安心睡」。

第三個,咱們有各類各樣的語言類型,自定義查檢。第四個是任務自依賴。第五個是排錯機制。

整體來說,咱們有八個比較大的功能。咱們有所有的優先級,還有局部的優先級、參數,均可以使用。對於「安心睡」,有依賴、監控、報警這些功能。

作銷售的小夥伴,最頭疼的就是補數、重跑,咱們也提供了各類各樣的補數規則,能夠經過各類方式進行察看,直接在界面上就能夠把實驗作好,操做也更方便,天天能支持很是多的數據量級的東西,穩定的跑起來,這是 Apache(S)的功能。

咱們的開源項目目前在國內用得蠻多,像 IBM、美團、360,銀行類的包括工行、平安、招行,也有各類各樣的互聯網公司在用,包括芒果TV、鳳凰、E代駕等等。

咱們在國內也有很是多的用戶羣,如今有 7 個微信羣,三千多人,跟咱們作互動,咱們本身的貢獻者,也分佈在各類各樣的公司裏,有 BAT 的、有傳統公司的、也有專業公司的人,一塊兒貢獻咱們的代碼。

如今從 GitHub 上看,其實你們都是參與者、貢獻者,咱們也歡迎在座的小夥伴加入到咱們的Apache Dolphin Scheduler裏面去。

關於將來的方向咱們也作過必定的思考。將來 APache Dolphin Scheduler 可以作什麼?

這其實又回到了開始,一個產品的調性是要作什麼。將來的 Apache Dolphin Scheduler 是一個分佈式易擴展、高效、便捷。此外咱們也在作數據質量方面的事情,將咱們原來的底層機制、分佈式作得更加可靠,還有咱們的 API 調用和一些分層的設計,這些你們能夠到 GitHub 上詳細瞭解。

咱們的目標仍是原來最開始的初心,就是但願你們真的可以晚上安心睡個覺。


回到最開始的故事,我想分享一下當時在這個項目裏我印象最深入的一天。

不知道你們是否是看過《美麗心靈》?電影中我印象特別深入的有一個場景,當納什得到諾貝爾獎的時候,在外面走廊裏走着,有一個科學家請他走進了瑞典的皇家教堂,裏面是全球頂級的科學家坐在那裏,第一個科學家把本身的鋼筆拿出來放到他面前,說「歡迎」;第二個科學家把本身的鋼筆拿出來,說「歡迎」。

當時 Apache SkyWalking 的創始人吳晟老師把咱們的 Proposal 放到到 Apache 討論的時候,咱們也是不停的看到全球頂級的架構師,不停的回覆着「+1」、「+1」,這種感受會讓你以爲前面受了那麼多苦、作了那麼多開源項目,都值得了。

因此每當一我的加入到一個開源項目的時候,可能剛開始只是提一個小的 PR,到後面可能對這個開源項目提你的 Proposal。在這個過程當中,你會發現這些不管是國內的仍是國外的頂尖的架構師,在對你的 Proposal 回郵件最終「+1」的時候,你就是那個「納什」,這些人不停的在給你投票。

因此對於 Apache Dolphin Scheduler 來說,咱們也算是撥開了一小片霧霾,見到了一小片藍天。

當咱們回顧 Apache Dolphin Scheduler 屢戰屢敗、屢敗屢戰的故事時,有哪些收穫呢?

  • 第一個,開源,產品是基礎,你要像火鍋同樣,本身來凝聚你的開發者。
  • 第二個,作開源,社區優先。
  • 第三個,開源是一種精神,是一生的事兒,不須要你的靈光一現,今天寫一個代碼進去。而是須要你不斷的堅持、不斷的努力。

因此回到今天的主題,開源自己就不是天才的甜點,今天你吃一口,感受很好,明天不吃了,不是這樣的。它是一個勤奮者的盛宴,讓你不停的去努力,去加油。

固然了,在中國,開源的時代正在覺醒,須要每一位小夥伴不懈的努力,最終的讓開源精神在中國撥雲見日,遍地生花。

相關閱讀: 活動回顧丨ALC Beijing 首場 Meetup:《開源到底有多難?》

SFOSSP - 開源項目扶持計劃

活動中更多嘉賓的分享以及圓桌討論內容,近期會於 SegmentFault 社區以及 ALC Beijing 官方渠道陸續進行發佈,敬請期待。

SegmentFault 做爲本次活動以及 ALC Beijing 的媒體合做夥伴,一直很是重視開源文化以及開源生態的傳播與建設,並於今年 5 月份推出了「SFOSSP - 開源項目扶持計劃」,目前已經助力數十餘個開源項目進行宣傳推廣。

後續也將和 ALC Beijing 以及其餘開源社區、開源項目團隊、開源從業者共同打造開源生態,解決開源過程當中的實際問題,敬請期待。

segmentfault 思否

相關文章
相關標籤/搜索