Rust創(chuàng)始人談Rust 2019和未來(lái):社區(qū)應(yīng)限制成長(zhǎng)速度
- 提案需要通過(guò)流程進(jìn)行控制,以避免發(fā)展過(guò)快導(dǎo)致不良后果。Rust 創(chuàng)始人 Graydon Hoare 針對(duì)語(yǔ)言資源共享以及處理社區(qū)個(gè)體壓力兩部分提出建議。
本文作者 Graydon Hoare 是 Rust 語(yǔ)言創(chuàng)始人。眾所周知,Rust 最初是 Mozilla 公司員工 Graydon Hoare 的私人項(xiàng)目。2009年 Mozilla 開(kāi)始贊助 Rust,并有若干 Mozilla 員工參與 Rust 語(yǔ)言的設(shè)計(jì)和研發(fā)。2013年8月,Graydon Hoare 卸任 Rust 技術(shù)負(fù)責(zé)人職位。
需要說(shuō)明的是,Graydon Hoare 表示文章僅代表其本人的觀點(diǎn)和立場(chǎng),與其他任何人無(wú)關(guān),甚至不再是以 Rust 積極參與者的身份在表達(dá),而且這些建議在很大程度上適用于許多項(xiàng)目。Rust 只是一個(gè)案例,不過(guò)目前恰好適合進(jìn)行一次年終總結(jié)。
Graydon Hoare 對(duì) Rust 項(xiàng)目的發(fā)展軌跡也非常滿意,之所以寫下這篇文章是為了保持它的健康,以及讓它在軌道上如期行駛。更重要的是,希望 Rust 能避免他以“局外人”身份進(jìn)行開(kāi)發(fā)時(shí)觀察到的這些問(wèn)題。
Rust 創(chuàng)始人 Graydon Hoare 對(duì) Rust 的發(fā)展,表達(dá)了兩個(gè)具體需要注意與改善建議的部分,一是必須要共享技術(shù)文件與成品(Artifacts),特別是語(yǔ)言定義本身,再來(lái)則是要把注意力放回到社區(qū)成員 —— 個(gè)體身上,關(guān)注參與工作的社區(qū)個(gè)人的壓力,Graydon Hoare 提到,這些必須要及早控制,以有計(jì)劃的方式進(jìn)行。
Graydon Hoare 認(rèn)為,任何事物因缺乏控制機(jī)制而發(fā)展過(guò)快,最終都會(huì)導(dǎo)致不好的后果,并列舉了幾個(gè) Rust 項(xiàng)目對(duì)變化率與增長(zhǎng)率進(jìn)行限制的控制案例。他提到,這對(duì)于項(xiàng)目的成功有很大的幫助,像 Bors Queue 通常是用來(lái)對(duì)程序范圍內(nèi)的正確性進(jìn)行修改,而 Crater Runs 則是用來(lái)修正整個(gè)生態(tài)系統(tǒng)的正確性,而基于時(shí)間的版本發(fā)布(Time-based releases)也是流程控制之一,用來(lái)決定是否需要放棄遵守時(shí)間表,或者是削減功能。
另外,Rust 還增加了一些制度化不太明顯,但仍十分重要的社區(qū)結(jié)構(gòu),以管理參與項(xiàng)目的人員成長(zhǎng),例如 RFC 流程,包括關(guān)于形式、內(nèi)容、時(shí)間、參與者組合以及討論重大變化時(shí)討論的規(guī)則等,另外,治理模型也是其中的一種控制方式,用于劃分責(zé)任區(qū)域、必要時(shí)的權(quán)限授予、參與者的角色和期望等。
Graydon Hoare 認(rèn)為,目前 Rust 仍有兩大領(lǐng)域缺乏功能性的管理,***是語(yǔ)言的發(fā)展本身,這需要有更多的規(guī)范;第二是人,亦即社區(qū)成員。Graydon Hoare 提到,當(dāng)社區(qū)成員過(guò)于疲憊,可能會(huì)做出糟糕的決定,而且社區(qū)也可能因成員擁有的資源不均而導(dǎo)致發(fā)展偏斜,具有特權(quán)、精力充沛、收入豐厚或是其他優(yōu)越條件的人,才能跟上社區(qū)的發(fā)展。人們也常為贏得爭(zhēng)論,使得言論自由變得狹隘,成員也會(huì)因?yàn)榫氲 ⒈憩F(xiàn)不佳而離開(kāi)項(xiàng)目,社區(qū)甚至?xí)驗(yàn)閻阂庵肛?zé)、語(yǔ)言仇恨或挫折而分裂。
為此,Graydon Hoare 提出了幾項(xiàng)建議,他認(rèn)為 Rust 項(xiàng)目現(xiàn)在應(yīng)該暫停、反思、集思廣益并執(zhí)行一些控制措施。他認(rèn)為最重要的是,社區(qū)要學(xué)會(huì)擁抱負(fù)面的語(yǔ)言,試著接納消極、負(fù)面的意見(jiàn),像是“Rust 永遠(yuǎn)不會(huì)有某功能”這樣的話語(yǔ),唯有沉住氣冷靜地思考,才能獲得長(zhǎng)遠(yuǎn)的視野。
除此之外,社區(qū)還需要設(shè)立一些限制機(jī)制,針對(duì)諸如編譯器編譯代碼行數(shù)、Bootstrap 的總時(shí)間數(shù)、每日 AWS 執(zhí)行個(gè)體的花費(fèi)成本、類別系統(tǒng)中推理規(guī)則數(shù)量等,找出有意義的指標(biāo),制定機(jī)制以限制發(fā)展速度。再則就是基于個(gè)人時(shí)間預(yù)算的活動(dòng)限制 —— 計(jì)算出在不疲憊的情況下,每個(gè)團(tuán)隊(duì)有多少可用的時(shí)間,或是每個(gè)版本的發(fā)布需要耗費(fèi)多少人力和時(shí)數(shù),并移除超過(guò)這個(gè)時(shí)間范圍可以做的工作。
項(xiàng)目維護(hù)團(tuán)隊(duì)?wèi)?yīng)在特定的討論上加以速率限制或是提供冷靜期,因?yàn)橛袝r(shí)從外部看來(lái),社區(qū)的整體討論過(guò)于激烈,而限制討論是簡(jiǎn)單的可以“降溫”的方式,能讓討論焦點(diǎn)重新回到主題上,而不會(huì)被個(gè)人行為影響。另外,還應(yīng)設(shè)置一個(gè)額外的項(xiàng)目團(tuán)隊(duì),主要負(fù)責(zé)審核其他團(tuán)隊(duì)的預(yù)算以達(dá)“負(fù)載均衡”,Graydon Hoare 認(rèn)為這對(duì)于團(tuán)隊(duì)是有幫助的,讓第三方而不是團(tuán)隊(duì)中的大多數(shù)成員來(lái)判斷事情的進(jìn)展,因?yàn)榇蠖喑蓡T會(huì)因?yàn)楸еA(yù)設(shè)的立場(chǎng)而對(duì)大多數(shù)的事情都說(shuō)好。




















