Boost 程式庫正式審查流程
請求正式審查之前
請閱讀並遵循 Boost 的提交流程。程式庫作者在請求正式審查之前必須完成幾個步驟。
簡介
只有經過正式審查,Boost 郵件列表成員對其評估發表意見後,建議的程式庫才會被 Boost 接受。
最終的「接受」或「拒絕」決定由審查經理根據從 Boost 郵件列表成員收到的審查意見做出。
鼓勵 Boost 郵件列表成員提交正式審查意見
- 公開於郵件列表上。
- 私下提交給審查經理。
私下提交給程式庫提交者的意見可能對他/她有所幫助,但無助於審查經理做出決定,因此建議採用其他形式。
審查期通常持續 10 天。
審查意見應包含的內容
您的意見可以簡短或冗長,但審查經理需要您對程式庫的評估。如果您在此過程中發現問題,請註明它們是輕微的、嚴重的還是致命的。
Boost 程式庫審查的目標是透過建設性批評來改進程式庫,最終必須做出決定:程式庫在目前是否足夠好,可以被 Boost 接受?如果沒有,我們希望提供足夠的建設性批評,以便在以後改進並接受它。序列化程式庫就是一個很好的例子,說明建設性批評如何導致修訂,從而產生一個在第二次審查中被接受的優秀程式庫。
以下是在審查中您可能想要回答的一些問題
- 您對設計的評估如何?
- 您對實作的評估如何?
- 您對文件的評估如何?
- 您對程式庫潛在用途的評估如何?
- 您是否嘗試使用該程式庫?使用哪個編譯器?您遇到任何問題嗎?
- 您在評估中投入了多少精力?瀏覽?快速閱讀?深入研究?
- 您是否了解問題領域?
最後,每次審查都應該回答這個問題
- 您認為該程式庫應該被接受為 Boost 程式庫嗎?請務必明確說明這一點,以免您的其他意見掩蓋您的整體意見。
許多評論包含了對函式庫作者的提問。作者們有興趣捍衛他們的函式庫以回應您的批評;否則,他們不會提交函式庫以供審閱。如果您沒有立即收到回覆,請耐心等待;如果等待時間過長,或者您收到的回覆不夠充分,請再次提問或嘗試改述問題。請記住,英文並非許多 Boost 成員的母語,這可能會造成誤解。
電子郵件是一種不理想的溝通媒介,即使訊息很少在傳輸過程中遺失,它們也很常會淹沒在大量的其他訊息中。不要以為訊息沒有回覆就代表您被忽略了。以建設性的方式提出批評會更容易被接受,並產生更積極的效果,您也會得到想要的答案。
結果
在評論期結束後的合理時間內,審閱經理會在郵件列表中發佈一則訊息,說明函式庫是否被接受或拒絕。說明理由也很有幫助,但其範圍由審閱經理決定。如果有建議,或是在最終納入前必須滿足的條件,都應該被陳述。關於審閱報告的時效性或品質的疑慮,應私下向審閱指導員提出。
給審閱經理的注意事項
在函式庫可以排定正式審閱之前,一位與提交函式庫無關的活躍 Boost 成員必須自願擔任該函式庫的「審閱經理」。成員可以透過線上或線下方式聯繫函式庫作者,表達擔任審閱經理的意願。函式庫作者必須接受某人擔任審閱經理。
審閱經理的職責:
- 檢查提交的內容,確保其完整性足以進行正式審閱。請參閱《Boost 函式庫要求和準則》。如有必要,與提交者合作驗證程式碼是否能在多個編譯器和平台上正確編譯和執行。
- 與審閱指導員和提交者敲定審閱時程。
- 在boost 郵件列表和boost-announce 郵件列表上發佈審閱時程公告。
- 公告應包含函式庫的簡要說明及其功能,讓讀者知道他們是否有興趣參與審閱。
- 如果已知函式庫在某些編譯器上會出現錯誤,請在審閱公告中提及,以免使用這些編譯器的審閱者浪費時間診斷已知的問題。
- 建議將公告以個別的電子郵件分別發送到每個郵件列表,否則線上電子郵件轉到新聞群組閘道時可能會造成混亂。
- 檢查 Boost 函式庫目錄,找出可能與新提交內容互動的函式庫。這些潛在的互動應該在審閱公告中指出,並且應該私下通知這些函式庫的作者,並敦促他們參與審閱。
- 如果沒有人主動提出審閱,則應敦促人們進行審閱。
- 追蹤關於函式庫的審閱討論,並在需要時進行協調或回答問題。
- 如果在審閱期間提交的審閱數量過少,則應請求審閱指導員允許延長審閱時程。
- 決定是否達成共識接受函式庫,以及是否有任何附加條件。共識不等同於投票。審閱經理有權根據權威性或思考的周全性來衡量意見。
- 在boost郵件列表、boost-users郵件列表和boost-announce郵件列表上發佈審閱結果公告。
換句話說,審閱經理有責任確保審閱流程順利進行。
雖然審核經理也可以審核函式庫,但他們應該以 Boost 使用者的利益為優先。由於審核經理可能對該函式庫持有(強烈的)意見,原則上建議他們直到審核的最後階段,可能直到審核總結時,才分享他們的意見。審核經理將做出最終決定,而在審核過程中過早發表意見可能會對審核過程產生負面影響。
⚠ 為了避免任何利益衝突,潛在的審核經理應向 Boost 社群披露他們與函式庫作者或函式庫本身的任何關係。
函式庫提交者的注意事項
請參閱提交流程,了解函式庫開發者讓函式庫被 Boost 接受的步驟說明。
首先,函式庫作者應接受一位審核經理。如果他們基於任何原因認為審核經理候選人不稱職或不公正,則不應接受該候選人。
提議的函式庫在審核期間應保持穩定;如果頻繁變更,只會讓審核者感到困惑和煩躁。然而,立即上傳嚴重錯誤的修復程式是有益的,尤其是那些會阻止審核者完整評估函式庫的錯誤。請在郵寄清單上發布此類修復的通知。
審核者建議的函式庫改進通常應在審核期結束後再進行。如果建議的變更可能會影響審核者的判斷,請在郵寄清單上發布待定變更的通知。
函式庫維護者的權利和責任
透過將函式庫提交給 Boost,您承擔了維護您的函式庫或尋找合格志願者擔任維護者的責任。您必須願意將您的函式庫和文件置於與 Boost 相容的授權之下。
您需要及時回覆合理的錯誤報告和問題,並在需要時參與 Boost 郵寄清單上關於您函式庫的討論。
您可以自由地以任何您希望的方式更改您的函式庫,我們也鼓勵您積極地進行改進。然而,同儕審核是 Boost 流程的重要組成部分,因此我們也鼓勵您在對已接受的函式庫的介面進行重大變更之前,先從 Boost 社群獲取回饋。
如果在某個時間點您不再希望擔任函式庫的維護者,您有責任將此告知 Boost 社群,並尋找另一人來接替您的職位。
已被放棄的函式庫將由社群維護團隊負責管理。
審核精靈
審核精靈協調正式審核時程
- 當函式庫請求正式審核時
- 根據函式庫提交者的初步接受、他們在 Boost 社群的參與度(包括郵寄清單、之前的審核和其他論壇),核准審核經理。
- 在確認(透過私人電子郵件)審核經理和函式庫作者的時間安排後,建議一個時程。
- 一旦審核經理確認函式庫已準備好進行審核,即確定時程。
- 解決審核經理和提交者遇到的時程延誤或其他問題。
- 以審核時程網頁的形式,維護過去和待定審核的時程表。
- 解決來自審核經理和函式庫提交者的問題,他們有時需要第三方對諸如「我們是否應該因為……而延長審核期?」之類的問題提供意見。
- 監控整個審核流程,並根據需要進行細微調整,或向清單查詢可能的重大調整。
Boost 審核精靈的職位目前由以下人員擔任:
- Mateusz Loskot (mateusz at loskot dot net)
- John Phillips (johnphillipsithaca at gmail dot com)
歷任審核精靈(感謝您的服務)
- Ronald Garcia
- Tom Brinkman
- Thomas Witt
快速審核
符合快速審核的資格
- 組件必須小巧。
- 技術必須已在 Boost 函式庫中使用,而新的組件提供了通用的實作。
- 沙盒中提供了完整符合 Boost 規範的實作。
- 審核嚮導判斷該提案符合快速審核的資格。
程序
- Boost 審核嚮導會在 Boost 主要開發者郵件列表中發布審核公告。快速審核期通常持續 5 天。不會同時進行兩個快速審核。快速審核可以在完整審核期間進行,但通常應避免這種情況。
- 審核期結束後,提交者將發布審核摘要,其中包含對已審核實作的擬議變更。
- 審核嚮導將接受或拒絕提議的函式庫和擬議的變更。
- 套用擬議的變更後,該組件會像任何其他函式庫一樣簽入儲存庫。
小型審核
如果審核產生了接受條件,審核經理可能會要求進行小型審核,以確定是否滿足這些條件。小型審核通常由同一位審核經理執行。