테크레시피

오픈소스 라이브러리 개발자의 호소

오픈소스 자바스크립트 라이브러리인 core-js는 낡은 브라우저에서도 자바스크립트 최신 기능을 사용할 수 있게 해주는 풀리플(Polyfill)로 인기가 높아 오픈소스 자바스크립트 트랜스 컴파일러인 바벨(Babel)에도 들어가 있다. 애플과 넷플릭스, 스포티파이 등 대기업을 포함한 많은 웹사이트에서 이용되는 core-js 유지보수는 데니스 푸시카레프(Denis Pushkarev)라는 개발자 단 1명이 하고 있지만 그가 지원을 요청하는 글을 깃허브에 요청했다.

core-js는 가장 표준적인 폴리플로 폭넓은 웹사이트에서 이용되고 있으며 패키지 관리툴 npm을 통한 core-js 다운로드 수는 한 달에 2억 5,000만 회에 이르렀고 2014년 출시 이후 모두 90억 회에 달하는 것 외에 1,900만 개 깃허브 리포지토리와 의존 관계가 있다고 한다. 이 개발자가 작성한 스크립트로 자동 검출한 결과 상위 TOP1000에 들어가는 웹사이트 중 52%에 달하는 곳에서 core-js가 검출됐다고 한다.

실제로 core-js를 이용하는 사이트 예로는 애플과 이베이, 링크드인, 넷플릭스, 페이팔 등이 있다. 개발자는 어쨌든 core-js가 인기 있는 웹사이트 대부분에서 사용된다고 확신한다며 대형 메인 사이트에서 사용되지 않더라도 일부 프로젝트에선 확실히 이용되고 있다고 주장한다.

그런데 많은 소프트웨어 개발자는 바벨 등 트랜스 컴파일러를 통해 간접적으로 core-js를 사용하고 있기 때문에 자신이 core-js 혜택을 받고 있는지 모르는 개발자가 많다고 한다. 실제로 2012년 말부터 이 프로젝트를 시작한 개발자 역시 당초에는 자신이나 core-js에 대해 전혀 홍보하지 않았다고 한다.

core-js는 최신 자바스크립트 기능을 다양한 브라우저로 이용 가능하게 해주는 라이브러리로 급속하게 인기를 모았으며 개발자는 매일 몇 시간을 core-js 관리에 소비하는 생활을 몇 년째 계속해왔다. core-js는 자바스크립트 표준 변경이나 제안, 새로운 자바스크립트 엔진 릴리스, 자바스크립트 엔진 버그 등 상황에 대응할 필요가 있기 때문에 릴리스한 채로 방치할 수 없었기 때문이다.

작업량이 증가하면서 다른 유지 보수와 임시 기여자를 찾기 시작했지만 대부분 자바스크립트 개발자는 간접적으로만 core-js를 사용해 모든 시도는 실패했다고 한다. 따라서 웹 전체에 대한 책임감으로 그는 core-js 유지보수를 계속해 릴리스 이후 몇 년이 지나선 풀타임 직업과 양립할 수 없게 되면서 일을 그만뒀다. 이후 비교적 생활비가 저렴한 러시아로 돌아가 단기간 일로 생활비를 벌면서 core-js 작업을 계속했다고 한다.

그런데 2019년 4월 그가 도로에서 만취해 잠든 젊은이를 오토바이로 죽이는 사고를 일으켜버렸다. 감옥에 들어가지 않기 위해 800만 달러 화해금과 변호사 비용을 지불할 필요가 있어 이미 널리 사용되던 core-js 지원을 요청했다. 하지만 모인 금액은 불과 월 57달러였다고 한다. 여기에서 실험적으로 크라우드펀딩 플랫폼 패트레온(Patreon)을 통한 지원을 요청하자 이번에는 다양한 개발자로부터 비방중상성 메시지가 왔다고 한다. 아예 core-js 라이브러리에서 그를 제거하려는 개발자도 나타났다고 한다. 아무도 core-js 규모가 어느 정도인지 이해하지 못하고 대신 유지보수하려는 사람도 없었다는 것. 그는 개발자는 무료이면서 훌륭하게 작동하는 오픈소스 소프트웨어를 사용하는 걸 좋아하지만 오픈소스 개발자에 대한 어떤 언급도 개인적인 공간에 침입하는 걸 개인적 모욕이라 생각한다며 이 때문에 개발자 수천 명이 자신을 모욕하고 공격하고 자신에게 어떤 도움을 구할 권리도 없다고 주장하는 것이라고 밝히고 있다.

결국 화해금을 지불할 수 없었던 그는 2020년 1월 감옥에 수감되어 화학 공장 노역을 거쳐 10개월 뒤 석방됐다. 이후에도 배상금 지불은 끝나지 않아 전체를 지불할 때까지 러시아 국외로 나갈 수 없다고 한다.

그가 사고나 경제적 지원을 요구한 데 대해 많은 개발자가 살인자나 스팸으로 대금을 번다는 등 메시지를 보내지만 러시아와 우크라이나 전쟁이 시작된 이후에는 러시아에 거주하는 러시아인이라는 이유로 비방 중상도 받아야 했다. 이에 대해 그는 러시아에 귀국한 건 core-js 유지보수를 위한 경제적 문제 때문이며 사고 배상금을 지불할 때까지 출국할 수 없다고 설명했다.

사고 이후 월 1,700달러 정도 기부금으로 생계를 유지하던 그는 러시아에 대한 제재 등으로 일부 지원 사이트를 이용할 수 없게 되면서 2023년 2월 수입은 불과 400달러 정도라고 한다. 1월 작업 시간은 풀타임 업무보다 많은 250시간이며 시급으로 환산하면 2,000원 정도라고 한다.

core-js를 시작할 때에는 금전적 욕심이 없던 그지만 1년 전 아들이 태어나 가족 부양도 압박이 되고 있다. 자신이 가진 자금으로 가족을 먹여 살리는 건 불가능하다고 생각하다며 자신과 가족의 행복을 희생하고 기업을 지원하는 건 힘든 일이며 가족과 아들을 위해 미래를 확보할 수 있어야 한다며 자신이 한계에 있다고 호소하고 있다.

그는 이건 core-js를 적절한 품질과 기능을 가진 무료 오픈소스 프로젝트로 유지하기 위한 마지막 시도라며 지원을 호소했다. 그는 적절한 재정적 지원이 이뤄지면 core-js 기능을 유지하기 위한 유지보수를 계속할 수 있어 추가개발자 고용도 가능하다고 한다. 하지만 불가능하다면 core-js를 상용 프로젝트로 해 자금을 조달하거나 풀타임 업무를 얻어 core-js 작업 시간을 줄이다가 프로젝트를 끝내게 될 것이라고 밝히고 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사