현대의 컴퓨팅 시스템과 장치들은 일반적으로 필수적인 오픈소스 소프트웨어 조각들을 필요로 하며, 이는 주로 무급 또는 저임금의 자원봉사자들에 의해 유지보수됩니다. 최근 한 보고서가 중요한 오픈소스 프로젝트 목록을 취합하여, 이들 중 어떤 프로젝트들이 만성적으로 자금 부족이거나/또는 인력이 부족한지 지적했습니다. 그 정보는 심각합니다: 나열된 23개 프로젝트 중 11개만이 현재 단 한 명 또는 두 명의 유지보수자만을 보유하고 있으며, 자금 지원은 일반적으로 부족하거나 때로는 존재하지 않습니다.
The Data Drop의 오픈소스 유지보수자에 대한 보고서는 중요한 소프트웨어 조각들에 오직 한두 쌍의 눈만 있다는 것은 언젠가 무언가가 고장 난다는 것을 의미하며—그것은 그 보편성 때문에 장관을 이루는 방식으로 발생하는 경향이 있습니다. 그렇다면, 이 프로젝트들이 소프트웨어 전반에 걸쳐 널리 사용되는데 자금 부족이나 인력 부족 상태에 놓인다면 어떻게 될까요?
과거의 교훈
2014년, Heartbleed와 같은 해에 Shellshock가 큰 파장을 일으켰습니다. 이는 Linux, macOS 및 Unix 유형 시스템에 존재하는 Bash 셸의 취약점이었습니다. 이 문제는 1989년부터 존재했던 코드 한 줄로 거슬러 올라갔으며, 심지어 모든 버그가 해결되었다고 생각되는 소프트웨어조차도 공격의 표적이 될 수 있음을 보여주었습니다. Bash의 커밋 기록을 빠르게 살펴보면 거의 전적으로 Chet Ramey라는 사람이 유지보수하고 있다는 것을 알 수 있습니다.
2016년에는 ImageMagick이 악용되어 공격자들에게 원격 코드 실행(remote code execution) 기능을 제공했습니다. 이 라이브러리는 웹페이지, 모바일 앱 등 광범위한 소프트웨어에서 이미지 조작에 사용됩니다. 2020년 분석은 수년에 걸쳐 그 방대한 코드베이스에서 수백 가지의 보안 문제가 발견되었음을 밝혔습니다. 지난 몇 년 동안 거의 모든 코드 기여는 Dirk Lemstra라는 개인이 수행했습니다.
현대의 사례로는 수백만 대의 서버에서 사용되는 Apache Log4j 로깅 라이브러리의 심각한 취약점이었던 2021년 Log4Shell 익스플로잇이 있습니다. libwebp 이미지 처리 라이브러리는 2023년에 제로데이(zero-day) 취약점을 보였으며, Linux와 iOS 전반에 걸쳐 사용되는 xz 압축 라이브러리도 2024년에 손상되었습니다.
감사받지 못하는 작업 (Thankless work)
보고서의 주요 내용은 위협을 받을 수 있는 특정 저장소(repo)를 언급합니다. 놀랍지도 않게, 전반적인 유지 관리자 수가 적고 업무가 무급이라는 특성 때문에 매력적이지 않습니다.
Linux 기반 운영 체제에서 사용되는 주요 시간대 파일은 UCLA 교사인 Paul Eggert가 프로 보노(pro bono)로 유지 관리하고 있습니다. 구형 브라우저에서도 새로운 JavaScript 기능을 사용할 수 있게 해주는 지원 소프트웨어인 Core-js는 저자가 전 세계 가장 바쁜 웹사이트의 절반에서 사용된다고 추정하는 라이브러리이며, Denis Pushkarev가 담당하고 있습니다. 그는 한때 라이브러리 설치 프로그램에 도움이나 일자리를 요청하는 명령줄 메시지를 추가했다는 이유로 커뮤니티로부터 비판을 받아야 했습니다.
Behdad Esfahbod가 개발한 HarfBuzz 라이브러리는 중동 언어의 리가처(ligatures) 및 텍스트 모양 지정(text shaping)의 초석입니다. 해당 문자 체계에서는 글자가 주변 환경에 따라 모양과/또는 방향이 바뀝니다. Esfahbod는 이 프로젝트 코드의 대부분을 담당하며, 공적 또는 기업 후원에 대한 언급은 하지 않았습니다.
Libjpeg-turbo는 Android, Firefox, LibreOffice 및 모든 Chromium 기반 브라우저에서 JPEG 이미지를 처리합니다. 이는 D.R. Commander(별칭 DRC)가 관리하고 있으며, 그는 때때로 라이브러리 특정 작업에 대해 계약하지만, 그 가치는 '67자리'보다는 '34자리'라는 다소 적은 수준입니다. Libxml2는 이름에서 알 수 있듯이 수많은 애플리케이션과 운영 체제 전반에 걸쳐 XML 읽기 및 쓰기를 처리합니다. 원래 유지 관리자였던 Nick Wellnhofer는 몇 년간의 노력에도 불구하고 소득이 거의 없었던 후 2025년 9월에 자리를 비웠습니다.
SQLite 프로젝트는 복잡하고 리소스가 많이 필요한 데이터베이스 대신, 표준 SQL 언어와 모든 기능을 유지하면서도 대부분의 소프트웨어에 통합하기 매우 쉬운 단일 파일(one-file) 데이터베이스를 제공합니다. 사용 편의성 덕분에 WhatsApp, Dropbox, Android, Windows 및 모든 주요 브라우저 등 놀라울 정도로 많은 애플리케이션에서 활용되고 있습니다.
이 프로젝트는 SQLite가 약 1조 개의 인스턴스로 사용되고 있다고 추정합니다. 이 중요한 프로젝트를 유지하는 사람은 단 네 명이며, 그들은 "세상에는 이 정보를 오용할 수 있는 미친 사람들이 많기 때문에"라는 이유로 프로젝트 페이지에서 자신의 이름과 사진을 제거할 정도입니다. 이 프로젝트는 설립자의 회사를 통해 유료 지원(paid support)으로 자금을 조달하고 있지만, 특히 네 명의 생계를 유지하는 데 필요한 효과적인 수입에 대해서는 알려진 바가 없습니다.
자금은 있으나 부족하다
하지만 모든 것이 암울한 것은 아닙니다. 예를 들어 curl(소프트웨어)을 살펴보겠습니다. 이 프로그램은 URL 가져오기 기능과 광범위한 스크립팅 옵션 덕분에 거의 모든 개발자가 사용해 왔습니다. 이 프로젝트는 Daniel Stenberg가 시작했으며, 현재 그는 전일제 근무를 하며 급여를 받고 있습니다. 팀 규모는 이제 11명으로 커졌으며, Open Collective와 독일의 Sovereign Tech Agency 등을 통해 자금을 지원받고 있습니다.
과거 각자의 실패 경험에서 얻은 교훈 덕분인지, Log4j와 OpenSSL 프로젝트 역시 Sovereign Tech Agency로부터 자금을 지원받고 있으며, FFmpeg 비디오 파일 핸들러 및 리눅스 서버에 보편적으로 사용되는 OpenSSH 보안 셸 소프트웨어 또한 마찬가지입니다.
종합적으로 볼 때, 앞서 언급된 모든 소프트웨어의 중대한 중요성은 업계 플레이어들, 특히 커뮤니티의 노력으로부터 가장 큰 상업적 이익을 얻는 기업들에게 상당한 투자를 할 가치가 있다는 주장을 펼치기 쉽습니다. 게다가, 회사들이 기여할 도덕적 의무를 느끼지 못하더라도, AI 에이전트가 몇 시간 만에 악용 가능한 취약점을 찾아내는 오늘날의 시대에는 이러한 오픈소스 프로젝트에 대한 기부금 역시 투자로 간주될 수 있습니다.