- 휴대전화, 브라우저, 서버가 의존하는 오픈소스 프로젝트 23개를 분석한 결과,
11개는 정기 기여자가 1~2명에 불과함. 조사 대상 1년 동안 병합과 봇을 제외하고 변경을 10회 이상 작성한 사람을 집계함
xz, sudo, bash, 시간대 데이터베이스처럼 널리 쓰이는 기반 소프트웨어의 유지보수가 극소수에게 집중돼 있음. xz는 2024년 백도어 사건 이후에도 정기 기여자가 1명이며, 분석에서는 새로운 자금 지원을 찾지 못함
- 조사한 네 가지 공개 지원 경로에서
8개 프로젝트의 보조금이나 후원을 확인하지 못함. 다만 유료 지원 계약, 고용주가 제공하는 업무 시간, 비공개 지원까지 없다는 뜻은 아님
OpenSSL과 curl은 자금이 유지보수 여건을 바꾼 사례임. OpenSSL은 Heartbleed 이후 유급 개발자와 감사를 확보했고, 정기 기여자가 2013년 6명에서 2026년 32명으로 늘어남
커밋 수만으로 유지보수 부담이나 안전성을 판단할 수는 없음. 검토, 버그 분류, 보안 대응, 릴리스 작업은 집계에서 빠지지만, 핵심 지식과 책임이 한 사람에게 집중된 운영 구조는 보안과 지속성의 문제로 남음
조사 범위와 집계 방식
- Reddit 이용자 u/Mastbubbles는 소수 개인에게 의존하는 현대 인프라를 그린
xkcd 2347: Dependency가 현실과 얼마나 가까운지 확인하기 위해 23개 프로젝트의 전체 공개 이력을 분석함
2025년 10월 7일~2026년 10월 7일에 작성한 변경에서 병합과 봇을 제외하고, 10회 이상 변경을 작성한 사람을 정기 기여자로 셈
- 공개 자금은
Sovereign Tech Agency, Alpha-Omega, Open Collective, GitHub Sponsors를 확인함
- 이 네 경로에서 자금이 발견되지 않았다는 결과는 해당 유지보수자가 한 번도 보수를 받은 적 없다는 뜻이 아님
xz: 백도어 이후에도 한 사람에게 집중된 유지보수
- 거의 모든 Linux 서버에 들어가는 압축 도구
xz는 핀란드의 Lasse Collin이 관리함
- 2022년 6월 메일링 리스트에서 무급 취미 프로젝트이며, 주로 장기간의 정신 건강 문제 때문에 작업 여력이 제한돼 있다고 밝힘
- Jigar Kumar와 Dennis Ens라는 이름의 계정들이 수개월간 느린 진행을 공개적으로 비판하는 동안, Jia Tan은 유용한 패치를 보내며 더 많은 권한을 얻음
Jia Tan의 변경 수는 2023년 304건으로 Collin의 172건을 넘어섰고, 2024년 2월 배포한 버전에 Linux 서버로 침입할 수 있는 백도어가 들어감
-
Microsoft 엔지니어 Andres Freund가 SSH 로그인 시 비정상적으로 많은 CPU를 사용하는 현상을 추적해 3월 29일 발견했으며, 대부분의 Linux 시스템이 해당 버전을 배포하기 전이었음
-
침입 경로는 배포판 패치에 의존함. 일부 배포판은 OpenSSH를 libsystemd에 연결하고, libsystemd는 xz의 일부인 liblzma를 불러옴
-
Jia Tan의 신원은 아직 밝혀지지 않음
-
Collin은 2025년 변경의
97% 를 작성했고, 2026년에도 정기 기여자는 1명임
-
분석에서는 백도어 사건 이후 새로운 자금 지원을 찾지 못함
시간대 데이터베이스: 수십억 기기의 시계를 관리하는 두 사람
-
UCLA에서 컴퓨터과학을 가르치는
Paul Eggert는 2012년부터 IANA Time Zone Database의 공식 조정자를 맡고 있음
-
Android, iOS와 대부분의 서버가 현지 시각 계산에 사용하며, 최소 40억 대의 Android 휴대전화와 iPhone이 이 데이터에 의존함
-
2026년 9월 29일 공개한 2026e에는 Manitoba가 10월 31일부터 UTC-05를 영구 적용하는 변경이 담겨, Winnipeg의 휴대전화가 11월 1일 시계를 되돌리지 않도록 함
-
최근 1년의 변경
251건 중 Eggert가 218건, Tim Parenti가 28건을 작성함
-
Eggert는 은퇴 등으로 자리를 비울 때를 대비해 2020년 Parenti를 대체 담당자로 지정해 달라고 요청함
-
유지보수에는
법적 위험도 따랐음
-
2011년 점성술 소프트웨어 회사가 자사 소유 지도책의 과거 자료를 사용했다며 Eggert와 데이터베이스 창시자 Arthur David Olson을 고소함
-
Olson은 1986년 미국 국립보건원에서 데이터베이스를 시작했음
-
메일링 리스트와 다운로드 사이트는 중단됐다가 같은 달 IANA가 인수했고, Electronic Frontier Foundation이 두 사람을 무료로 변호함
-
회사는 2012년 2월 소송을 취하함
-
Eggert에게는
후원 페이지가 없으며, 분석에서도 프로젝트의 공개 보조금을 찾지 못함
sudo와 bash: 수십 년 동안 이어진 개인 중심 개발
Todd C. Miller는 1990년대 초부터 Mac과 Linux 서버에서 관리자 권한을 부여하는 sudo를 유지보수함
- sudo 자체는 1980년 무렵 SUNY Buffalo에서 시작됐으며, 2008~2018년 변경 5,409건 중 5,408건을 Miller가 작성함
- 2026년 2월 유지보수와 개발을 이어갈 후원자를 찾는다고 공지한 뒤 The Register가 이를 다루자, Open Collective 예산은 연간 약
6만 1,700달러, GitHub 후원자는 30명에 도달함
- 이번 집계의 1인 프로젝트 가운데 가장 많은 자금을 확보함
Chet Ramey는 약 1990년부터 bash를 관리하면서 Ohio의 Case Western Reserve University 네트워크 부서에서 일하고 있음
- bash는 Linux의 셸이며, Mac에서도 2003~2019년 사용됨
- 분석에서는 공식 수정 사항을 포함한 공개 이력의 모든 변경에 Ramey의 이름이 나타남
Shellshock은 1989년 8월 5일 들어간 코드가 약 25년 뒤 보안 문제로 드러난 사례임
- Stéphane Chazelas가 2014년 9월 발견했고, 9월 24일 공개됨
- 특수하게 구성한 텍스트를 보내 서버에서 명령을 실행할 수 있었으며, 해당 취약점은 수억 대의 기기에 존재했음
작은 라이브러리의 거대한 사용 범위
libjpeg-turbo는 Android 휴대전화와 Chrome, Edge에서 JPEG 이미지를 디코딩함
- 이메일에 이니셜을 쓰는 DRC가 1인 사업으로 운영하며, 올해 변경의
98% 를 작성함
- 한때 일반 후원금으로 충당할 수 있는 작업량이 월 8~10시간이라고 밝힘
zlib은 PNG 이미지, Git, Android, iPhone, Chrome의 데이터 압축에 쓰임
- 1995년 공동 개발자 Mark Adler는 NASA의 Spirit 탐사선이 화성으로 향할 때 관리 업무도 맡았음
- 지난해 작업 대부분은 Adler와 Vollstrecker가 수행했으며, Adler에게는 후원 페이지가 없음
HarfBuzz는 Android, Chrome, Firefox, Edge, Kindle에서 힌디어, 아랍어, 타밀어 등 세계 대부분 문자 체계의 글자 연결과 배치를 처리함
- Behdad Esfahbod가 올해 변경의
85% 를 작성했고, 다른 정기 기여자는 5명임
SQLite는 모든 Android 휴대전화, iPhone, Mac과 Windows 10/11, 주요 브라우저에 들어감
- 지난해 변경에 참여한 사람은 4명이며, 프로젝트는 사용 중인 데이터베이스가
1조 개 이상이라고 추산함
- 팀은 Hipp의 회사를 통해 유료 지원을 판매해 작업 비용을 충당함
core-js는 새 JavaScript 기능을 구형 브라우저에서 실행할 수 있게 하며, 개발자의 집계로 상위 1,000개 웹사이트의 약 절반에서 사용됨
- Denis Pushkarev가 기부를 요청했을 때 모인 금액은 월 약
57달러였음
- 2019년 무급 전업으로 개발하던 중, 본인이 공개한 사망 교통사고와 관련해 실형을 받았고 2020년 1월부터 약 10개월 동안 복역함
- 부재 기간에는 커밋이 거의 멈췄으며, 올해에도 변경의 95%를 직접 작성함
자금이 들어온 curl과 OpenSSL
- Daniel Stenberg가 1996년 스웨덴에서 시작한
curl은 휴대전화, 자동차, TV와 Windows의 데이터 전송에 쓰이며, Windows에는 2018년부터 포함됨
- 올해 정기 기여자는 11명이며, Stenberg의 2025년 회고에 따르면 다른 기여자들이 추가한 코드 줄 수의 합계가 이제 자신의 기여분을 넘어섬
- 기업이 지원 서비스 비용을 지불하기 때문에 전업으로 개발할 수 있음
- Open Collective로 연간 약
8만 9,700달러를 받고, GitHub 후원자는 64명이며, 독일 Sovereign Tech Agency가 19만 5,000유로를 지원함
OpenSSL은 재난 이후 지원이 늘어난 사례임
-
2014년 4월 Heartbleed로 인해 Netcraft 집계상 신뢰할 수 있는 보안 서버 약
17% 에서 메모리의 비밀번호와 개인 키를 읽을 수 있었음
-
당시 재단 회장 Steve Marquess에 따르면 연간 기부금은 약 2,000달러였고, 전업 개발자는 1명이었음
-
두 달 안에 Linux Foundation이 기술 기업들로부터 540만 달러를 모았고, OpenSSL은 유급 개발자 2명과 감사를 확보함
-
정기 기여자는 2013년 6명에서 2014년 14명, 2026년 32명으로 늘어남
OpenSSL과 xz의 사건 이후 경로
- OpenSSL의 정기 기여자는 Heartbleed 이후 1년 안에 두 배 이상으로 늘어남
- xz에서는 그에 상응하는 자금 유입을 확인하지 못했으며, 정기 기여자는 여전히 1명임
공개 지원의 편중과 다른 자금 경로
-
분석에서 가장 큰 공개 지원 주체는 독일의
Sovereign Tech Agency와 Alpha-Omega임
-
Sovereign Tech Agency는 2022년 이후 약 90개 오픈소스 프로젝트를 지원함
-
Alpha-Omega는 지난해 약 600만 달러를 지원했으며, 상당 부분이 Python과 Ruby 등의 재단 소속 보안 엔지니어에게 돌아감
-
두 기관 모두 신청과 보고가 가능한 조직에 자금을 제공하므로, 메일링 리스트를 운영하는 개인보다 조직이 뒷받침하는 프로젝트에 유리함
-
조사 대상 프로젝트에 대한
Sovereign Tech Agency 지원액은 다음과 같음
-
log4j: 59만 6,160유로
-
FFmpeg: 43만 7,930유로
-
OpenSSL: 40만 5,888유로
-
OpenSSH: 20만 유로
-
curl: 19만 5,000유로
-
네 가지 공개 지원 경로에서
시간대 데이터베이스, SQLite, zlib, libjpeg-turbo, HarfBuzz, xz, bash, nghttp2의 자금을 찾지 못함
-
Eggert, Collin, DRC, Adler에게는 후원 페이지도 없음
-
다만 Eggert의 강의나 Ramey의 대학 네트워크 업무처럼 별도 직업이 있는 경우도 있어, 공개 지원만으로 개인의 전체 수입을 판단할 수는 없음
다른 경로로 지급되는 돈도 있음
- Nick Wellnhofer는 libxml2를 유지보수한 10년 동안 십수만 달러 수준을 모음
- Munich시는 2026년 8월부터 Sebastian Pipping에게 최대 6개월 동안 expat 작업 대가를 지급함
libxml2의 인계와 유지보수자의 가시성
libxml2는 Android 휴대전화, iPhone, Chrome에서 XML을 읽으며, 분석상 56억 대의 휴대전화와 컴퓨터에서 사용됨
-
2025년 12월까지 README에는 보안 허점이 많고 자원봉사자 한 명이 관리하는 취미 소프트웨어라는 문구가 있었음
-
약 10년간 관리한 Nick Wellnhofer는 2025년 9월 사임을 알린 뒤에도 회귀 버그를 고쳤고, 12월 유지보수자 명단에서 자신을 제외함
-
약
12시간 뒤 새 유지보수자들이 등록됐으며, 이후 작업 대부분은 Daniel Garcia Moreno가 수행함
-
대중에게 알려지는 이름은 주로
Heartbleed, Shellshock, Jia Tan 같은 사고와 관련돼 있음
-
취약점 발견자인 Stéphane Chazelas와 Andres Freund는 주목받지만, 수년간 코드를 유지한 사람들은 좀처럼 알려지지 않음
-
일부는 의도적으로 노출을 피함. DRC는 이니셜을 사용하고, SQLite 사이트는 정보 악용 가능성을 이유로 개발자 이름과 사진 페이지를 내린 적이 있음
-
Eggert와 Olson의 소송은 무료 배포 파일을 관리하는 사람도 법적 표적이 될 수 있음을 보여줌
-
r/linux에서는 Eggert를 단순히 강사라고 부르는 것은 그의 기여를 충분히 담지 못한다는 반응도 나옴
-
운영체제 수업을 들은 한 이용자는
그의 가르침이 자신의 경력을 형성했다고 밝힘
r/linux의 논쟁과 수치 해석의 한계
기업의 책임을 놓고 의견이 갈림
- 수십억 기기에 라이브러리를 탑재하면서 눈에 띄거나 자사 운영에 직접 중요한 부분에만 돈을 쓴다는 비판이 많았음
- Linux를 판매하는 기업은 의존 소프트웨어에 적극 기여한다는 반론과, 이 목록의 눈에 띄지 않는 프로젝트들이 바로 지원에서 빠진다는 재반론이 이어짐
- 한 장기 이용자는 사람, 권리, 책임을 강조하던 자유 소프트웨어에서 절차를 강조하는 오픈소스로 언어가 바뀌며 책임이 빠졌다고 봄
배포판의 기여가 단독 업스트림 유지보수를 얼마나 보완하는지도 쟁점이었음
- 주요 배포판이 패키지를 포크하고 패치하므로 업스트림 인원만으로 전체 상황을 볼 수 없다는 의견이 나옴
- 반대편에서는 백포트와 업스트림의 지속성은 다르며, 릴리스, 설계, 깊은 코드 지식은 여전히 원 개발자에게 의존한다고 지적함
xz 백도어 발견의 의미에도 합의가 없었음
-
출시 몇 주 만에 발견됐다는 점에서 공개 검토가 작동했다고 보는 이용자들이 있었음
-
반면 한 엔지니어가 SSH 로그인 지연 수백 밀리초를 추적한 우연에 가까우며, 비슷한 공격이 발견되지 않았을 가능성도 있다는 우려가 나옴
-
공격자가 유지보수자 한 명을 지치게 하는 데 성공했다는 점에서, 기여자 수만으로 안전성을 측정하기는 어려움
-
일부 이용자는 유지보수자들이 과부하 상태가 아니며 팀을 둘 만큼 일이 많지 않다고 반박함
-
이 반론은
성숙하고 안정적인 도구에는 잘 맞지만, 유일한 유지보수자가 떠나는 상황에는 한계가 있음
-
GnuPG가 목록에서 빠졌다는 지적과 원본 페이지의 스크롤 애니메이션에 대한 불만도 있었음
커밋 집계에는 구조적 한계가 있음
- 커밋 작성자와 유지보수자는 같지 않을 수 있고, 다른 시스템의 이력을 복제해 공개하는 프로젝트는 기여 표시가 왜곡될 수 있음
- 코드 검토, 버그 분류, 보안 신고 처리, 릴리스 작업은 커밋 수에 잡히지 않음
- 성숙한 소프트웨어의 낮은 변경 빈도는 방치가 아니라 완성도를 나타낼 수도 있음
- 공개 지원 네 경로만 조사했으므로 비공개 지원과 고용주가 제공하는 업무 시간은 드러나지 않음
기기 수는 확인 가능한 범위의 하한값으로 산정함
- 플랫폼에 해당 프로젝트가 존재하는지 확인된 경우만 세며, Mac, iPad, 서버, 자동차, TV는 기기 수 집계에서 제외함
- 활성 Android 기기 30억 대 이상, iPhone 10억 대 이상, 월간 Windows 기기 16억 대라는 공개 수치를 바탕으로 함
- 분석 공개자는 본문과 Reddit에서 정정을 요청했고, libxml2 부분은 2026년 10월 Nick Wellnhofer의 도움으로 수정함
내 시스템의 의존성과 지원 방법
- 다음 명령으로
curl이 불러오는 일부 라이브러리를 확인할 수 있음
ldd "$(command -v curl)" | grep -E 'libz\.so|libssl|libnghttp2'
Ubuntu 24.04에서는 zlib의 libz.so.1
, nghttp2, OpenSSL의 libssl.so.3
가 표시됨
- 명령줄 도구 하나가 조사 대상 23개 중 3개에 의존하는 사례임
- 다른 일상적 프로그램에도 같은 방법을 적용할 수 있으며, 원본 분석에는 Android, iPhone, Mac, Windows, Linux별 포함 프로젝트를 확인하는 선택 도구가 있음
정기적인 자금 지원을 일상적인 운영 비용에 포함할 수 있음
- 매일 쓰는 도구를 후원할 수 있음. sudo와 curl은 GitHub와 Open Collective 후원을 받으며, sudo는 뉴스 한 건 이후 지원이 늘었음
- 회사가 Linux를 배포하거나 운영한다면 의존 프로젝트에 정기적으로 지불할 예산을 요청할 수 있음. 사고 비용과 비교하면 작은 금액임
- 배포판이 업스트림에 무엇을 돌려주는지도 확인할 필요가 있음. r/linux에서는 의존성을 잘 아는 배포판이 지원 주체로 적합하다는 의견이 나옴
재현 가능한 버그 보고, 패치, 검토, 분류 작업도 도움이 됨
-
지친 유지보수자에게 요구만 쏟아붓는 공개 압박은 피해야 하며, xz에서 이런 압박이 공격 과정의 일부였음
-
유지보수자는 도움을 필요로 하지만 같은 이유로 누구를 신뢰할지 신중할 수밖에 없음
-
핵심 프로젝트에는
인계 계획이 필요함
-
Eggert는 2020년 대체 담당자를 지정했고, libxml2는 Wellnhofer가 물러난 약 12시간 뒤 새 유지보수자를 확보함
-
취약한 지점은 오래 연구되고 안정된 코드 자체보다
한 사람, 본업, 메일링 리스트에 의존하는 운영 구조에 있음
-
xz는 이 구조가 공정성뿐 아니라 보안의 문제임을 보여줬고, OpenSSL은 자금 지원이 여건을 빠르게 바꿀 수 있음을 보여줌
-
유지보수자의 이름을 CVE를 통해 알게 되기 전에, 산업이 의존하는 이들의 작업을 알아보고 지원할 필요가 있음