IT之家 11 月 20 日消息,Rust 團(tuán)隊(duì)宣布在幾個(gè)月前接受 RFC 3355 的提議,決定開(kāi)始制定 Rust 語(yǔ)言的官方規(guī)范。
官方表示,在這一過(guò)程中,Eric(Rust 參考的維護(hù)者),F(xiàn)elix(Rust 語(yǔ)言團(tuán)隊(duì)),Joel(Rust 基金會(huì))和 Mara(RFC 的作者)組建了“規(guī)范團(tuán)隊(duì)”,共同努力推動(dòng)相關(guān)工作。
日前該規(guī)范團(tuán)隊(duì)發(fā)文介紹了這項(xiàng)工作的進(jìn)展,以及后續(xù)的一些其他規(guī)劃,并宣布將在未來(lái)為團(tuán)隊(duì)制定定期會(huì)議時(shí)間表、確定利益相關(guān)者名單,并制作首個(gè) Demo 產(chǎn)品,IT之家整理相關(guān)內(nèi)容如下:
編輯者方面(Editor)
作為 RFC 中規(guī)定的 “editor” 角色,由于基金會(huì)尋求該職位的理想人選時(shí),一名候選人的提議最終被拒絕,基金會(huì)最終選擇考慮內(nèi)部選項(xiàng)作為替代方案。
基金會(huì)的技術(shù)總監(jiān) Joel 表示愿意擔(dān)任該職位作為他現(xiàn)有工作的一部分。由于 Joel 在行業(yè)標(biāo)準(zhǔn)和技術(shù)編輯方面擁有豐富的經(jīng)驗(yàn),以及與 Rust 項(xiàng)目的密切關(guān)系,Eric,F(xiàn)elix 和 Mara 迅速同意讓 Joel 擔(dān)任規(guī)范編輯的職位。
規(guī)范團(tuán)隊(duì)方面(Specification Team)
官方表示,由于編輯者無(wú)法獨(dú)自完成工作,因此他們組建了規(guī)范團(tuán)隊(duì),作為語(yǔ)言團(tuán)隊(duì)的子團(tuán)隊(duì)。
其中成員包含:
Felix Klock(團(tuán)隊(duì)負(fù)責(zé)人)
Mara Bos(團(tuán)隊(duì)負(fù)責(zé)人)
Joel Marcey(團(tuán)隊(duì)成員,編輯者)
Eric Huss(團(tuán)隊(duì)成員)
利益相關(guān)者(Stakeholders)
官方宣稱,他們將選擇并維護(hù)一份有關(guān)“利益相關(guān)方”的列表清單,其中包括“專家”和“規(guī)范的使用者”,他們將作為顧問(wèn)和審閱者。
其中成員包含:
Rust 語(yǔ)言團(tuán)隊(duì)的所有成員
一名或多名來(lái)自類型團(tuán)隊(duì)的代表
一名或多名來(lái)自操作語(yǔ)義團(tuán)隊(duì)的代表
一名或多名來(lái)自 Ferrocene(高保障 / 可用性,例如汽車行業(yè))的代表
一名或多名來(lái)自形式方法研究與開(kāi)發(fā)的代表
一名或多名來(lái)自操作系統(tǒng)開(kāi)發(fā)(Rust for Linux; Microsoft)的代表
權(quán)限和審批(Authority and Approval)
雖然規(guī)范團(tuán)隊(duì)負(fù)責(zé)撰寫和編輯規(guī)范,但對(duì) Rust 語(yǔ)言的定義的權(quán)威仍由相關(guān)團(tuán)隊(duì),如語(yǔ)言團(tuán)隊(duì)和庫(kù) API 團(tuán)隊(duì)等負(fù)責(zé)。這些團(tuán)隊(duì)在必要時(shí)應(yīng)涉及其他團(tuán)隊(duì) / 子團(tuán)隊(duì),例如通過(guò)提出問(wèn)題,提名問(wèn)題進(jìn)行討論,并在關(guān)鍵決策上請(qǐng)求 FCP 批準(zhǔn)。
官方表示,為了讓規(guī)范團(tuán)隊(duì)能夠在不受審批流程限制的情況下生成內(nèi)容并進(jìn)行迭代,他們將在工作存儲(chǔ)庫(kù)中制定一份規(guī)范草案,從而公開(kāi)跟蹤仍然需要團(tuán)隊(duì)批準(zhǔn)的項(xiàng)目以及利益相關(guān)方提出的問(wèn)題。
我們將所有變更分類為次要變更或重大變更。較小的更改是對(duì)規(guī)范團(tuán)隊(duì)來(lái)說(shuō)似乎沒(méi)有爭(zhēng)議或微不足道的項(xiàng)目。例如,語(yǔ)言團(tuán)隊(duì)已經(jīng)通過(guò) FCP 批準(zhǔn)的更改、排版和語(yǔ)法修復(fù)、初衷明確的澄清,以及類似的令人興奮的更改。重大變更是那些可能有問(wèn)題、重要或有爭(zhēng)議的變更。規(guī)范團(tuán)隊(duì)和相關(guān)權(quán)威團(tuán)隊(duì)的任何成員以及任何規(guī)范利益相關(guān)者都可以將更改標(biāo)記為重大更改。對(duì)規(guī)范的重大更改必須經(jīng)過(guò)通常的批準(zhǔn)流程(例如語(yǔ)言 FCP)才能出現(xiàn)在規(guī)范的已發(fā)布(非草案)版本中。
其中語(yǔ)言和規(guī)范團(tuán)隊(duì)?wèi)?yīng)努力至少有一個(gè)共享成員(例如 Felix),充當(dāng)聯(lián)絡(luò)員,以確保官方對(duì)“什么是次要更改”和“什么是主要更改”的理解保持同步。
目標(biāo)
規(guī)范團(tuán)隊(duì)的目標(biāo)是創(chuàng)建和維護(hù) Rust 規(guī)范。
Rust 規(guī)范的目的是為確定哪些源文本是有效的 Rust 程序以及這些程序的行為提供權(quán)威資源,理想的規(guī)范即:
當(dāng)前和未來(lái)的 Rust 版本定義了對(duì)給定 Rust 程序語(yǔ)義的規(guī)定邊界
提供了與該規(guī)范實(shí)例耦合的 Rust 版本的語(yǔ)義的詳細(xì)描述。
關(guān)于特定版本的詳細(xì)信息可以直接在規(guī)范中提供,也可以通過(guò)委派給相關(guān) Rust 團(tuán)隊(duì)擁有的其他文檔間接提供。
發(fā)布節(jié)奏
Rust 發(fā)布將獨(dú)立于規(guī)范審批流程進(jìn)行,這是從設(shè)計(jì)方面考慮的。規(guī)范工作不得為項(xiàng)目增加需要克服的新障礙,以履行其現(xiàn)有義務(wù),例如 6 周的發(fā)布周期。
團(tuán)隊(duì)愿景是最終能夠達(dá)到自動(dòng)交付更新規(guī)范的程度,并且能夠按照項(xiàng)目的 6 周發(fā)布節(jié)奏完成。但是,從短期和中期來(lái)看,其希望能夠自由地滯后于 6 周的發(fā)布節(jié)奏。當(dāng)規(guī)范團(tuán)隊(duì)為以前未涉及的領(lǐng)域逐步添加新內(nèi)容,或大幅縮小當(dāng)前版本規(guī)范的規(guī)定范圍時(shí),滯后于 Rust 發(fā)布計(jì)劃的能力可能會(huì)特別有用。
雖然規(guī)范開(kāi)發(fā)過(guò)程不會(huì)阻止發(fā)布,但語(yǔ)言功能的更改應(yīng)與規(guī)范的相關(guān)更新相結(jié)合。一旦開(kāi)始發(fā)布與特定版本相關(guān)的規(guī)范,那么如果沒(méi)有規(guī)范團(tuán)隊(duì)批準(zhǔn)對(duì)當(dāng)前草案規(guī)范的相應(yīng)拉取請(qǐng)求,則對(duì)當(dāng)前規(guī)范中記錄的語(yǔ)言功能的更改就無(wú)法穩(wěn)定。規(guī)范中未記錄的語(yǔ)言功能的更改可以在不更新規(guī)范的情況下穩(wěn)定下來(lái),但需要規(guī)范團(tuán)隊(duì)成員確認(rèn)相應(yīng)的功能未記錄。
通過(guò)強(qiáng)制執(zhí)行新功能在穩(wěn)定之前必須成為規(guī)范的一部分的規(guī)則,有望消除規(guī)范與 Rust 版本之間潛在滯后的主要根源。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。