專訪ECharts團隊:無KPI驅動如何做出成功開源項目
最近在知乎上看到一個釣魚問題相對於阿里來說,騰訊的前端開源技術框架水平相差有多少?,其中很多回答提到騰訊沒有開源的 KPI 所以做不好開源。剛好,近日,國內知名的數據可視化開源項目 ECharts 發布了 4.0 版,我對 ECharts 團隊做了一個採訪,來看看他們是怎麼在無KPI情況下做開源的。
Q:目前 ECharts 團隊情況是怎樣的?
ECharts Team:目前 ECharts 主要還是由百度 EFE 團隊的工程師在維護,也有少部分非百度的工程師在貢獻代碼。我們希望未來,ECharts 的組成能夠更加開放,希望有更多的全世界的工程師來組成 ECharts 的維護團隊。
Q:ECharts 可以說是國內開源項目一個成功的代表,在新功能的推出和維護上力度非常大,能否向讀者介紹一下團隊在開源方面的經驗?
ECharts Team:ECharts 其實是 EFE 團隊眾多開源產品中的一個,除了 ECharts,還包括像 San,Fontmin 等產品,我們的團隊協作方式,通常是每個產品有一個或幾個負責人,他們會定期根據 Github 的 issue 情況,公司內外的需求以及業務發展情況整理出每個階段要做的事情,然後由團隊所有成員根據自己的時間和興趣來挑選要做的事情,整個過程都是一種無 KPI 驅動,開放的模式,大家利用主要業務之外的時間,憑著興趣、熱情以及對於自己所參與的開源產品的責任心來參與的。
當然,ECharts 因為產品影響力較大,所以我們還是會做定期的產品規劃,我們目前是按照半年為一個規劃周期,每半年參與過 ECharts 的所有同學會就自己的想法提一個草案,然後大家集中討論兩到三次,對於接下來半年大的幾個方向和目標達成共識,然後就按照上面提到的方式逐步迭代。ECharts 目前基本保證 1 到 1.5 個月發一個版本,保證穩定的版本迭代節奏對於開源產品是一個很重要的事情,這代表著產品的穩定,讓用戶能夠對產品的長期存在有信心。不過像 4.0 這樣的大版本其實籌備了有一年,投入開發也陸陸續續有半年時間了。在一些日常工作方面,我們是每天安排值班的同學每天固定用 1-2 小時負責處理 issue 及郵件回復,但因為精力有限,所以我們沒有辦法做到每個問題都處理,所以很多時候還是希望有更多的開發者和社區用戶能夠一起幫助這個產品。對外宣傳方面主要就是國內的幾個技術社區以及技術會議為主。
Q:在過去一年裡,ECharts 團隊經歷過哪些印象比較深刻的項目?
ECharts Team:第一個是去年春節,我們團隊承擔了百度春節活動的前端開發任務,在做業務之餘,我們做了一塊大屏,投影在封閉會議室里,當第一天流量入口放開時,大屏中的中國地圖瞬間點亮,會場內驚呼一片,讓我深深地感受到了可視化的魔力。
第二個值得說的是我們在 3 月份發布的日曆圖,這是由一個不是 ECharts 核心團隊的同學開發的。對於工程師而言,最常見的日曆圖就是 Github 上的提交記錄圖了,之前一直陸續有用戶有相關需求,所以,在擴展機制開發完成後,我們就內部發了一個日曆圖的 issue,希望能夠通過一個新圖表來實踐一下擴展機制,正好有一位之前沒接觸過 ECharts 的工程師同學,出於對於 ECharts 的興趣就承接了這個任務。在日曆圖開發過程中,我們也根據同學反饋,不斷調整和增強擴展機制的能力及便捷程度。日曆圖發布後,收到了很多用戶好評,從 Gallery 我們也能看到很多用戶變著花樣使用日曆圖,超出了我們的想像。這是我們擴展機制發布後,第一個由 ECharts 外部同學貢獻的較大的圖表類型,它也驗證了我們的擴展機制是成功的。
Q:之前了解到,阿里 DataV 在產品中引入了第三方開發者可以開發不同的圖表組件,來豐富自己的可視化產品,ECharts 是否有往這方面發展的想法?
ECharts Team:首先,很高興 ECharts 也是阿里 DataV 產品中的重要可視化組件之一,我們很早就認識 DataV 的工程師,彼此之間有非常多的交流與合作。
雖然產品形式和 DataV 不太一樣,但是對於生態建設的認知我們彼此是有共同之處的,ECharts 在過去一年一個很重要的發展方向,就是擴展能力的增強。在更早以前的發展過程中,我們在增加一個圖表時,成本是相對較大的,主要一個原因就是一個之前深度接觸 ECharts 不多的人,想給 ECharts 增加一個圖表,那他首先要學習 ECharts 的成本就很高,為了改變這個現象,我們在 3.0 之後就著手針對擴展性的提升進行了改造。
在去年,這種改造已見成效,我們有多個圖表是通過擴展的方式來實現的,新圖表的開發成本極大降低。而且不僅僅是圖表,我們的擴展能夠做很多事情,比如我們基於擴展機製做了一系列的數據統計插件,用戶可以使用這些插件來進行數據的大量預處理,開源產品搭配上一個良好的擴展機制設計,我們相信這會是一個良好生態的重要保證。
Q:你們是從什麼時候開始 Web3D 的研究的,3D 是否會成為 H5 動畫和圖表的主流?
ECharts Team:我們在 Web3D 領域研究其實已經非常久了,團隊中有人是從 VRML,X3D 時代就在做這方面的研究工作,而團隊在 4 年前就開始進行 WebGL 的技術積累。
Web3D 技術一定會成為用戶界面技術中不可缺少的一個重要的技術,但能不能成為某個領域的主流還主要看具體業務領域的需求場景是什麼樣的。在 H5 方面,對於視覺、交互效果有強需求的運營營銷的場景會是 Web3D 應用的主戰場,而 H5 遊戲也必然會大量用到相關技術。在數據可視化領域,3D 的應用的情況會相對複雜,目前我們在科學可視化、GIS、城市規劃這樣一些應用場景會做一些探索性嘗試。
Q:你們有沒有調研過 WebVR/AR,能否談談它在數據可視化的現狀和前景?
ECharts Team:之前有做過 WebVR 的營銷產品,所以這塊技術上有一些積累,但是目前還沒有在數據可視化中有實際應用過,其實這也是我們今後想探索的一個方向,但這其中不僅僅是技術實現的問題,還涉及到可視化在 VR 中應用的理論基礎研究、場景搭建、交互設計等等,是一個系統化的工程。可能的話,我們可能會和一些高校在學術層面先進行合作。WebAR 目前還沒有嘗試過,但我們覺得可視化和 AR 的結合可能會比 VR 爆發出更大的價值。
前端之巔
「前端之巔」是 InfoQ 旗下關注前端技術的垂直社群,加入前端之巔學習群請關注「前端之巔」公眾號後回復 「 加群 」。投稿請發郵件到 editors@cn.infoq.com,註明 「 前端之巔投稿 」。
推薦閱讀:
※如何編寫開源項目的 README 文檔
※產品經理們如何看 GitHub 這款(類)產品?
※沒有什麼是 Peeqo 機器人一個表情包不能解決的,如果有,那就兩個
※Linux 25 年內核開發的 9 個經驗教訓
※作為初學者如何讓選擇閱讀代碼以及參與一些開源?