轉自: https://mp.weixin.qq.com/s/qqoY3gZAr-2CgJ0lqdJtvQ
作者: 騰訊開源
4 月 1 日,騰訊云大數據及人工智能產品研發(fā)的專家研究員堵俊平受邀成為 Apache 軟件基金會成員,一封名為 “邀請成為 ASF 成員” 的電子郵件正式為堵俊平敲開了開源世界的新大門。
從 2011 年開始為 Hadoop 的初始版本打補丁,堵俊平已經在 Apache Hadoop 社區(qū)深耕了 8 年,13 年成為提交者,15年成為 PMC 成員,時至今年,正式榮升 ASF 成員?!拔液軜s幸,但從此,我也有了更多的責任。”
現在全世界有 883 位 ASF 成員 ,中國區(qū)僅有 13 人,其中較為出名的包括 Kyligence 聯合創(chuàng)始人兼 CEO 韓卿(Luke Han) ,以及中國開源社的理事長劉天棟(Ted Liu)。
與在一個項目單元下垂直貢獻不同,ASF 成員會收到 Apache 基金會下超過 350 個開源項目的季度報告,橫向地對更多的項目起到管理義務。
ASF 成員關注的是 Apache 基金會本身,這通常通過項目相關和跨項目活動來證明。從法律上講,成員是基金會的“股東”,也是業(yè)主之一。他們有權選舉董事會,成為董事會選舉的候選人。他們也有權作為導師提出一個新的孵化項目。
有一點需要特別指出,Apache 基金會中從提交者開始的每個角色都只能通過他人提名并投票決定,這代表社區(qū)伙伴的認可,每上一個新臺階的背后都有著日日夜夜事無巨細的付出:不斷貢獻高質量代碼、提交補丁,組織發(fā)布,回答用戶問題,參與投票,培養(yǎng)和提名提交者,發(fā)表合理合適意見,還有一些影響更加深遠的貢獻,推動騰訊內部持續(xù)貢獻 Apache 基金會,組織黑客松和聚會 ,身體力行地推廣 Hadoop,傳遞開源理念。
堵俊平今年的想法是主動去挖掘 1-2 個合適的項目,推薦進入孵化流程,“Mentor 有點像投資人,只不過我們是拿出自己的時間來投資”,堵俊平做了這樣的比喻,時間比資金更有限、更私人,所以選擇開源項目時會堅持從技術驅動,在自己有興趣的領域幫助有潛力的項目快速成熟。
Apache 基金會的官網上有幾十份、累計數十萬字的文檔內容在介紹 Apache 基金會的運作模式,在真正接觸到基金會的“內部人士”前,外界似乎很難相信一個跨時區(qū)、跨文化、跨公司的組織能夠嚴格按照這樣的模式運作了 20 年。它詳細到超乎想象,哪怕是針對一些意外情況,也多能在這些文檔找到解決方案。
“ASF 成員想要退休怎么辦?”,“決策投票的有效期在跨時區(qū)的情況下如何保證?”,“投出 +0.9 票的成員是怎么想的”……諸如此類。
Apache 基金會中的每個人、每個項目、每個社區(qū),都并非固定一成不變的,它是一個極其動態(tài)的過程,每個人、項目和社區(qū)時刻都在成長,而這一切是透明的,作為一個普通用戶,幾乎不要花多少功夫,你就能了解這個龐大的社區(qū)每天發(fā)生的一切變化:代碼量的增減、提交者的變化、最新的發(fā)布清單。Apache 基金會像是一個精密的齒輪,日夜不停地轉動,開源這個概念自身的魅力正是其磨合劑。
作為社區(qū)中的人,只要你參與在 Apache 基金會的項目中,你就肯定能找到一個對應角色:
用戶(User):開始使用一個或多個 Apache 基金會的開源項目。
貢獻者(Contributor):提交代碼或文檔的patches,在官方渠道(郵件列表,IRC 等)支持其它用戶。
提交者(Committer):持續(xù)貢獻,堅持貢獻,被提名、投票通過后,擁有直接訪問并提交代碼的權限。
項目管理成員(PMC Member):做了更多不局限于代碼的貢獻,進入單個項目個管理委員會,通過投票影響這個項目的發(fā)展方向。
Apache 基金會成員(ASF Member):對 Apache 基金會直接負責,在多個項目中做出貢獻,擁有董事會的投票權。
如果你已經在維護一個開源項目,想讓它進入 Apache 基金會,那你則需要充分了解項目在社區(qū)不斷演進的過程,“提名→進入孵化器→成為頂級項目”,每一步都有跡可循。
(圖為一個開源項目進入孵化器的過程)
Apache 之道影響了包括騰訊在內的眾多中國公司,近幾年,中國的開源愛好者們在大會演講中終于不是只會講系統是如何設計的、代碼是如何實現的,“開源社區(qū)”成為業(yè)內一個有點抽象的流行詞。
“社區(qū)”到底是什么?其實就是多人+互動關系,開源社區(qū)就是指大家的互動關系圍繞著開源項目而產生。不過這種關系并不會憑空產生,原始開發(fā)者需要站在一個完全陌生的開發(fā)者角度去思考“我為什么要加入你?”
這里有很多方法已經在 Apache 之道中得到總結:首先這應該是一個創(chuàng)新的項目,簡單易懂的上手指南、詳細全面的項目文檔、統一規(guī)范的代碼格式,都能夠降低其他開發(fā)者的門檻,吸納貢獻者之前要先想清楚項目需要哪方面的幫助,貢獻者加入之前也要明確如何協調工作。
對于自由開發(fā)者來說,踐行以上方法,可能只需要多一點點決心而已,但對于公司體制下的開源開發(fā)者,得到公司和所在團隊的支持也許更加實際。
18 年中旬,騰訊正式成立了開源管理辦公室,騰訊 BG 相對獨立、自下而上的管理模式其實和 Apache 軟件基金會頗有類似之處,因此這個辦公室的組織架構也設計成類似于 Apache 軟件基金會的模式。開源合規(guī)組應對開源的法律風險,TPMC 聚集了每個項目的內外部開發(fā)者,而這個略帶江湖氣息的騰訊開源聯盟(TOSA)則是整個組織的大腦,負責決策騰訊開源要向哪個方向前行。
堵俊平現任騰訊開源聯盟的主席,除了負責 Apache 基金會 的各項事宜外,他還主動承擔起管理和治理騰訊開源工作的職責?!拔曳浅8吲d能看到騰訊開源選擇 Apache 的模式,這奠定了一個項目不斷壯大的基礎,對于發(fā)展中遇到的問題,我會堅持開放透明的方式去解決”,堵俊平提出了三點目標:
改進騰訊開源的審核流程。發(fā)布統一的審核平臺,能讓大家看到自己及其它正在審核中的項目的進程,盡量從內部開始,就把流程透明化。此外,目前開源前的審核大多是法律方面的流程,很少有針對項目本身代碼質量、文檔建設的考量,我希望騰訊也能發(fā)揚導師制度,導師深度參與到一個新的開源項目中,給予幫助。我們甚至可以建立一個 tencent-incubator 的倉庫,放置一些不那么成熟的項目,這樣外部開發(fā)者使用的時候也更容易選擇:選擇成熟的,成本低;選擇孵化中的,有機會一起改變。
幫助項目構建外部的生態(tài)。對于構建開源項目的外部生態(tài),堵俊平表示這對騰訊來說并不是一個輕松的過程,除了他個人愿意作為導師推薦騰訊的開源項目在 Apache 基金會中孵化成頂級項目以外,騰訊云也在持續(xù)為開源 Hadoop 等項目貢獻補丁和功能,包括驗證發(fā)布用于生產環(huán)境。
他表示騰訊云愿意為開源項目提供支持,可能有很多方式,幫助開源項目打包成商業(yè)級服務在騰訊云上便捷的提供給用戶,或者組織技術大會給開源提供更多的曝光窗口等。
建立騰訊對開源的評估體系。“國內有一些有關各大公司開源水平的評價新聞我認為并不夠確切,純粹去比拼數量和 Star 其實是個簡單粗暴的行為”,堵俊平談到:“就像 Apache 基金會對孵化的項目提出的要求——至少有來自三家公司以上的貢獻者才能畢業(yè),這個行為其實是在保護用戶,我希望騰訊對于自己的開源項目也能有一些更加細致、更加專業(yè)的評估體系,這樣無論在任何場合,面對任何報道,我們都讓外界對騰訊的開源、騰訊的技術充滿信心?!?/p>