많은 오픈소스 유지관리자가 열정을 갖고, 대의를 위해 자발적으로 기여하는 것은 사실이지만 혹사 또는 이용당한다고 느끼는 개발자도 있다.
깃허브의 오픈소스 펀딩 책임자인 케빈 크로스비는 “오픈소스에서 유지관리자에 대한 불공정이 계속 발생하고 있다”면서 상황을 개선하려면 기술에 대한 더 폭넓은 접근성, 더 나은 교육, 오픈소스에 기여할 시간을 벌기 위한 기업 펀딩과 지속적인 커뮤니티 투자가 필요하다고 말했다.
오픈소스는 꽤 오래 전부터 기로에 서 있다. 문제는 기업이 패키지를 사용하면서 그 부분에 대한 기여를 돌려주지 않는다는 점이다. 퍼코나(Percona) CEO 앤 슐레머는 “현재 시스템의 지속 불가능성에 대한 관심이 늘고 있다. 당연히 더 관심을 가져야 한다. 기업이 프로젝트에 의존하기만 하고 기여하지 않는다면 인프라를 보호하기 위한 노력이 충분히 이뤄지지 않게 된다”라고 지적했다.
연구에 따르면 기업의 90%는 오픈소스를 이용하며, 대기업의 절반은 오픈소스 전략, 즉 오픈소스 소프트웨어 사용을 관리하기 위한 공식적인 접근 방법을 두고 있다. 변호하자면 많은 기업이 오픈소스 유지관리자를 채용하거나 후원하고 있다. 클라우드 네이티브 컴퓨팅 파운데이션(CNCF)의 이사 프리얀카 샤르마는 “리눅스 파운데이션의 대규모 프로젝트 주요 유지관리자는 대부분 주요 기업의 정규직 직원”이라고 말했다. CNCF는 리눅스 파운데이션 소속 기구로, 약 200개의 오픈소스 프로젝트를 호스팅한다.
오픈소스가 이처럼 널리 사용되는 것처럼 보이지만 많은 개인 유지관리자는 지속적인 노력에 필요한 자금을 조달하는 데 어려움을 겪고 있다. 기대치는 높고, 기업은 자원봉사자에게 무료로 버그를 수정하거나 기능을 업데이트해주기를 요청하는 경우가 많다. FOSS의 이 같은 불공정 문제를 해결하기 위해 일부에서는 SaaS와 비슷한 지불 방식, 정부 지원, 또는 기업이나 주요 오픈소스 재단의 지원 확대를 제안했다.
아파치 소프트웨어 파운데이션(Apache Software Foundation)의 부사장 루스 수엘은 “오픈소스 생태계는 소프트웨어 개발에서 필수적인 요소가 됐지만 그 성공에 따른 어려움도 겪고 있다. 문제는 오픈소스 생태계 자체의 성공뿐만 아니라 그에 의존하는 모든 것을 지속하기 위해 이 필수적인 생태계를 어떻게 유지할 것인지에 있다”라고 말했다.
공정함에 대한 오픈소스의 딜레마
핵심 문제는 오픈소스 기여자들이 공정한 금전적 대가를 받지 못한다는 점이다. 2023년 오픈소스 유지관리자 현황 보고서에 따르면 오픈소스 유지관리자의 60%는 무료로 일하는 자원봉사자이며, 프로젝트 유지관리자를 직업으로 생계를 꾸리는 경우는 13%에 불과하다.
파이썬 소프트웨어 파운데이션의 보안 개발자이며 특히 파이썬 관련 HTTP 및 네트워킹 분야의 많은 오픈소스 프로젝트에서 유지관리자이자 기여자이기도 한 마이클 라슨은 “오픈소스 프로젝트와 기여자에 대한 기준이 점점 더 높아지고 있다”라고 말했다. 라슨은 중요한 미들스택 프로젝트에서 이런 현상이 특히 두드러진다고 지적했다. 초보자가 쉽게 참여할 수 있는 종류의 “쉬운” 이슈를 제공하지 않아 결과적으로 기여자가 줄어들고 리드 유지관리자는 번아웃에 이르게 된다.
히어로데브(HeroDevs)의 수석 오픈소스 설계자이며 자바스크립트 프로젝트 수백 개의 유지관리자 조단 하밴드는 전 세계적으로 시간과 리소스에 대한 접근성이 균일하지 않고 그로 인해 이 같은 불공정성이 더 심화된다고 말했다.
타이드리프트(Tidelift)의 공동 창업자 도널드 피셔는 “2024년 현재 오픈소스 유지관리자는 불공정에 따른 피해를 입고 있다. 매우 가치 있고 널리 사용되는 프로젝트를 만든 데 대한 보상은 버그 보고, 기능 요청, 검토해야 하는 스캐너 오탐지에 묻히고 있다”라고 말했다. 페르미온 테크놀로지(Fermyon Technologies)의 창업자이자 CEO인 맷 부처는 시장 포화에 따라 문제가 발생하며, 상용 제품의 모든 과시적인 요소를 갖춘 “1급” 프로젝트만 눈에 띄길 희망할 수 있다”라고 덧붙였다.
오픈소스를 유지하기 위한 길
직접 수익화
이 격차를 해소하려면 어떻게 해야 할까? 한 가지 제안되는 방법은 핵심 프로젝트를 중심으로 수익 스트림을 구축하는 것이다. 깃허브의 케빈 크로스비는 “오픈소스 프로젝트에 자금을 지원하기 위한 가장 지속 가능한 방법은 어떤 형태의 상업적 지원을 통한 방법”이라고 말했다. 크로스비가 말하는 “수익 스트림”은 프리미엄 컨설팅 지원, 기능과 소프트웨어를 사용한 프로젝트 상품화 또는 엔터프라이즈급 펀딩의 형태를 취할 수 있다.
일부 유지관리자는 실제로 프로젝트의 수익화를 시도했지만 결과가 항상 좋지는 않았으며 이러한 시도가 개발자 커뮤니티의 반발로 이어진 경우도 있다. 멀티플레이어(Multiplayer)의 공동 창업자이자 CTO인 토마스 존슨은 “유지관리자들은 프로젝트 수익화를 통해 이익을 얻기가 쉽지 않다. 상황이 더 악화되면서 유지관리자들은 다른 오픈소스 라이선스를 고려해야 하는 상황이 됐다”라고 말했다.
기업 지원
수익화가 도움이 될 수 있지만 또 다른 대안은 직접적인 기업의 자금 지원이다. 이 경우 프로젝트 라이선스 변경이나 액세스에 대한 비용 청구 없이 지속적인 지원을 제공할 수 있다. 깃허브 스폰서, 깃허브 액셀러레이터와 같은 기회는 유지관리자가 꾸준한 현금 수익을 얻는 데 도움이 될 수 있다. 그 외에 패트리온(Patreon), 오픈 콜렉티브(Open Collective)와 같은 펀딩 플랫폼도 유지관리자에게 예산을 제공하는 데 활발하게 사용되고 있다. 퍼코나의 슐레머는 “프로젝트에 직접적인 금전 기여를 하면 프로젝트 개발자들이 재무적 불안정성으로 인한 스트레스 없이 코드에 집중할 수 있다”라고 말했다.
기업 후원 부문에서는 이미 긍정적인 성과가 있다. 예를 들어 깃허브 스폰서는 오픈소스 유지관리자들에게 4,000만 달러를 전달했다. 깃허브의 크로스비는 AWS, 아메리칸 익스프레스, 쇼피파이, 메르세데스 벤츠를 포함한 4,200개의 조직이 이미 각자 의존하는 오픈소스에 투자했다고 말했다. 기업 주도의 또 다른 이니셔티브인 오픈 소스 플레지(Open Source Pledge)는 참여 기업들이 오픈소스 개발자에게 매년 2,000달러를 지원할 것을 서약한다.
중요한 점은 오픈소스 수익 스트림은 단발성이 아니라 계속 이어져야 한다는 것이다. 타이드리프트의 피셔는 “오픈소스 프로젝트가 건강하고 안전하게 유지되도록 보장하는 최선의 방법은 프로젝트가 적절히 관리되고 안전한 소프트웨어 개발 관행을 따르도록 보장하는 대가로 유지관리자들에게 지속적으로 자금을 지원하는 것”이라고 말했다.
그러나 알려진 바와 같이 클라우드 업체는 오픈소스 프로젝트를 수익 창출 활동에 이용하면서도 유지관리자들에게 수익을 나눠주지 않는다. 이러한 이유로 앞으로 수익 공유 합의가 필요하다는 의견도 있다. 멀티플레이어의 존슨은 “오픈소스 프로젝트로부터 수익을 창출하는 기업은 프로젝트 유지관리자들과 수익을 공유해야 한다”라고 말했다.
코드 기여
또 다른 형태의 지원은 특정 직무 역할 내에 오픈소스 기여를 접목하는 것이다. “상주 개발자” 역할 후원하기, 정규직 오픈소스 유지관리자 채용, 또는 오픈소스 개발을 위한 승인된 시간 할당 등의 형태가 될 수 있다. CNCF의 프리얀카 샤르마는 “대부분의 CNCF 기여자와 유지관리자들은(약 95%) 조직에 소속돼 있으며 이들 대부분은 오픈소스에 대한 능숙함을 이유로 채용된 인력”이라고 말했다.
많은 기업이 이미 직원들에게 업무에서의 오픈소스 기여에 대한 보상을 지급하고 있다. 일부는 이를 전략의 최우선 요소로 삼고 있기도 하다. 예를 들어 어도비가 그렇다. 샤르마는 “어도비는 2015년부터 CNCF가 호스팅하는 46개 기술에 오픈소스 코드를 기여해왔다”라고 말했다. 조직의 거의 절반이 직원의 오픈소스 기여를 관할하는 정책을 두고 있다는 타이드리프트 보고서 내용은 고무적이다. 이러한 그룹에서 대부분의 조직은 조직이 사용하는 프로젝트에 대한 기여를 허용한다.
바로 이것이 오픈소스 프로젝트가 성공하기 위해 필요한 종류의 지원이다. 퍼코나의 슐레머는 “프로젝트 사용자는 금전적 기여든 현물 기여든 꾸준하게 기여해야 한다. 기업은 기업 목표에 부합하는 이러한 프로젝트에 대한 후원 예산을 책정해야 한다”면서 이러한 종류의 기업 안정성이 프로젝트가 품질과 보안, 혁신을 유지할 수 있게 해준다고 말했다.
오픈소스 보안 위험 하나만 감안해도 기업은 운영에 필수적인 프로젝트에 기여하고 그 프로젝트를 보호하기 위해 당연히 더 많은 노력을 기울여야 한다. 슐레머는 “벤더의 상업적 생존 가능성을 평가하는 것과 마찬가지로 오픈소스 프로젝트에 참여하는 기업은 그 프로젝트의 지속가능성을 파악해야 한다”라고 말했다.
중개 회사
심층적인 지식을 갖춘 오픈소스 유지관리자가 업데이트를 하는 것이 가장 좋겠지만 이들에게는 수정 사항을 구현할 시간 또는 리소스가 없는 경우가 많다. 제3자가 필요한 수단을 제공하는 데 도움이 된다는 논거가 여기에 있다. 중개 회사는 에이전트 역할을 하면서 기업 요구사항과 오픈소스 작업 간의 간극을 이어 유지관리자를 도울 수 있다.
예를 들어 타이드리프트는 오픈소스 유지관리자에게 산업 표준 보안 개발 관행을 실천하는 데 따르는 보상을 지급해서 클라이언트가 이러한 패키지를 더 확신을 갖고 사용할 수 있도록 한다. 이 모델은 jackson-databind의 원격 코드 실행(RCE) 취약점을 성공적으로 제거했으며, 인기 있는 파이썬용 HTTP 클라이언트인 urllib3의 보안을 개선했고 인기 있는 자바스크립트 패키지인 minimist의 이중 인증(2FA)을 구현했다.
오픈소스 유지관리자이며 필로우(Pillow)를 만든 알렉스 클라크는 오픈소스에 자금을 지원하는 최선의 방법은 자선이 아니라고 말했다. 클라크는 시장에서 수요와 개발자 사이에 위치해 이들이 판매하는 서비스에서 얻은 수익을 통해 유지관리자에게 비용을 지불하는 타이드리프트와 같은 기업이 필요하다고 말했다.
오픈소스 재단
리눅스 파운데이션, CNCF, 아파치 소프트웨어 파운데이션, 이클립스 파운데이션과 같은 비영리 재단은 오픈소스 프로젝트를 지속하는 데 도움이 되는 리소스와 장학금을 제공한다. 아파치 소프트웨어 파운데이션의 수엘은 “많은 프로젝트에서 재단 모델이 지원과 펀딩을 위한 수단으로 효과를 발휘했다”라고 말했다.
재단은 멘토십, 표창, 커뮤니티 지원, 그리고 기업 소유자가 프로젝트와 직접 투자의 영향을 정량화하는 데 도움이 되는 지표를 제공함으로써 간접적인 도움도 줄 수 있다. 레드햇의 오픈소스 프로그램 오피스 소속 커뮤니티 소통 선임 관리자 브라이언 프로핏은 “재단은 단순한 펀딩을 넘어 프로젝트 지원에서 큰 부분을 차지한다. 레드햇에서 자유 및 오픈소스 소프트웨어 생태계의 다양한 많은 재단을 지원하는 것은 최대한 많은 프로젝트가 건강함과 활기를 유지하도록 보장하기 위한 방법 중 하나”라고 말했다.
오픈소스 유지관리자 세스 마이클 라슨은 오픈소스를 지원하는 최선의 방법은 “비영리 재단의 정규직 인력에 급여를 지급해서 넓은 범위에서 생태계의 다양한 부분에서 작업하도록 하는 것”이라고 말했다. 라슨은 이를 통해 개인적인 시간 동안 계속해서 기여할 만한 인센티브를 빼앗지 않으면서 보안, 프로세스, 문서화, 릴리스, 거버넌스의 빈 틈을 채울 수 있다고 말했다.
그러나 수엘은 많은 주요 오픈소스 프로젝트가 다양한 이유로 재단 안에 들어가기를 원하지 않는다고 말했다. 수엘은 이들을 지원할 방법도 찾아야 한다면서 SustainOSS 등 여러 프로젝트가 지난 몇 년 동안 이 문제를 해결하기 위해 시도했다고 덧붙였다.
공적 지원
또 다른 옵션이자 가장 진보적인 방법은 오픈소스 소프트웨어를 공공재로 인식하고, 개인 또는 기업 지원이 아닌 공공 자금을 통해 이 생태계를 지원하는 것이다. 유지관리자 조단 하밴드는 “지금 필요한 것은 세계 주요 정부의 적절한 이해관계자가 참여하는, 신중하게 마련된 규정”이라고 말했다.
독일의 소버린 테크 펀드(Sovereign Tech Fund)는 이미 이 방향으로 나아가고 있으며, 매년 약 1,000만 유로(1,090만 달러)를 모아 약 30개 프로젝트에 투자한다. 미국 정부의 오픈 테크놀로지 펀드(Open Technology Fund)도 마찬가지 사례이며 영국 정부도 비슷한 펀드 설립을 제안했다.
하밴드는 “독일의 소버린 테크 펀드는 더 광범위한 사회적 목표를 염두에 두고 오픈소스 유지관리자에게 어느정도 직접적으로 공공 자금을 제공하는 최선의 사례”라며 “이것이 정부의 전적인 목적이다. 기업이 펀딩을 정당화할 만큼 충분히 미래를 내다보지 않는 분야에 자금을 지원하는 것”이라고 말했다.
오픈소스 소프트웨어 전문 독립 연구원이자 개발자 세르칸 호랏에 따르면 현재 기업의 기여를 제한하는 요소는 공유지의 비극, 무임승차자 문제와 같은 경제적 문제다. 호랏은 “공유 리소스에 대해 이들은 얼만큼을 기여로 돌려줘야 할지를 알지 못한다”라고 말했다. 호랏은 클로즈드 소스 구독에 대한 판매세를 핵심 공공 오픈소스 프로젝트 지원 자금으로 전환하는 방법을 제안했다.
세부적인 부분에서는 의견이 다를 수 있어도 오픈소스 인프라가 공공 펀딩을 받아야 한다는 데는 많은 이들이 동의한다. 매튜 호지슨은 Matrix.org 파운데이션에 쓴 글에서 “정부가 납세자를 대신해 FOSS 유지보수에 자금을 지원해야 한다”라고 주장했다. 유럽 공공 디지털 인프라 펀드 백서(European Public Digital Infrastructure Fund White Paper)는 더 나아가서 공적 가치를 제공할 역량을 입증한 서비스와 툴을 위한 “지속 가능한 유일한 비즈니스 모델”은 공공 지원이라고 주장했다.
세계가 의존하는 소프트웨어를 위한 펀딩
연구에 따르면 오픈소스 코드를 무료로 사용할 수 없다면 처음부터 새로 만드는 데 8조 8,000억 달러가 소요된다. 그러나 놀랍게도 대부분의 개발자는 자신의 기여에 대해 직접적인 금전적 지원을 기대하지 않는다. 슬래시데이터(SlashData)의 2024년 Q1 디벨로퍼 네이션(Developer Nation) 연구 결과를 보면 기업 또는 벤더 소유의 오픈소스 소프트웨어 프로젝트에 기여하는 가장 일반적인 동기는 “더 나은 코딩 방법을 배우는 것”이다.
오픈소스에 대한 전 세계의 의존을 감안하면 이 관점은 재평가가 필요할 수 있다. CNCF의 샤르마는 “오픈소스 소프트웨어는 안드로이드 폰부터 슈퍼컴퓨터, 넷플릭스에 이르기까지 모든 곳에 사용된다. 그러나 대부분의 사람들은 그 사실을 모르므로 기업에게 책임을 물을 수 없다”라고 말했다. 인식과 지원의 부족은 불공정으로 이어질 뿐만 아니라 이 중요한 생명선의 유지를 위협할 수 있다.
실제로 중요한 여러 프로젝트가 와해됐다. 타이드리프트의 피셔는 “유지관리자들은 일이 힘들고 고독하며 금전적 보상도 없음을 토로한다”라고 말했다. 윤리적 딜레마를 넘어 번아웃은 취약점 미해결 또는 소셜 엔지니어링 위험으로 이어질 수 있다. XZ 백도어가 그 예다.
오픈소스를 어떻게 지원하느냐는 이 시대의 문제다. 기업의 후원이 답이라고 생각하는 사람도 있지만 다른 형태의 지속성을 모색하는 사람들도 있다. 레드햇의 프로핏은 “만능 해결책은 없다. 어느 프로젝트가 실제로 필요한지 파악하기 위해 더 많은 노력을 기울여야 한다”라고 말했다.
오픈소스의 보편성을 고려할 때 공공 자금을 통한 지원 조율이 장기적으로 가장 유력한 비전으로 보인다. 그러나 이와 같은 정부 주도의 이니셔티브는 아직 초기 단계다. 공공 이니셔티브가 성숙한 단계에 이를 때까지 이 생태계가 생존하기 위해서는 기업 후원, 재단 관리, 대중 인식 제고가 모두 골고루 필요하다.
dl-ciokorea@foundryco.com