51CTO讀者成長計劃社群招募,咨詢小助手(微信號:CTOjishuzhan)
編譯 | 王瑞平、言征
Rust內部人員之間的斗爭從未停止。
最近,Jntrnr辭去了Rust的工作,他曾于2021年加入Rust Core team。關于發生此事的原因,大家有很多揣測,因此,他在博客上發布了文章,特意澄清了真實的原因。
與此同時,他還在Twitter上就此事做出了簡要的說明:“我已辭去Rust中的所有職務,立即生效。很多人問我這個問題,所以我寫了一篇聲明,說明我為什么辭去Rust的工作?!?/p>
一、究竟發生了什么?我為什么離開?
先從我的視角向大家匯報一下事情的來龍去脈:
1.我們向臨時領導小組發出了邀請,希望他們能成為Rust會議的主講人;
2.吉恩·海迪是我和Manish提議的主講嘉賓,是C語言的自身程序員,C++專家,也是一位優秀的演講者。我們認為他會是一位出色的受邀專家,擁有局外人的視角;
3.幾天后,我們舉行了一次投票,吉恩·海迪被選為主講人之一;
4.吉恩·海迪被邀請并接受了主題演講;
5.日程公布之前,我們在一次團隊會議上討論了吉恩·海迪被選為主講人之一;
6.一些Rust團隊成員強烈反對吉恩·海迪被選為主題演講者,因為她發布的關于Rust的博客文章內容。
7.這些反對的原因被提交給臨時領導小組并要求立即執行。而大家并沒有討論做出改變的后果。有人抱怨說,這種阻力不足以要求更改主講人,但這種反饋被忽略了。討論的重點是把吉恩·海迪從主題演講人的位置上換下來。演講從“主題演講”降級為“常規演講”。
8.Rust領導層中有一個人沒有經過臨時領導小組的投票(吉恩·海迪是由Rust領導層投票選出的)而直接聯系了Rust conf的領導層,要求更改邀請。
9.Rust conf領導層決定等一個星期后再通知吉恩·海迪,給Rust領導層時間改變主意,而臨時領導小組沒有被告知本周的延期。
10.一周過后,吉恩·海迪被告知決定,完全拒絕他在Rust會議上的發言。
11.當我讀到吉恩·海迪的博客文章并得知邀請被拒絕時,我立即辭去了Rust項目的工作。
以上是我能夠給出的最清晰的前因后果。我們需要進行全面調查以揭示上述情況發生的方式和原因。如果有新的信息出現,我也會保留編輯上述內容的權利。
通過以上事實的陳述,我離開的原因顯而易見,親眼目睹Rust組織羞辱了吉恩·海迪。當我感受到吉恩·海迪因受到虐待和背叛而感到痛苦和失望時,我的心都碎了。
二、RustConf 撤銷會議主講人
5月26日,吉恩·海迪發表聲明文章稱,自己將不會在RustConf 2023會議上發言。RustConf 2023的組織者此前聯系到他,讓他接受從“主題演講”降級為“常規演講”。最初,他認為這是由于正常的日程安排或者是找到更合適的人選。
但事實并非如此。真實的原因是,Rust 領導小組部分成員對他的演講主題表示不滿,他對此感到不解。RustConf的主題演講通常涵蓋與Rust項目的目標和需求相近和相距甚遠的主題。主題演講從來沒有對Rust項目的目標方向有確切的指示。
“他們沒有事先聯系我,只是問我是否愿意放棄我的工作,以明確表示他們沒有明確認可這個方向,這對我來說是一種侮辱,”吉恩·海迪在聲明中表示。
三、決策帶有偏見,會議不該缺少有色人種出席
我感受到了決策方背景的重要性。吉恩·海迪不僅是近期Rust基金會的資助獲得者,也在長期為Rust項目做貢獻。
他曾大力呼吁Rust的技術會議應該引入黑人代表。這是完全正確的,因為Rust組織和會議中幾乎真的沒有黑人代表出現。
當我目睹一個組織不僅可以對此類專家如此冷漠,而且對一名能夠直言不諱地批評 Rust缺乏多樣性的專家如此冷漠時,很難不認為是由其它原因導致。
而我感受的不只是會議的組織者對于領域專家的冷漠,更是由于他直言不諱地批評Rust缺乏多樣性才招致今天不受尊重的結局。
制度是有記憶的,也是有偏見的。如果制度內的每一分子不努力與之斗爭,這些記憶和偏見就將長期存在。我的好友Aman說得很對,RustConf不該缺少有色人種的出席。
四、根源在于Rust領導者不愿交權
我反對做出此種決策的人,他們顯然不習慣尊重他人,將演講嘉賓發表的主題演講降級是非常不尊重的。我也四處打聽,看是否有人經歷過類似的情況,甚至聽說過此類情況。
根本原因可能在于RustConf的領導者不愿交出自己手里的權力。他們不愿意交權,也許是因為這份權力允許他們依照個人喜好撤消會議主講人。
五、是時候問責了
我回顧了我是如何處理此類事件的,我本可以做得更好。
我的首選方案是通過外交的方式解決,嘗試搭建橋梁、獲取信息并尋求妥協。但是,在閱讀了發生的相關事件和回顧了我的行為之后,很明顯,問題的一部分是由領導層的外交手段過多導致。
太多的人互相懷疑,太多的人要求答案,對錯誤的決定聽之任之。因此,我要為解決這些失敗的決策盡自己的力量。
我們需要的不是外交,而是需要人們對發生的事情負責并做出補償。我們需要濫用領導層的決策者退出,需要一個不殘忍行事的組織替代。這樣,它創建的項目和背后的組織才能重建失去的信任。
六、需要Rust方做出回應
總之,Rust的相關組織需要被追究責任,我認為,以下是需要做出的回應:
1.沒有領導投票不可以私自做出決定?
2.為什么降級演講是解決的唯一途徑?
3.為什么RustConf領導層同意這個決定而不保護演講者?
4.為什么Rust領導層沒有被告知更改決定的時間段?
5.誰要為將團隊的不適變成對專家的恥辱負責?我們將如何追究他們的責任?
6.我們如何采取保護措施,以免再次發生這種情況?
7.目前,Rust如何被追責并且能夠保持長期的責任感?
七、涉事專家對此事的回應
涉及的相關專家全名是吉恩·海迪(JeanHeyd·Meneide),是一名軟件工程師,也是C語言的程序員。他擅長人體工程學庫設計、性能調優、外部函數/語言接口以及圖形編程。
吉恩·海迪曾公開發表說:“我最喜歡的工作是編程,即使是年輕的程序員也能寫出高質量的代碼,讓他們走向成功。偶爾,我會陷入網絡編程循環之中。”
對于此事,他也公開了自己的回應:“經過一整天的反復討論,一些非常重要的細節已經浮出水面,我將在這里總結一下。”
回應中提到:“來自Rust項目內部的某個人,在沒有獲得領導層一致同意的情況下,試圖貶低我的演講(或者干脆撤回演講)。因為他們不喜歡我正在做的編程工作。”
“當我知道我要講Rust中的編譯反射時,那個人決定降級我的演講,并在上周五之前的4-8天做出決定,而我實際上是在上周五才被告知這一消息的,我不得不放棄發表這篇博文。原來的和現有的Rust項目成員中的許多人直到看到我的帖子才知道單方面降級的決定??偠灾?,這讓人覺得有些人試圖繞過Rust項目曾達成的共識,因為他們不喜歡此類工作?!?/p>
“我不知道該如何處理這件事。Rust項目對此事擁有最終決定權,并且我們的工作涉及的所有項目都在組織的控制之下。即使我們做了這些工作,他們也有權解除和撤銷或者用無窮無盡的‘合理關注’無限期阻止我們的工作。這些項目成員似乎有問題,但除了對我們現在已經結束的RustConf的相關工作現狀進行批評外,他們不想與我們做出額外的溝通?!?nbsp;
八、為Rust做出的工作
吉恩·海迪在澄清的博文中提到,他曾針對Rust做出過大量工作,主要針對Rust的鏡像配置,并將這些工作公開發表,部分內容如下:
有了強大的trait系統、編程時的常量以及針對類型和常量的where-and-:風格邊界,Rust對泛型函數的處理已經徹底擺脫C++那種隨心所動、狂野的以及只在調用時出錯的模板系統。
此外,它強大的宏系統已成為C語言的重要替代品,允許用戶在編譯時通過一致和可靠的方式生成實際的代碼,以及處理最重要的語言擴展任務。
與C語言非常相似,Rust過于依賴宏系統和代碼生成技術,這雖然避免了自然語言處理中產生的缺陷,在不恰當編譯處通過預先加載工作彌補語言和數據庫特征的不足,但卻因此產生了更長的編譯時間。
“為此,我們已經開始對一組核心語言原語句進行規范、形式化和潛在的集成并以bikeshed命名introwoinspection?!彼谖恼轮锌偨Y說。
參考資料:
https://www.jntrnr.com/why-i-left-rust/
https://soasis.org/posts/a-mirror-for-rust-a-plan-for-generic-compile-time-introspection-in-rust/
https://pony.social/@thephd/110446817486174177