11 月 23 日,Rust Moderation Team(審核團隊)在 GitHub 上發布了辭職公告,即刻生效。根據公告,審核團隊集體辭職是為了抗議 Rust 核心團隊(Core team)在執行社區行為準則和標準上讓自己不受制約。
審核團隊并沒有在公告中透露過多的細節。不過,根據審核團隊成員 Matthieu M 在 Reddit 上的表述,導致審核團隊直接辭職的原因是,其與 Rust 核心團隊數月來一直不斷惡化的矛盾。
兩天后,Rust 也在內部博客上就審核團隊集體辭職事件做出了回應,但回應中也并未提及審核團隊所控訴的核心團隊的問題是否真實存在,只是表示正在討論和嘗試對話,Rust 將致力于社區和項目的長期健康。
Rust 核心團隊是否真如審核團隊所控訴的那樣“除了自己,他們不受任何人的監督和約束”?核心團隊內部到底出了什么問題?
參與 Rust 開源項目長達六年的 Dragdu 寫了一篇文章,通過他的親身體會和觀察,談了他對 Rust 核心團隊的看法,以下為文章全文:
我本來是不想寫這篇文章,但在網上看到很多朋友在批評 Rust 項目的時候,方向好像有點跑偏。現在審核組已經辭職了,我覺得自己應該出來說兩句。
以下內容是我對核心團隊的切身體會與觀察,雖然不一定跟審核團隊的離開有什么直接關聯,但我認為核心團隊的很多系統性內部問題正是Rust項目矛盾的一種體現。
最后澄清一點,這些跟新任命的核心團隊成員無關,所有問題都是項目內部長期存在的老毛病。
在進入正題之前,我先介紹一下自己的背景,這樣大家應該更能理解我的體驗和視角。過去六年來,我一直參與 Rust 開源項目,并擁有四年的 Rust 語言組織成員經歷。在 2015 年第一次使用 Rust 時,我還是個學生,想為畢業項目找種新的實現技術。
負責任地講,剛一接觸 Rust,我就被它深深吸引,甚至有種窺見編程未來的感覺。這像是有人發現了我在程序中搞出的所有錯誤,并創造出一種能夠消除這些錯誤的語言??梢哉f,Rust 為我打開了通往編程新世界的大門。
從 2017 年開始,我加入了 rust-lang 組織并為各個 Rust 版本編寫發行說明。過去四年來,我每六周編寫一次發行說明,也有幸接觸到眾多在不同層級和功能上參與 Rust 項目的社區同仁。每六個禮拜,我們的貢獻名單都會再次壯大、社區新成員一直保持著穩定增長。
這讓我意識到 Rust 語言不僅代表著未來,而且體現出社區整體創造獨特成果的能力與意愿。Rust 項目不受個人或企業裹挾,而是由每一位社區成員所指引和把握,幫助大家通過參與貢獻提升和成就自己。
Rust 核心團隊“水太深了”
隨著項目的發展,治理負擔也成為我日常生活中非常重要的一環。項目如火箭般快速騰飛,社區領導和成員們已經筋疲力盡;特別是在 2018 年之后,我發現越來越多的老伙伴選擇離開項目。
最初我以為這只是出于個人原因,但在跟他們實際接觸之后、特別是在親身接觸 Rust 的領導工作以來,我發現這里面的水相當深。
下面我就具體聊聊自己在核心團隊和 Rust 領導層中的經歷。
2018 年Rust社區成立了“治理工作組”,著手解決組織內不斷涌現的新問題。雖然出發點沒有任何毛病,但從現實意義上看,這完全就是一場荒唐且尷尬的表演。
首先,跟其他團隊不同,治理工作組在成立之后就一直保持著神秘色彩,根本不向其他團隊或成員開放工作內容。雖然經過不斷的催促與詢問,工作組最終決定開放會議內容,但我發現身邊的領導成員越來越少,最后只剩下我和另一位成員負責重啟治理小組。
治理小組的一大宗旨,就是不會親自做出治理決策,而是為核心團隊和其他團隊提供流程與建議。雖然這個思路聽起來還行,但在實踐中負責具體行動的團隊(說的就是你,核心團隊)往往對這些建議沒有反應甚至抱有敵意,這時候就要出亂子了。
下面來看幾個典型案例。
治理工作組在上一輪迭代中公開呼吁建立幾個新的工作組。但直到我加入工作組的時候,部分申請仍然一拖再拖、看不到絲毫進展,因為某些有意參加的成員由于某些行為而被打上了“不受歡迎”的標簽。
另外,整個工作組的努力基本都處于停滯狀態,這種領導層面的沖突(涉及多位核心團隊成員)令各個團隊的工作難以推進,同時目標模糊、參與度低下。
核心團隊倒不覺得有什么問題。
他們的做法既不是與申請者溝通解決方案,也沒有嘗試緩解這種對抗,而是選擇直接無視問題并拒絕公開發表任何意見。
很多申請者已經被晾了一年多,最終我只能遺憾地提醒他們別再抱什么希望了。而且時至今日,核心團隊也沒有公開承認過他們這種不負責任的行徑。
核心團隊的運作是個大謎團
核心團隊本身的運作方式也是個大謎團,Rust 基金會的成立本身就凸顯出這一點。
雖然治理工作組在最初建立時雄心勃勃,但事實告訴我們如果沒有核心團隊的配合、治理小組壓根別想解決任何問題。治理工作需要配合當然是對的,但核心團隊是真的從來不配合。
我們一再要求解決不同階段下最為重要的問題,但核心團隊則不斷駁回和忽視這些訴求。直到 Mozilla 解散了其 Rust 團隊之后情況才略有改觀,但項目核心團隊仍然秘密行動,不受治理工作組或者組織內任何其他成員的影響。
核心團隊還有另一種“可恨”的行為模式,就是拒絕承認組織的當前結構。
在治理工作組剛剛建立起,很多團隊和工作分配方式已經過時,甚至根本沒法從團隊的 repo 中準確獲取成員跟蹤信息。我們當然需要把應有的組織結構與實存結構進行同步,初期工作也推進地很順利,但到了核心團隊這邊則再次陷入僵局。
我跟參與同步的其他成員交流過,他們也表示看不懂目前的狀態;他們愿意繼續努力,但核心團隊成員沒有任何合作的意思,一切只能不了了之。
很明顯,核心團隊成員希望一直占據在項目中的優勢地位,不接受任何形式的評判甚至是標記。核心團隊成員甚至不愿把開源貢獻校友納入結構中,社區情緒因此陷入谷底。
核心團隊對以往成員們的貢獻沒有給予足夠的重視,甚至不愿予以信任。相反,他們一直在利用自己的職務販賣服務、謀取私利。
我對這一切痛心疾首,但批評換來的不是改進、只是瘋狂的排擠。
很遺憾,這些問題已經成為核心團隊的常態。
2020 Rust All Hands 在組織上的失敗就證明了這一點。在 2019 年的 All Hands 會議之后,核心團隊就變得不感興趣,Mozilla 也不愿意繼續舉辦。這里向大家解釋一下,All Hands 會議是面向 Rust 團隊成員的線下見面活動,其最大的亮點是可以為手頭緊張的貢獻者提供往返車票和住宿服務。
而且 All Hands 活動一直就辦得不好,最初幾屆會議承諾的預算和費用一直批不下來。會議組織的主要成本就是場地租金和貢獻者們的往返車票。在一位核心團隊成員的建議下,會議地點從德國柏林搬到了希臘塞薩洛尼基。這樣場地租金確實更便宜了,但貢獻者們的往返車票倒是更貴了。而且因為我們希望 All Hands 能專注于社區成員而非企業,所以很難拉到商業贊助。
最終,All Hands 會議終于陷入了尷尬的境地——要么收取門票費用,要么縮減受邀參會的貢獻者人數。矛盾最終在組織方與核心團隊的磋商中爆發了出來,核心團隊堅持認為要么繼續邀請所有貢獻者、要么就取消活動。雖然這話說得挺漂亮,但主要原因是有一大批核心團隊成員能享用到這筆差旅費。
總之,核心團隊在任何問題上都會選擇對自己最有利的選項,根本不會考慮更廣泛的組織需求。
在這樣的指導思路下,核心團隊漠視 Palantir 員工繼續參與 Rust-lang 的投訴也就可以理解了。這是一家劣跡斑斑、被實錘開發過間諜軟件的公司,但多位成員對此表達的擔憂都被核心團隊無情駁回。
2020 年,George Floyd 慘案發生之后,我發現 Palantir 公司繼續在利用監控軟件跟蹤甚至打擊參與 Black Lives Matter 的社會活動家。我無法接受這一切,但核心團隊仍然堅持給 Palantir 的員工們保留社區身份。
以上種種,僅僅只是冰山一角。
核心團隊成員種種拒不配合、粗暴打壓的態度,證明他們完全是把 Rust 當成了自己的專屬品、甚至是豢養的“寵物”。
核心團隊特別喜歡宣揚 Rust 項目沒了他們不行,而他們提出的一切跨領域協作口號在我看來都只是假話、空話。
這是個完全自利的團體,只會堅定維持自己的派系、實施自己的目標,頭腦中壓根沒有組織利益或者合作之類的概念。
我個人希望核心團隊的成員們辭職,并徹底解散整個核心團隊。
因為我認為在目前的環境下,Rust 社區成員們根本無法繼續開發并創造良好的創新成果,因為我們的領導層“有毒”、爛透了,既不考慮成員利益也不會在必要時施以援手。
對于這樣一幫家伙,你會將他們稱為 Rust 的“核心”嗎?反正我肯定不會。