從用戶成爲「股東」 —— 在 Apache 基金會的 2600 天

3月27日,騰訊雲大數據及人工智能產品研發的專家研究員堵俊平受邀成爲 Apache 軟件基金會Member(Apache Softeware Foundation Member,如下簡稱 ASF Member),一封名爲 「邀請成爲 ASF Member」 的電子郵件正式爲堵俊平敲開了開源世界的新大門。架構

從用戶成爲「股東」 —— 在 Apache 基金會的 2600 天oop

從 2012年開始爲 Hadoop 的初始版本打補丁,堵俊平已經在 Apache Hadoop 社區深耕了近8年,13年10月成爲中國第一個 Hadoop 的 Committer, 15年7月 PMC Member,19年3月榮升ASF Member。「我很榮幸,但今後,我也有了更多的責任。」 如今全世界有 883 位 ASF Member ,中國區僅有13人,其中較爲出名的包括 Kyligence 聯合創始人兼 CEO 韓卿 (Luke Han) ,以及中國開源社的理事長劉天棟 (Ted Liu) 。學習

與在一個項目單元下垂直貢獻不一樣,ASF Member 會收到 Apache 基金會下超過 350 個開源項目的季度報告,橫向地對更多的項目起到管理義務。大數據

ASF Member 關注的是 Apache 基金會自己,這一般經過項目相關和跨項目活動來證實。從法律上講,Member 是基金會的「股東」,也是業主之一。他們有權選舉董事會,成爲董事會選舉的候選人。他們也有權做爲導師 (Mentor) 提出一個新的孵化項目。人工智能

有一點須要特別指出,Apache 基金會中從 Committer 開始的每一個角色都只能經過他人提名並投票決定,這表明社區夥伴的承認,每上一個新臺階的背後都有着日日夜夜事無鉅細的付出:不斷貢獻高質量代碼、提交 patch,組織 release,回答用戶問題,參與投票,培養和提名committer,發表合理合適意見,還有一些影響更加深遠的貢獻,推進騰訊內部持續貢獻 Apache 基金會,組織黑客鬆和 meetup ,身體力行地推廣Hadoop,傳遞開源理念。設計

堵俊平今年的想法是主動去挖掘 1-2 個合適的項目,推薦進入孵化流程,「Mentor 有點像投資人,只不過咱們是拿出本身的時間來投資」,堵俊平作了這樣的比喻,時間比資金更有限、更私人,因此選擇開源項目時會堅持從技術驅動,在本身有興趣的領域幫助有潛力的項目快速成熟。cdn

代碼、人,社區都在成長 —— Apache 基金會的運做模式blog

Apache 基金會的官網上有幾十份、累計數十萬字的文檔內容在介紹 Apache 基金會的運做模式,在真正接觸到基金會的「內部人士」前,外界彷佛很難相信一個跨時區、跨文化、跨公司的組織可以嚴格按照這樣的模式運做了20年。它詳細到超乎想象,哪怕是針對一些意外狀況,也多能在這些文檔找到解決方案。進程

「ASF Member 想要退休怎麼辦?」,「決策投票的有效期在跨時區的狀況下如何保證?」,「投出+0.9票的成員是怎麼想的」……諸如此類。項目管理

Apache 基金會中的每一個人、每一個項目、每一個社區,都並不是固定一成不變的,它是一個極其動態的過程,每一個人、項目和社區時刻都在成長,而這一切是透明的,做爲一個普通用戶,幾乎不要花多少功夫,你就能找到這個龐大的社區天天發生的一切變化:代碼量的增減、提交者的變化、最新的Release清單。Apache 基金會像是一個精密的齒輪,日夜不停地轉動,開源這個概念自身的魅力正是其磨合劑。

做爲社區中的人,只要你參與在 Apache 基金會的項目中,你就確定能找到一個對應角色:

•用戶(User):開始使用一個或多個 Apache 基金會的開源項目。

•貢獻者(Contributor):提交代碼或文檔的patches,在官方渠道(郵件列表,IRC等)支持其它用戶。 

•提交者(Committer):持續貢獻,堅持貢獻,被提名、投票經過後,擁有直接訪問並提交代碼的權限。

•項目管理成員(PMC Member):作了更多不侷限於代碼的貢獻,進入單個項目個管理委員會,經過投票影響這個項目的發展方向。 

•Apache 基金會成員(ASF Member):對 Apache 基金會直接負責,在多個項目中作出貢獻,擁有董事會的投票權。

若是你已經在維護一個開源項目,想讓它進入Apache基金會,那你則須要充分了解項目在社區不斷演進的過程,「提名→進入孵化器→成爲頂級項目」,每一步都有跡可循。 


(圖爲一個開源項目進入孵化器的過程)

從 Apache Way 到 Tencent Way—— 以 TOSA 加速力行開源實踐

Apache 之道影響了包括騰訊在內的衆多中國公司,近幾年,中國的開源愛好者們在大會演講中終於不是隻會講系統是如何設計的、代碼是如何實現的,「開源社區」成爲業內一個有點抽象的流行詞。

「社區」究竟是什麼?其實就是多人+互動關係,開源社區就是指你們的互動關係圍繞着開源項目而產生。不過這種關係並不會憑空產生,原始開發者須要站在一個徹底陌生的開發者角度去思考「我爲何要加入你?」

這裏有不少方法已經在 Apache 之道中獲得總結:首先這應該是一個創新的項目,簡單易懂的上手指南、詳細全面的項目文檔、統一規範的代碼格式都可以下降其餘開發者的門檻,吸納貢獻者以前要先想清楚項目須要哪方面的幫助,貢獻者加入以前也要明確如何協調工做。

對於自由開發者來講,踐行以上方法,可能只須要多一點點決心而已,但對於公司體制下的開源開發者,獲得公司和所在團隊的支持也許更加實際。

18年中旬,騰訊正式成立了開源管理辦公室,騰訊BG相對獨立、自下而上的管理模式其實和 Apache 軟件基金會很有相似之處,所以這個辦公室的組織架構也設計成相似於 Apache 軟件基金會的模式。開源合規組應對開源的法律風險,TPMC彙集了每一個項目的內外部開發者,而這個略帶江湖氣息的騰訊開源聯盟TOSA則是整個組織的大腦,負責思考騰訊開源要向哪一個方向前行。

堵俊平現任騰訊開源聯盟的主席,除了負責 Apache 基金會 的各項事宜外,他還主動承擔起管理和治理騰訊開源工做的職責。「我很是高興能看到騰訊開源選擇 Apache 的模式,這奠基了一個項目不斷壯大的基礎,對於發展中遇到的問題,我會堅持開放透明的方式去解決」,堵俊平提出了三點目標:



1. 改進騰訊開源的審覈流程。發佈統一的審覈平臺,能讓你們看到本身及其它正在審覈中的項目的進程,儘可能從內部開始,就把流程透明化。此外,目前開源前的審覈大可能是法律方面的流程,不多有針對項目自己代碼質量、文檔建設的考量,開源後會不會被罵誰也沒有把握,我但願騰訊也能有個的導師制度,導師深度參與到一個新的開源項目中,給予幫助。咱們甚至能夠創建一個tencent-incubator的倉庫,放置一些不那麼成熟的項目,這樣外部開發者使用的時候也更容易選擇:選擇成熟的,成本低;選擇孵化中的,有機會一塊兒改變。

2. 幫助項目構建外部的生態。對於構建開源項目的外部生態,堵俊平表示這對騰訊來講並非一個輕鬆的過程,除了他我的能夠做爲Mentor推薦騰訊的開源項目在Apache 基金會中孵化成頂級項目之外,騰訊雲也在持續爲開源Hadoop等項目貢獻patch和feature,包括驗證release用於生產環境。 

他表示騰訊雲願意爲開源項目提供支持,可能有不少方式,幫助開源項目打包成商業級服務在騰訊雲上便捷的提供給用戶,或者組織技術大會給開源提供更多的曝光窗口等。

3. 創建騰訊對開源的評估體系。「國內有一些有關各大公司開源水平的評價新聞我認爲並不夠確切,純粹去比拼數量和Star實際上是個簡單粗暴的行爲」,堵俊平談到:「就像 Apache 基金會對孵化的項目提出的要求——至少有來自三家公司以上的貢獻者才能畢業,這個行爲實際上是在保護用戶,我但願騰訊對於本身的開源項目也能有一些更加細緻、更加專業的評估體系,這樣不管在任何場合,面對任何報道,咱們都讓外界對騰訊的開源、騰訊的技術充滿信心。」

關於騰訊開源

騰訊開源始於2010年。在開放戰略背景下,騰訊在內部開始推行「開放、共享、協力開發」的研發模式。現在,騰訊已有超過8000個內部開源的開發項目(組件)在公司跨團隊、跨部門、跨業務地運用。從2016年起,騰訊開始將內部優質項目對外發布,以Github爲主要陣地進行開源項目經營,騰訊對外開源開始進入了快節奏時代。

目前,騰訊已將三個廣受社區的承認的開源項目TARS、TSeer和Angel分別捐贈Linux基金會和Linux深度學習基金會長期運做。同時,騰訊已成爲Linux 基金會、Apache基金會、Openstack基金會、MariaDB基金會及LF深度學習基金會的白金會員,還加入GPL合做承諾,堅持以專業、合規的方式推動開源工做。

相關文章
相關標籤/搜索