소셜 미디어에서 논쟁을 벌이는 것은 해결책이 아니다
리눅스 커널의 창시자 리누스 토발즈(Linus Torvalds)가 이번에는 Rust 기반 장치 드라이버를 둘러싼 논란에 대해 강경한 입장을 보였어요. 토발즈는 Asahi 리눅스의 개발자인 헥터 마틴(Hector Martin)이 리눅스 커널 내 Rust 코드 도입을 두고 소셜 미디어에서 목소리를 높인 데 대해 “문제는 당신일 수도 있다”라며 직설적인 반응을 보였어요.
마틴은 리눅스 커널 유지보수자들이 Rust 코드를 받아들이지 않는 것에 대해 불만을 표하며, 토발즈가 이에 대해 명확한 입장을 밝혀야 한다고 요구했어요. 또한, 소셜 미디어에서의 ‘공개적 망신 주기(shaming)’가 이러한 저항을 극복하는 방법이라고 주장했죠. 하지만 토발즈는 이에 대해 단호하게 선을 그으며, “기술적인 패치와 논의가 중요하다. 소셜 미디어에서의 집단 행동(브리게이딩, brigading)은 전혀 원하지 않는다”고 말했어요.
Rust와 C, 리눅스 커널 내 갈등
이번 논란은 리눅스 커널 내에서 Rust 코드와 C 코드가 혼합되는 문제에서 비롯되었어요. 마틴과 리눅스 커널 유지보수자인 크리스토프 헬비히(Christoph Hellwig) 간의 충돌이 특히 주목받았죠. 헬비히는 지난 1월, Rust 기반 드라이버가 C 기반 커널의 DMA API를 호출할 수 있도록 하는 패치를 강하게 반대했어요.
리눅스 커널은 전통적으로 C 언어로 작성되어 왔어요. 하지만 C와 C++은 메모리 관리가 수동적이기 때문에 보안 취약점이 발생할 가능성이 높아요. 반면, Rust는 소유권 모델(ownership model)을 통해 메모리 안전성을 보장하는 언어로, C와 C++에서 흔히 발생하는 보안 문제를 방지할 수 있어요. 이러한 이유로 Rust는 소프트웨어 개발에서 점점 더 주목받고 있으며, 2022년부터 리눅스 커널에서도 도입이 시작되었어요.
하지만 Rust의 도입이 모든 개발자들에게 환영받는 것은 아니에요. 오랫동안 C 기반으로 유지되어 온 리눅스 커널의 개발자들 중 상당수는 Rust 도입이 불필요한 복잡성을 초래할 것이라며 반대하고 있어요. 이러한 배경 속에서 Rust 지지자들과 기존 C 개발자들 간의 갈등이 지속되고 있는 것이죠.
헥터 마틴의 반발과 유지보수자 사임
헬비히의 반대에 대해 마틴은 Rust for Linux 프로젝트가 “이 패치를 리뷰하고 준비가 되면 그냥 병합해야 한다”며, 헬비히가 “고의적으로 프로젝트를 방해하고 있다”고 강하게 비판했어요.
그는 또한 일부 기존 유지보수자들을 “방해하는 자들(saboteur maintainers)”이라 부르며, 이들이 결국 역사의 흐름 속에서 패배할 것이라고 주장했어요. 하지만 토발즈는 이러한 소셜 미디어를 통한 압박이 문제 해결에 도움이 되지 않는다고 지적했어요.
결국 마틴은 자신의 역할에서 물러나겠다고 밝혔어요. 그는 upstream 리눅스 코드에서 애플의 Arm 기반 하드웨어를 지원하는 부분의 유지보수자에서 스스로 물러나겠다고 선언했어요. 하지만 Rust 기반 패치의 운명은 아직 불확실한 상태예요.
리눅스 커널 내 Rust의 미래는?
Rust는 메모리 안전성을 보장하는 강력한 언어이지만, 리눅스 커널처럼 오랜 역사를 가진 프로젝트에서 기존 언어(C)와의 충돌 없이 자리 잡기는 쉽지 않은 일이에요. 현재 리눅스 커널 내 Rust 코드 도입은 진행 중이지만, 많은 C 개발자들이 이에 반대하는 상황이죠.
이번 사건은 단순한 기술적 논쟁을 넘어, 오픈 소스 프로젝트에서 소셜 미디어를 활용하는 방식에 대한 논의로도 이어지고 있어요. 토발즈는 소셜 미디어에서의 공개적 압박이 아닌, 기술적 논의를 통한 해결을 강조했어요. 앞으로 Rust가 리눅스 커널 내에서 얼마나 더 확장될 수 있을지, 그리고 기존 C 개발자들과의 갈등이 어떻게 조정될지 주목해 볼 필요가 있어요.