ClickCease TuxCare가 오픈 소스 소프트웨어에 기여하는 방법과 이유

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

TuxCare 팀원이 오픈 소스 소프트웨어에 기여하는 방법(및 이유)

2021년 12월 13일 TuxCare 홍보팀

이전 글에서 기본적으로 무료인 오픈소스 소프트웨어와 오픈소스 소프트웨어에 의존하는 영리 조직 간의 밀접한 관계를 다룬 적이 있습니다.

영리 조직에서 급여를 받는 직원이 오픈소스 프로젝트에 기여하는 경우, 고용주가 이 작업으로 직접적인 금전적 이익을 얻지 못하는 경우가 많다는 점도 언급했습니다.

이러한 관대함 뒤에는 다양한 동기가 있습니다. 때로는 상업적 목적의 조직이 단순히 사리사욕을 채우기 위해 오픈소스 프로젝트에 기능을 추가해야 하는 경우도 있습니다. 하지만 오픈소스 소프트웨어 사용자와 오픈소스 커뮤니티 간의 공생 관계에서 비롯되는 경우도 많습니다.

이 글에서는 TuxCare 팀의 개발자 중 한 명인 드미트리 안티포프와 이야기를 나누며 TuxCare 팀이 오픈소스에 어떻게 기여하고 있는지 알아봤습니다. 계속 읽어보시면 드미트리가 TuxCare에서 일상적으로 오픈 소스 소프트웨어로 작업하는 방식과 TuxCare와 드미트리가 오픈 소스 소프트웨어에 기여하게 된 동기를 확인할 수 있습니다.

RPM의 주요 문제 플래그 지정

1998년부터 소프트웨어 엔지니어로 일하기 시작한 Dmitry는 주로 Linux Kernel 및 기타 다양한 일반 시스템 개발 작업을 포함한 다양한 Linux 프로젝트에 참여했습니다. 이러한 경험의 대부분은 엔터프라이즈 환경에서 쌓은 것입니다. 현재 Dmitry는 TuxCare의 ELS(Lifecycle 연장 지원) 팀에서 일하고 있지만, 일상 업무 중에도 다양한 오픈 소스 프로젝트에 기여하고 있습니다.

때때로 이 작업은 관찰된 필요성에서 비롯되기도 합니다. RPM 패키지의 경우를 예로 들어보겠습니다. 한 커뮤니티 회원은 RPM 패키지의 경우, 패키지의 유효한 서명을 확인할 때 해지된 서브키가 실제로 확인되지 않는다는 사실을 발견했습니다. 따라서 서브키가 해지되었더라도 여전히 승인됩니다.

수년 동안 RPM 기반 Linux 배포판 사용자가 서명이 올바르게 검증되지 않은 패키지를 설치했을 수 있다는 점을 고려할 때 이 문제는 매우 중요한 문제였습니다.

행운 - 현재로서는

RPM과 libdnf 모두 키가 유효하고 만료되지 않았는지 확인하지만, 둘 다 해지 여부는 확인하지 않습니다. 다행히도 이 결함을 기반으로 한 공격으로 RPM 배포판이 피해를 입은 사례는 없습니다.

드미트리에 따르면, Norton 인증 기관 해킹의 경우처럼 키를 해지할 필요가 없었던 것은 기본적으로 운이 좋았다고 합니다. 그 결과 RPM 패키지에 서명하는 데 사용된 키가 제대로 저장되었고 취소되지 않았습니다.

드미트리는 패키지 관리 프로젝트가 암호화보다는 패키징 관리에 초점을 맞추는 것이 문제 중 하나라고 말합니다. 이는 예상할 수 있는 일이며, RPM이 자체 암호화 라이브러리를 설정할 필요는 거의 없습니다. 그럼에도 불구하고 드미트리는 이 문제를 지적했고, 적절한 시기가 되면 RPM 패키지 관리 팀이 이 문제를 해결할 것이지만, 언제가 될지는 아직 미지수입니다.

GlusterFS에 기여하기

오픈소스 커뮤니티의 강력한 측면 중 하나는 커뮤니티가 커뮤니티 주도의 최첨단 프로젝트를 통해 최신 기술 요구 사항을 지속적으로 해결해 나간다는 점입니다.

GlusterFS는 이러한 프로젝트 중 하나입니다. 지속적으로 확장되는 분산 서버 환경의 요구 사항을 충족하기 위해 사용자 팀은 임의의 방식으로 확장할 수 있는 분산 파일 시스템을 구축하기 시작했습니다.

이 파일 시스템은 수백 개의 노트에 걸쳐 수 페타바이트의 스토리지를 처리할 수 있으며 분산된 가상 환경의 백엔드 스토리지로 널리 사용되는 솔루션입니다. 하지만 다른 모든 오픈 소스 프로젝트와 마찬가지로 GlusterFS도 지속적인 커뮤니티의 의견이 필요합니다. 10년이 넘은 오래된 프로젝트이기 때문입니다.

Dmitri와 이야기를 나누면서 그가 GlusterFS에 중요한 방식으로 기여하고 있다는 사실을 금방 알 수 있었습니다. 한동안 Dmitri는 높은 수준의 시스템 로직과 운영 체제가 만나는 GlusterFS 시스템의 하위 계층에서 작업해 왔습니다. 여기에는 파일, 소켓, 스레드, 동기화 등에 대한 작업이 포함됩니다. 최근에는 초기화되지 않은 뮤텍스가 여전히 사용되고 있는 것과 관련된 몇 가지 문제를 해결했는데, 이는 valgrind와 같은 도구로 충분히 쉽게 찾아낼 수 있는 문제임에도 불구하고 여전히 코드베이스에 남아 있었습니다. 또한 스레드 마무리와 관련된 일부 코드를 수정했는데, 일부 종료 스레드가 스택 공간을 제대로 확보하지 않아 메모리 누수로 이어지기도 했습니다.

뮤텍스의 증가하는 문제 해결

트위터의 단골 독자라면 최근 트위터에서 다양한 취약점에 대한 보안 결함을 다루었으며, 뮤텍스와 퓨텍스 사용에 대한 우려와 함께 뮤텍스와 퓨텍스 사용의 결함을 지적하는 여러 CVE가 제기되었다는 사실을 눈치채셨을 것입니다.

실제로 Dmitry가 GlusterFS에 기여한 것 중 일부는 뮤텍스와 관련된 것으로, 리소스 누수 문제를 해결하기 위한 것이었습니다. Dmitry에 따르면 뮤텍스가 더 이상 필요하지 않으면 해제해야 하며, 그렇지 않으면 작지만 눈에 띄는 리소스 누수가 발생한다고 합니다. 메모리 누수만큼 심각하지는 않지만, 여전히 위생적인 프로그래밍 관행이 필요하며, 사용 후에는 항상 리소스를 정리해야 합니다.

TuxCare 내 오픈 소스 작업

RPM과 GlusterFS는 오픈 소스 커뮤니티에서 Dmitri가 기여한 두 가지 예에 불과합니다. 개발자의 작업에서 흥미로운 요소는 그가 TuxCare에서 거의 모든 시간을 할애한다는 사실입니다.

다시 말해, Dmitri는 Lifecycle 연장 지원(ELS) 팀에서 일하지만 주로 오픈 소스 프로젝트에 기여하는 일을 합니다. 저희는 드미트리에게 이것이 영리 조직의 특권에 어떻게 부합하는지 물어보았습니다.

드미트리에 따르면, TuxCare는 오픈소스 운동의 소중한 일원으로 인식되기를 원하며, 오픈소스 프로젝트에 기여하려는 노력은 경영진 차원에서 비롯된다고 합니다. ELS가 적용되는 Linux 배포판에서 확인된 문제를 해결하기 위해 만든 코드를 업스트림 프로젝트와 공유하면 모든 사람이 이러한 수정 사항을 사용할 수 있으므로 전반적으로 더 안전한 IT 환경에 기여할 수 있습니다.

Dmitri는 오픈소스 프로젝트에 계속 기여할 것이며, 이미 언급한 것 외에도 POSIX AIO 기반 파일 시스템 백엔드 동기화, 다양한 Valgrind 검사기 실행에 대한 개선된 지원 등 기존의 많은 기여 목록에 추가할 것이라고 말했습니다.

드미트리의 이야기는 상업적 벤더가 오픈소스 커뮤니티 구성원들과 긴밀히 협력하여 오픈소스 프로젝트에 기여하는 방법을 강조합니다. 우리는 함께 오픈 소스 프로젝트를 발전시키고 정부, 비정부 또는 영리 동기를 가진 모든 조직이 유능하고 안전한 오픈 소스 코드 기반에 계속 의존할 수 있도록 보장합니다.

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기