지켜보지만 말고 뛰어들어 보세요!
우리가 이용하는 거의 모든 서비스들은 오픈소스를 기반으로 만들어졌습니다. 오픈소스는 대가 없이 사용할 수 있도록 공개된 코드를 말합니다. 이런 오픈소스 프로젝트는 개발자 개인이나 기업을 통해 개발되고 유지되고 있어요.
기업은 채용을 위해서 오픈소스 프로젝트를 시작하는 경우가 많지만 개인은 이타심에 의해 시작한 경우가 많습니다. 다만 개인이 보수 없이 일하다 보니 오픈소스 관리에 어려움을 겪고 프로젝트가 무덤으로 가는 일도 존재합니다.
오픈소스 faker.js에 무슨 일이?
2021년 4월, 테스트를 위한 모킹 데이터 생성에 주로 사용되는 오픈소스 ‘faker.js’의 메인테이너(오픈소스 관리자) Marak이 ‘오픈소스를 수익화하는 것은 어려운 일이다’라는 글을 올렸습니다.
사건의 발단은 이렇습니다. 2020년, Marak은 집에서 사제폭탄을 만들다가 터진 사건으로 인해 전재산을 몽땅 잃었습니다. 이를 계기로 Marak은 기업을 위해 더 이상 무료로 봉사할 수 없다며, 자신에게 연봉 계약서를 보내거나 이 프로젝트를 가져가서 알아서 하라는 말을 자신의 프로젝트에 남겼습니다.
사람들의 조언과 관심으로 GoDaddy라는 회사에서 스폰을 받아 새로운 프로젝트 fakercloud를 시작함으로써 수익화 하려고 노력했으나, Marak은 자신의 프로젝트를 사용해 수익을 얻고 있으며 fakercloud와 똑같은 기능을 제공하는 서비스인 Retool을 발견합니다.
7500백만 달러(한화 약 900억)의 자본을 가진 기업과 싸우는 게 어렵다는 것을 깨달은 Marak은 Retool에게 2년 간의 컨설팅 계약을 제안하죠. 하지만 곧 다시 연락하겠다던 ‘프로덕트 헌트’(Retool을 서비스하는 기업)는 한 달이 지나도 답이 없었다고 합니다.
현재 Marak은 자취를 감췄고, faker.js 프로젝트는 5.x 버전에서 멈춰버렸습니다.
> 이 사건을 요약한 Amy님의 트윗: faker.js에게 무슨 일이 일어났나요?
오픈소스 생태계를 교란하는 거대 기업
오픈소스가 자본에 잡아먹힌 건 이번 일뿐 만이 아닙니다.
마야, 시네마 4D와 같은 3D 그래픽 툴인 ‘블렌더, Blender’는 오픈소스 소프트웨어입니다. 3D 그래픽 툴은 비쌉니다. 마야의 연 정기구독권이 2백만 원에 달해요. 그런데 블렌더는 무료예요. 사장님이 미쳤죠.
기능이 구릴 거라고요? 그렇지도 않아요. 블렌더로 만든 애니메이션 'Cosmos Laundromat'을 보시면 그런 말이 쏙 들어갈 거예요.
이런 소프트웨어를 무료로 풀어버린 사장님은 바로 ‘톤 루슨달(Ton Roosendaal)’이라는 사람입니다. 프로덕트 디자이너 출신의 네덜란드 개발자이자 블렌더를 세운 CEO입니다. 현재는 블렌더 재단의 창립자예요.
처음에는 블렌더 역시 기업으로 시작했어요. 하지만 미국의 IT 버블을 거치면서 어려운 상황을 맞았고, 투자자들에게 블렌더를 빼앗겼죠. 하지만 여전히 블렌더를 사용하길 원하는 사용자들이 있었습니다. 루슨달은 블렌더를 다시 살리기 위해 크라우드 펀딩을 받아 투자자들로부터 다시 블렌더를 가져왔어요. 그런 뒤 오픈소스로 화끈하게 풀어버렸습니다!
투자자들에게 서비스를 빼앗겨본 경험이 있는 루슨달은 그 이후 자본주의와 거대 기업이 오픈소스 생태계에 간섭하는 것을 민감하게 받아들였습니다.
그는 마이크로소프트가 깃허브를 인수한 것에 대해 이렇게 트윗했습니다.
블렌더는 깃허브에 소스를 저장하지 않는다. 마이크로소프트가 깃허브에 적어도 350만 달러(한화 약 400억 원. 실제로는 2018년에 깃허브를 8조 원에 인수했습니다)를 투자했다. 이 거대 기업은 어떻게든 이 금액에 달하는 대가를 얻으려 할 것이다. 그 대가는 누가 치르는가? 바로 깃허브를 사용하는 유저들이다
물론 오픈소스를 통해 돈을 버는 것에 대해 반대하지는 않지만 거대 기업이 오픈소스 생태계를 교란하는 일은 바람직하지 않다고 생각하는 것이죠.
> 오픈소스 블렌더의 역사가 궁금하다면: Blender의 역사
보상 없이 일하는 오픈소스 관리자들
오픈소스 관리 툴을 서비스하는 ‘Tidelift’의 2021년 오픈소스 메인테이너에 대한 설문조사에 의하면, 400명의 오픈소스 메인테이너 중 절반 가량이 아예 보수를 받지 않고 일하고 있다고 합니다. 오픈소스를 관리하는 일은 전혀 쉬운 일이 아닙니다.
대중적인 프로젝트는 새로운 기능을 추가하고, 기여자들의 PR(Pull Request, 자신의 코드를 오픈소스에 적용하도록 요청하는 일)을 리뷰해줘야 하고, 버그가 생기면 고쳐야 합니다. 주중 10~20 시간은 오픈소스 프로젝트에 투자한다고 합니다.
오픈소스는 대가도 받지 않으니 생계를 유지하기 위해서는 본업을 끝낸 뒤 오픈소스에 신경을 써야 합니다. 이렇게 힘든 일임에도 불구하고 개발자들이 오픈소스를 개발하는 이유는 간단합니다. 설문조사에 의하면 71%의 응답자가 ‘세상에 더 좋은 영향을 주기 위해서’라고 답했다고 합니다.
우리가 누리고 있는 대부분의 서비스들은 오픈소스 위에서 돌아가고 있어요. 오픈소스가 없다면 ‘하루 만에 웹 서비스를 만들었어요!’와 같은 일도 어렵습니다. 그렇다면 우리는 오픈소스 생태계를 유지하기 위해, 혹은 개선하기 위해 어떤 노력들을 할 수 있을까요?
오픈소스 생태계를 위해 우리가 할 수 있는 일들
일부 사람들은 자신이 사용하는 프로젝트의 메인테이너에게 정기적으로 돈을 기부하는 스폰서가 되기도 합니다. 깃허브에서 사용 중인 오픈소스의 메인테이너에게 한 번에 기부하거나 정기적으로 5달러씩 기부할 수도 있어요(혹은 그보다 더 적게도).
금액에 따라 스폰서 배지를 준다든지 Thanks to 리스트에 올라가기도 합니다. 또는 오픈소스 프로젝트의 크라우드 펀딩에 참여해 돈을 투자할 수도 있어요. 일부 오픈소스는 특정 기능을 유료화하기도 하는데 유료 버전을 결제해 사용할 수도 있습니다.
> 깃허브에서 스폰서가 되는 방법 : 깃허브 계정만 있다면 개발자가 아니어도 기부할 수 있어요.
대부분의 개발자들은 오픈소스 프로젝트에 기여하는 것을 자랑스럽게 생각합니다. 하지만 누군가는 취직, 커리어를 위해 기여하기도 하죠. 이런 목적에 비난할 의도는 없습니다. 저도 예전엔 그랬거든요.
다만 기여할 때는 오픈소스 메인테이너들의 소중한 시간을 뺏지 않도록 컨트리뷰트 가이드(기여 가이드)를 숙지하고, 자신의 코드가 프로젝트에 문제를 일으키지 않도록 주의하며 PR을 날려야 합니다.
오죽하면 RTFM(Read The Fucking Manual)이라는 말이 있을까요. 그리고 PR을 올리면 뛰어난 개발자에게 코드 리뷰를 받을 수 있으니 배움의 기회도 얻을 수 있습니다.
오픈소스 기여가 처음이라면 네이버의 오픈소스 가이드를 먼저 읽어보시길 바랍니다.
누구나 오픈소스 프로젝트를 개발할 수 있습니다. 개발 생태계에 도움이 될 만한 어떤 것이든(문서, 코드) 다른 개발자들이 사용할 수 있도록 공개하면 됩니다. 대중적인 프로젝트가 된다면 스폰이나 투자를 받을 수도 있고, 열정적인 컨트리뷰터(기여자)들에게 메인테이너 권한을 부여해 함께 프로젝트를 키워나갈 수도 있어요.
자본주의에서 누군가는 생산하고, 누군가는 소비합니다. 오픈소스 생태계도 마찬가지입니다. 누군가는 개발하고 누군가는 사용합니다. 다만 차이가 있다면 사용자가 대가를 지불하느냐의 여부입니다. 오픈소스 관리자들 중 많은 사람들이 대가를 전혀 못 받고 있습니다. 그럼에도 유지되고 있는 이유는 오픈소스 관리자들이 세상에 더 좋은 영향을 주길 원해서이고, 오픈소스 사용자들이 그들의 뜻을 존중하기 때문입니다.
자신이 오픈소스를 사용하고 있다면 본인도 오픈소스 생태계의 일원입니다. 오픈소스 생태계는 우분투 정신으로 돌아갑니다. ‘상대방, 우리를 위한 헌신’의 정신입니다. 그리고 이 정신이 기술을 발전시키고 있습니다. 기술을 누리고 있다면, 그리고 이런 생태계에 한 줌의 보탬이 되고 싶다면 오픈소스에 기부하거나 기여를 시작해보는 건 어떨까요?