龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期

OpenAnolis小助手發表於2023-02-01

「龍蜥開發者說」第 15 期來了!開發者與開源社群相輔相成,相互成就,這些個人在龍蜥社群的使用心得、實踐總結和技術成長經歷都是寶貴的,我們希望在這裡讓更多人看見技術的力量。本期故事,我們邀請了龍蜥社群開發者陳成來分享「 6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數」。

歡迎閱讀上期故事《 眾人拾柴火焰高!聊一聊我在社群的所思所想》。開發者說系長期活動,對於積極投稿、多次分享的童鞋,我們還有神秘大禮鼓勵!誠邀開發者們分享真實體驗,以文會友、共同學習、一起進步。

龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期

本期故事主角:陳成,系統運維 SIG Contributor、雲原生 SIG Contributor,聯通軟體研究院軟體開發工程師,主要負責雲平臺、容器化等方面工作。在龍蜥社群主要協助基於Anolis OS 8.2/8.4 的構建工作。

工作時間一長,有時會忘記我的開源路是從哪裡開始的。但現在仔細想想,我第一次接觸開源,還是在大學時期,當時是透過 Github下載樣例程式,學習並行程式開發。

從求學時期接觸開原始碼,到工作中參與開源專案,其實時間算不上長,但是學到的內容不可謂不算多。遙想我第一次正式使用開源的專案,已經是 Apache 的 Hadoop。而第一次分享自己的開源專案也是涉及大資料視覺化相關的工作。現在回想起來,這些都是 6 年前的事情了。

在我這些年的職業生涯中,逐漸接觸瞭如 Mesos、Marathon、Kubernetes 等開源專案,和大多數的開發者一樣,涉及到的內容更多是這些開源專案的整合和應用,並沒有深入到提交 issue 和 PR。但還記得有一次我在使用 kubevirt 專案時,出現了掛載卷異常問題,當時我經過反覆的測試確認,最終發現是由於程式碼中的一個 bug 導致了異常。發現問題後,我針對這個 bug 提交了 PR,最終程式碼被合入。雖然這次經歷的問題很小,但我對開原始碼的認識卻因為這個小小的問題加深了許多,比如關於 PR 提交流程、issue 的書寫方法等等。

很多時候,一些開發者也會抱著這樣的想法:我對整個專案的程式碼並不熟悉,但在使用的時候發現了疑似是開源專案的 bug,我該如何甄別到底是改動哪裡呢?其實這個時候我們就需要追蹤專案原始碼。原始碼是基礎,是所有頂樓的地基。接觸了原始碼,就相當於開始了深入瞭解專案的過程。基於原始碼一步步追蹤,找到最根本問題所在,找到最優解,並修改相關程式碼,就是我們需要做的事。一般開源專案都會有較為完善的迴歸測試,自動化的執行方式極大地加速了程式碼的提交和合入週期。以上面提到的kubevirt 專案舉例,剛開始我處理這個 bug 時,以為要改動多個地方,最終經過反覆確認後發現,僅需要簡單地修改一個變數即可。即使僅僅是一行程式碼的資料量,卻可以修復一個明顯的錯誤,這大概就是大家所說的,細節決定成敗。

2021 年,我因工作關係與龍蜥社群結緣,我們當下正在構建基於龍蜥作業系統 Anolis OS 8.2 和 Anolis OS 8.4 兩個版本的 CULinux 作業系統。在這個過程中,我們藉助的都是開源軟體的力量。

其實一開始,我對作業系統構建並不熟悉,甚至對 CentOS 的編譯也關注甚少,但這並不能成為阻礙工作前進的步伐。我查閱過許多資料,參與了龍蜥開源社群包編譯體提交,也瞭解到龍蜥後臺使用的韌體環境是基於開源軟體 koji 搭建的。這個過程中,團隊夥伴給予了我很多幫助,我們一起研究搭建起了內網的 koji 構建平臺,並與程式碼倉庫等聯動起來,實現了內網 rpm 包的編譯與 ISO 的構建。

龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期

開源就像是開啟了的“潘多拉魔盒”,將那些未知的東西完完整整地展示出來,使得參與者們可以共同增進、共享紅利。

隨著業務的需求增加,細粒度的觀測、故障定位成為我的重點工作。透過了解社群的系統運維 SIG(Special Interest Group),此 SIG 中的開源專案 sysAK 和 sysOM 正好符合我們的需求。經過一番努力,我也在 sysOM 和 sysAK 中增加了幾個小功能:如在 sysOM 中,支援對外暴露的 web 服務埠可自定義,sysAK 支援 CentOS 8.0 等等。這裡要特別點贊社群的系統運維 SIG 社群維護同學和 T-One 測試平臺,以及 Gitee PR 與 T-One 平臺的聯動整合,讓我可以方便地觀察測試進展、測試結果等等,同時也極大地提高了效率。

龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期

這一些小小的 PR,對社群專案而言或許微不足道,但對於我而言,卻是在社群的勳章,它們包含了我在社群付出的努力,也包含了社群所有夥伴的認可與鼓勵。同時,也激勵我在龍蜥社群持續的貢獻以及在開源的道路上不斷的探索和前進,也希望透過自身不斷的積累可以繼續深度參與社群的工作,為開源事業貢獻自己的一份力量。

相關連結地址可移步龍蜥公眾號(OpenAnolis龍蜥)2023年1月31日相同推送檢視。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2933635/,如需轉載,請註明出處,否則將追究法律責任。

相關文章