ClickCease TuxCare如何以及為何為開源軟體做出貢獻

加入我們的熱門時事通訊

加入 4,500+ Linux 和開源專業人士!

每月2次。沒有垃圾郵件。

TuxCare團隊成員如何(以及為什麼)為開源軟體做出貢獻

實施期間: 2021 年 12 月 13 日 - TuxCare公關團隊

在我們之前的一些文章中,我們已經介紹了開源軟體(本質上是免費的)與依賴開源軟體的商業組織之間的緊密集成關係。

我們提到的一點是,商業組織支付的員工為開源專案做出貢獻是很常見的,而他們的僱主沒有從這項工作中獲得直接的經濟利益。

這種慷慨背後有一系列的動機。有時,一個面向商業的組織只是出於自身利益而需要向開源專案添加功能。然而,它通常歸結為開源軟體使用者和開源社區之間的共生關係。

在本文中,我們與TuxCare團隊的開發人員之一Dmitry Antipov進行了交談,以瞭解TuxCare團隊如何為開源做出貢獻。繼續閱讀以瞭解Dmitry如何在TuxCare的日常工作中與開源軟體合作,以及TuxCare和Dmitri對開源軟體的貢獻背後的動機。

標記 RPM 中的關鍵問題

Dmitry 於 1998 年開始擔任軟體工程師,主要從事一系列 Linux 專案,包括 Linux 內核和一系列其他一般系統開發任務。其中大部分經驗是在企業環境中獲得的。目前,Dmitry 與 TuxCare 的擴展生命週期支援 (ELS) 團隊合作,但他在 TuxCare 的日常工作中也為一系列開源專案做出了貢獻。

有時,這項工作是出於觀察到的需要。以 RPM 包為例。一位社區成員注意到,對於 RPM 包,當檢查包的有效簽名時,實際上不會驗證已吊銷的子項。因此,即使子項被撤銷,它仍然會被接受。

它促使 Dmitry 調查這個問題——這是一個相當嚴重的問題,因為多年來,基於 RPM 的 Linux 發行版的使用者可能一直在安裝簽名未正確驗證的軟體包。

運氣 – 現在

雖然 RPM 和 libdnf 都會檢查密鑰是否有效且未過期,但兩者都不檢查吊銷。值得慶幸的是,沒有一個RPM發行版受到基於此缺陷的攻擊。

根據Dmitri的說法,本質上是幸運的,密鑰不需要像諾頓證書頒發機構的駭客那樣被撤銷。因此,用於對 RPM 包進行簽名的金鑰已正確存儲,並且從未被撤銷。

Dmitri說,部分問題在於包管理項目側重於打包管理而不是密碼學。這是意料之中的,RPM 幾乎不需要設置自己的加密庫。儘管如此,Dmitri還是指出了這個問題,在適當的時候,RPM包管理背後的團隊將解決這個問題,儘管這是一個懸而未決的問題。

為GlusterFS做出貢獻

開源社區的一個強大方面是社區如何通過尖端的、社區驅動的專案繼續滿足最現代的技術需求。

GlusterFS就是這些專案之一。為了滿足不斷擴展的分散式伺服器環境的需求,一組用戶開始構建一個可以任意方式擴展的分散式文件系統。

文件系統可以處理數百個筆記中的數 PB 存儲,是分散式虛擬環境中後端存儲的常用解決方案。然而,與所有其他開源項目一樣,GlusterFS 需要持續的社區投入。畢竟,它已經有十多年的歷史了。

在與Dmitri的交談中,人們很快發現他正在以重要的方式為GlusterFS做出貢獻。一段時間以來,Dmitri一直在GlusterFS系統的較低層工作,其中高級系統邏輯與操作系統相遇。它包括處理檔、套接字、線程、同步等。最近,他解決了一些與仍在使用的未初始化互斥體相關的問題,儘管像valgrind這樣的工具可以輕鬆拾取,但仍然找到了代碼庫的途徑。他還修復了一些與線程終結相關的代碼,其中一些退出線程沒有正確釋放堆棧空間 - 這導致了記憶體洩漏。

解決日益嚴重的互斥鎖問題

我們的普通讀者會注意到,我們最近涵蓋了一系列漏洞的安全漏洞,並且出現了對互斥體和 futex 使用的擔憂,一些 CVE 指出了它們的使用缺陷。

事實上,Dmitry對GlusterFS的一些貢獻是關於互斥體的——試圖解決資源洩漏的問題。根據 Dmitry 的說法,當不再需要互斥鎖時,應該釋放它們——否則,會發生小而可見的資源洩漏。雖然它不像記憶體洩漏那麼嚴重,但仍然需要經過凈化的程式設計實踐 - 並且資源應在使用后始終清理。

在TuxCare中致力於開源工作

RPM和GlusterFS只是Dmitri在開源社區中貢獻的兩個例子。我們開發人員工作的有趣之處在於,它幾乎消耗了他在TuxCare的所有時間。

換句話說,Dmitri 主要致力於為開源專案做出貢獻,儘管他在擴展生命週期支援 (ELS) 團隊中工作。我們問德米特裡,這如何符合商業組織的特權。

根據Dmitri的說法,TuxCare打算被視為開源運動的重要成員,並且為開源專案做出貢獻的動力來自管理層。通過與上游專案共用為修復 ELS 涵蓋的 Linux 發行版中發現的問題而創建的代碼,這些修復程式將可供所有人使用,從而有助於整體更安全的 IT 環境。

Dmitri 表示,他可能會繼續為開源專案做出貢獻,添加到一長串現有貢獻中,除了我們已經提到的之外,還包括基於 POSIX AIO 的文件系統後端同步和改進對運行不同 Valgrind 檢查器的支援。

Dmitri a TuxCare的故事突出了商業供應商如何與開源社區成員密切合作,為開源專案做出貢獻。我們共同推動開源專案向前發展,並確保所有組織,無論是政府、非政府還是出於盈利動機的組織,都可以繼續依賴功能強大、安全的開原始程式碼庫。

希望在不重新啟動內核、系統停機或計劃維護窗口的情況下自動修補漏洞?

瞭解TuxCare的即時修補

成為TuxCare客座作家

開始使用

郵件

加入

4,500

Linux和開源
專業人士!

訂閱
我們的時事通訊