軟件有 bug。任何復雜系統(tǒng)都無法保證每個部分都能按計劃工作。Fedora Linux 是一個非常復雜的系統(tǒng),包含幾千個包,這些包由全球無數(shù)個獨立的上游項目創(chuàng)建。每周還有數(shù)百個更新。因此,問題是不可避免的。本文介紹了 bug 修復過程以及如何確定 bug 優(yōu)先級。
發(fā)布開發(fā)過程
作為一個 Linux 發(fā)行項目,我們希望為用戶提供完善的、一切正常的體驗。我們的發(fā)布起始于 “Rawhide”。我們在 Rawhide 中集成了所有更新的自由及開源軟件的新版本。我們一直在不斷改進正在進行的測試和持續(xù)集成Continuous Integration過程,為了讓即使是 Rawhide 也能被冒險者安全使用。可是,從本質(zhì)來講,Rawhide 始終有點粗糙。
每年兩次,我們把這個粗糙的操作系統(tǒng)先后分支到測試版本、最終版本。當我們這么做時,我們齊心協(xié)力地尋找問題。我們在測試日Test Days檢查特定的區(qū)域和功能。制作“候選版本Candidate builds”,并根據(jù)我們的發(fā)布驗證測試計劃進行檢測。然后我們進入凍結狀態(tài)freeze state,只有批準的更改可以并入候選版本。這就把候選版本從持續(xù)的開發(fā)隔離開來,持續(xù)的開發(fā)不斷并入 Rawhide 中。所以,不會引入新的問題。
在發(fā)布過程中許多 bug 被粉碎去除,這些 bug 有大有小。當一切按計劃進行時,我們?yōu)樗杏脩籼峁┝税从媱澃l(fā)布的嶄新的 Fedora Linux 版本。(在過去幾年里,我們已經(jīng)可靠地重復這一動作——感謝每一個為之努力工作的人!)如果確實有問題,我們可以將其標記為發(fā)布阻礙release blocker。這就意味著我們要等到修復后才能發(fā)布。發(fā)布阻礙通常代表重大問題,該表達一定會引發(fā)對 bug 的關注。
有時,我們遇到的一些問題是持續(xù)存在的。可能一些問題已經(jīng)持續(xù)了一兩個版本,或者我們還沒有達成共識的解決方案。有些問題確實困擾著許多用戶,但個別問題并沒有達到阻礙發(fā)布的程度。我們可以將這些東西標記為阻礙blocker。但這會像錘子一樣砸下來。阻礙可能導致最終粉碎該 bug,但也可能導致破壞了周圍。如果進度落后,所有其它的 bug 修復、改進以及人們一直在努力的功能,都不能到達用戶手中。
按優(yōu)先順序排列 bug 流程
所以,我們有另一種方法來解決煩人的 bug。按優(yōu)先順序排列 bug 流程,與其他方式不同,可以標出導致大量用戶不滿意的問題。這里沒有錘子,更像是聚光燈。與發(fā)布阻礙不同,按優(yōu)先順序排列 bug 流程沒有一套嚴格定義的標準。每個 bug 都是根據(jù)影響范圍和嚴重性來評估的。
一個由感興趣的貢獻者組成的團隊幫助策劃一個簡短列表,上面羅列著需要注意的問題。然后,我們的工作是將問題匹配到能夠解決它們的人。這有助于減輕發(fā)布過程中的壓力,因為它沒有給問題指定任何特定的截止時間。理想情況下,我們能在進入測試階段之前就發(fā)現(xiàn)并解決問題。我們盡量保持列表簡短,不會超過幾個,這樣才會真正有重點。這種做法有助于團隊和個人解決問題,因為他們知道我們尊重他們捉襟見肘的時間與精力。
通過這個過程,F(xiàn)edora 解決了幾十個嚴重而惱人的問題,包括從鍵盤輸入故障到 SELinux 錯誤,再到數(shù)千兆字節(jié)大小的舊包更新會逐漸填滿你的磁盤。但是我們可以做得更多——我們實際上收到的提案沒有達到我們的處理能力上限。因此,如果你知道有什么事情導致了長期挫折或影響了很多人,至今沒有達成解決方案,請遵循按優(yōu)先順序排列 bug 流程,提交給我們。
你可以幫助我們
邀請所有 Fedora 貢獻者參與按優(yōu)化順序排列 bug 的流程。評估會議每兩周在 IRC 上舉辦一次。歡迎任何人加入并幫助我們評估提名的 bug。會議時間和地點參見日歷。Fedora 項目經(jīng)理在會議開始的前一天將議程發(fā)送到triage和devel郵件列表。
歡迎報告 bug
當你發(fā)現(xiàn) bug 時,無論大小,我們很感激你能報告 bug。在很多情況下,解決 bug 最好的方式是交給創(chuàng)建該軟件的項目。例如,假設渲染數(shù)據(jù)相機照片的 Darktable 攝影軟件出了問題,最好把它帶給 Darktable 攝影軟件的開發(fā)人員。再舉個例子,假設 GNOME 或 KDE 桌面環(huán)境或組成部分軟件出了問題,將這些問題交給這些項目中通常會得到最好的結果。
然而, 如果這是一個特定的 Fedora 問題,比如我們的軟件構建或配置或者它的集成方式的問題,請毫不猶豫地向我們提交 bug。當你知道有一個問題是我們還沒有解決的,也要提交給我們。
我知道這很復雜……最好有一個一站式的地方來處理所有 bug。但是請記住,F(xiàn)edora 打包者大部分是志愿者,他們負責獲取上游軟件并將其配置到我們系統(tǒng)中。他們并不總是對他們正在使用的軟件的代碼有深入研究的專家。有疑問的時候,你可以隨時提交一個Fedora bug。Fedora 中負責相應軟件包的人可以通過他們與上游軟件項目的聯(lián)系提供幫助。
請記住,當你發(fā)現(xiàn)一個已通過診斷但尚未得到良好修復的 bug 時,當你看到影響很多人的問題時,或者當有一個長期存在的問題沒有得到關注時,請將其提名為高優(yōu)先級 bug。我們會看以看能做些什么。
附言:標題中的著名圖片當然是來自哈佛大學馬克 2 號計算機的日志,這里曾是格蕾絲·赫柏少將工作的地方。但是與這個故事的普遍看法相背,這并不是 “bug” 一詞第一次用于表示系統(tǒng)問題——它在工程中已經(jīng)很常見了,這就是為什么發(fā)現(xiàn)一個字面上的 “bug” 作為問題的原因是很有趣的。
原文地址:https://linux.cn/article-13333-1.html