開發與維運

走進ASF系列 – 初識ASF組織架構及治理

費曼技巧(The Feynman Technique)

費曼技巧是一種 “以教為學” 的學習方式,源於諾貝爾物理獎獲得者,理查德·費曼(Richard Feynman)。這個學習方法的祕訣是嘗試用最簡單的語言說清楚你要表達的內容,哪怕是一個深奧的科學理論,你也能用簡單的表達方式讓5歲的孩子或者60歲的老人很容易的理解和熟記。由於我也是在上週(2020.04.03)剛剛收到的成為ASF Member的邀請,所以《走進ASF系列》文章與其說是和大家分享,不如說是和大家一起學習!

ASF 是什麼?

我想“ ASF 是什麼?”是一個最簡單的問題,也是一個最難回答的問題。簡單是因為你可以以任何一個角度去描述,就像盲人摸象。而困難是因為你很難用一句話就完整全面的定義“ ASF 是什麼?”。所以面對這樣的問題我的考慮是,先描述表象,再探究其細節。就像我們回答寶馬是什麼,我們會說“別摸我”,奧迪是什麼?我們會說“四個圈”。那麼 ASF是什麼?我想說,ASF是下面這個漂亮的羽毛 ;)

image.png

瞭解Logo也許是欣賞一個新事物最好的開始。那麼下一秒你將有一連串的問題浮現出來?她多大了?幹什麼的?怎麼運作的?和我有什麼關係?接下來我們慢慢道來...

與阿里同齡

Apache軟件基金會(ASF)是在美國註冊的503©3非營利的公共慈善組織,與1999年成立。那麼成立的最終目的是什麼呢?ASF最核心的目的如下:

  • 通過提供硬件、通訊工具以及業務基礎架構,為開放式協作開發軟件項目提供基礎。
  • 建立獨立法人實體,任何公司和個人可以向其進行捐贈,並能夠確保這些捐贈將用於公共利益。
  • 為個人志願者提供避免針對基金會項目的法律訴訟的手段。
  • 保護應用於其軟件產品的“Apache”品牌免受其他組織的濫用。

所以ASF是有著美好願景和偉大使命的公益性組織。ASF和阿里巴巴一樣都成立於1999年,而且在利他方面可謂英雄所見略同,阿里巴巴以“讓天下沒有難做的生意”為使命, ASF則致力於開源軟件生態的營造,讓軟件技術能夠在全球共享,這是ASF無比耀眼的魅力所在!

逐本溯源

ASF的成立並非憑空出事,在ASF的前身其實是叫“Apache 小組”,這個小組當時在維護由NCSA編寫的HTTPD Web服務器。從1995到1999年,由“Apache小組”所領導開發的 Apache HTTPD web服務成為了市場的領導者,一直持續到現在,目前仍佔據了市場65%的份額。當年使用該服務的人越來越多,但是最初的開發人員對該項目失去了興趣,並轉移到其他項目上,從而使用戶失去了支持。於是一個叫Brian Behlendorf的大牛在自己的計算機上創建了一個郵件列表,供這些用戶協作以修復,維護和改進該軟件。從1995年2月不到12位軟件工程師通過電子郵件共享代碼補丁開始,到後面的有了Apache網站,網站上又託管了很多關聯項目(例如mod_ perl項目,PHP項目,Java Apache項目),這樣的情形面臨的問題越來越多,比如,潛在的個人被法律攻擊等,進而越來越需要一個更加協調和結構化的組織來解決這些問題。於是到1999年6月ASF便註冊成立了!:)

成長的苦惱

隨著軟件產品的不斷成熟,用戶越來越多,反饋的問題和軟件增強的建議也越來越多,同時參與進行代碼修補的人也越來越多。問題也隨即而來,最初的幾位創始人根本沒有辦法處理所有的問題,Review所有的代碼補丁,Merge所以的提交,那麼怎麼辦呢?當時Apache成員認為如果某位開發者,已經“贏得”了成為社區的一員的資格時,他們就授予此開發者對代碼倉庫的直接訪問權限,也就是目前我們說的Committer,這樣不斷的增加團隊的力量,也提高了團隊開發項目的能力,進而更有效地維護和發展了團隊。當然這只是冰山一角,ASF的治理當然不僅僅是Committer的發展了,下面章節我們進行系統的介紹。

ASF治理

目前ASF擁有超過140多個跨技術範圍的項目,涉及350多個具體項目,7000+的代碼貢獻者,參與人員覆蓋了全球230多個國家,為保障其健康的發展必須有一套簡單高效的組織架構和治理手段。那麼ASF的治理將涉及到ASF組織本身的治理和ASF對Apache網站所託管的項目的治理。

公司的治理

總的來看,ASF的治理相當簡單:由成員(Member)來選舉董事會;董事會任命各種管理人員並創建PMCs;PMCs定期向董事會報告,大多數其他管理人員向總裁然彙報,然後總裁向董事會報告。

組織架構

ASF公司治理首先要有一個完善的組織架構,和分工明確的角色職責。如下圖所示:

organization.png

上面的組織架構整體圍繞的“董事會”進行角色構建,董事會有主席(Chair)和副主席(Vice Char)。 公司設有總裁,副總裁,祕書,財務總監,法律顧問等職位。每種角色各肩其職。作為初識ASF的文章,我們簡單瞭解如下宏觀的內容即可:

  • ASF 由董事會來管理,董事會由成員構成。
  • 現有成員(Member)會定期提名和選舉新成員,每年提名並選舉9名董事加入董事會。
  • 董事會任命業務官員,並將特定政策或業務領域的責任分配給每位官員。例如,法律事務委員會副總裁負責為ASF和所有Apache項目設置法律政策,並與公司顧問進行合作。
  • 董事會任命執行官,包括總裁,祕書,財務總監等,他們負責ASF的特定運營。
  • 大多數官員每月直接向總裁報告,而總裁則每月向董事會報告ASF的整體運營狀況。
  • 基礎設施副總裁向總裁彙報,並對基礎設施團隊的運營進行宏觀監督。在團隊中,帶薪的基礎設施 管理者角色有助於管理日常操作,帶薪人員確定工作優先級,並維護所有Apache項目中使用的服務。

那麼這些角色是如何產生的呢?ASF還需要一套選舉任命的機制來保證整個組織的健康運行。

選舉和任命

董事會負責創建並更新項目管理委員會( PMCs )。董事會只是批准孵化器的合理構建請求(畢業成為 TLPs )或來自 PMCs 自身(添加或刪除 PMC 成員)的請求。在每種情況下,向董事會建議進行的變更都已經由相關的 PMC 完成了投票。如下圖所示:

corporate_governance.png

  • 董事會(Board)
    董事會由9名懂事組成,負責管理和監督ASF的各種事物。包括人員,資產(資金,知識產權,商標和支持項目所需要的基礎設施)以及為項目分配資源。
  • 項目管理委員會(PMC)
    項目管理委員會由董事會決議設立,負責具體一個項目的事物管理。每個PMC由至少一名ASF官員組成,並指定一名成員為主席。每個PMC中的主席就是ASF在各個項目中的眼睛和耳朵,對ASF至關重要。當然PMC負責發展各自新的PMC成員和發展項目的Committer。
  • 各種VP
    ASF有這種VP,他們大多數官員每月直接向總裁報告,而總裁則每月向董事會報告ASF的整體運營狀況。

也許這些內容對於剛剛瞭解ASF或者剛剛加入ASF開源建設的同學簡單瞭解一下即可,因為似乎距離還很“遙遠”。(加引號原因是,我認為是 思想認為 的遙遠,不是真的那麼遠)。接下來我們看看和具體項目貢獻者密切相關的內容 - ASF項目治理。

項目的治理

每個項目都由項目的PMC進行獨立管理,PMC以Apache的方式,遵循由所有官員為所有項目設置的一些核心原則。如下圖所示:

project_governance.png

上圖我以Apache Flink項目為例勾勒了項目治理的概要圖。每個PMC都由ASF董事會進行管理,每個PMC都會負責制定自己項目的技術方向,發展項目的參與人員,用戶(Users),貢獻者(Contributors),提交者(Committers),新的PMC Members等等。

  • 用戶(Users) - 就是使用項目潤君的的大眾,他們以錯誤報告和功能建議的形式向開發人員提供反饋進而為項目做貢獻。
  • 貢獻者(Contributors) - 就是開發人員,以寫代碼或寫文檔的形式為項目做貢獻。開發人員可以多種方式共享社區,比如參加者郵件列表討論、提交代碼補丁、提交文檔等等。
  • 提交者(Committers) - 提交者是一批特殊的貢獻者,他們是擁有代碼倉庫寫操作權限的開發者。
  • PMC 成員(Member) - 項目管理委員會(PMC)成員,是由在項目的開發中表現突出的提交者(Committers)選舉出來的,他們擁有寫入代碼倉庫的權限、擁有社區相關事務的投票權、以及有權提名新的PMC成員和Committer的權利和職責。

ASF 董事會現狀

今年ASF年度成員會議, 在3.31~4.2期間舉行, ASF 董事會選情相當激烈,有16為ASF Member參與競選。競選結果是去年的九席董事換了七位,二位董事 Craig Russell 和 Shane Curcuru 獲得了連任。 目前同時會成員如下:

  • Shane Curcuru (連任董事)
  • Bertrand Delacretaz(原董事)
  • Roy Fielding(原董事)
  • Niclas Hedhman(新任董事)
  • Justin Mclean(新任董事)
  • Craig Russell (連任董事)
  • Sam Ruby(原董事)
  • Patricia Shanahan (新任董事)
  • Sander Striker (原董事)

2020 新晉ASF Member

上面的競選和任命章節已經介紹過,ASF一年一度的成員會議中,不僅僅會選舉9名董事成員,也會提名和投票新的ASF Member,本次提名總共有34名獲得成功,其中有11為中國人(驕傲)!

  • 陳恩平 Timothy Chen
  • 馮嘉 Von Gosling
  • 邵賽賽 Jerry Shao
  • 史少鋒 ShaoFeng Shi,上海
  • 孫金城 Jincheng Sun,杭州
  • 譚望達 Wangda Tan,San Jose, U.S.
  • 王小瑞 Xiaorui Wang,杭州
  • 吳晟 Sheng Wu,北京
  • 楊克特 Kurt Young,杭州
  • 張鐸 Duo Zhang,北京
  • 張喆 Zhe Zhang,Mountain View, U.S.

恭喜他們(當然也祝福一下我自己的幸運)!據最新統計(2020.04.06) ASF Member 全球有765名,華人有40名,其中在中國的有22人。

ASF 一張圖

對於初識的用戶來說,上面的內容也許太多了,記住一個Logo容易,記住一張圖似乎比上面的文字要簡單許多:)

image.png

ASF金字塔描述了不同角色的群體特徵,越上面人群越小,但對ASF肩負的責任越大,越下面人群越大,但對ASF的責任越小,參與越容易! 記住ASF是什麼從 羽毛 Logo開始,參與ASF共享從用戶開始。

ASF 一句話

圖可以描述表象,文字可以表述內涵,開篇的羽毛代表了ASF,但怎麼描述這個漂亮的羽毛呢?“ASF是一個與阿里巴巴同齡(成立於1999年),有完整的組織(董事會)架構管理,以軟件(140個領域)技術全球(覆蓋230個國家)共享為使命的公益組織"。

小結

本篇是《走進ASF系列》的第一篇,我努力嘗試在我自己身上體驗“費曼技巧”,從概要介紹了什麼ASF,進而推進介紹ASF組織架構,ASF公司治理和項目治理,意在讓 想要 或 剛剛 參與ASF貢獻的同學對ASF有一個初步認知。最後介紹了目前ASF董事會成員和2020年新晉的中國ASF Member。同時,為了方便大家記憶,以一張圖,一句話的方式收尾本篇內容。

同時《走進ASF系列》與我之前的《Apache Flink 漫談系列》不同,討論ASF更多的是非技術的分享,容易變成無重點,無內容,無收穫的乏味分享,這是我最不願意看見的現象。所以肯請大家在本系列的初期多給我一些或好或壞的評論建議,以便我們共同成長!謝謝大家~

Leave a Reply

Your email address will not be published. Required fields are marked *