희망적인 신호는 오랫동안 기다려온 최종 사용자 기반의 오픈소스 미래가 마침내 오고 있다는 것이다. 리프트(Lyft)의 맷 클라인이 개발한 오픈소스 엣지 및 서비스 프록시인 엔보이(Envoy)가 대표적이다. 그는 최근 필자와의 대화에서 벤처캐피탈을 등에 업은 신생 기업의 오픈소스 프로젝트와 달리 엔보이는 "처음부터 운영 품질을 진지하게 생각하도록 강제하는 ‘내부 고객(captive customer)’을 유지한 채 개발됐다. 사람들이 실제로 중시하는 기능을 구현할 수밖에 없는 구조다"라고 말했다.
다시 말해, 소프트웨어를 사용해서 문제를 해결할 사람이 그 소프트웨어를 만들었고, 이것이 더 좋은 소프트웨어로 이어졌다는 이야기다. 클라인은 “엔보이가 인기를 끈 중요한 이유 중 하나는 최종 사용자의 사용 시나리오에 맞춰 만들어졌다는 점이다”라고 말했다.
그렇다면 성공적인 최종 사용자 지향 오픈소스가 생각보다 드문 이유가 무엇일까? 클라인에 따르면, 오픈소스가 '더럽게 많은 일'임을 인지하지 못하고 비용과 혜택을 명확하고 충분하게 고민하지 않는 데 있다.
오픈소스가 '순손실'일 때
엔보이를 리프트 외부로 출범해 즉, 오픈소스 프로젝트로 전환해 성공적인 결과를 끌어내기가 얼마나 어려운 일인지, 다행히(?) 클라인은 모른 채로 시작했다. 그의 팀은 2015년에 리프트가 모놀리식 기반 인프라를 마이크로서비스 기반 인프라로 바꾸기 위해 엔보이를 개발했다. 2016년 봄이 되자 엔보이는 리프트 내에서 의문의 여지가 없는 성공적 프로젝트로 평가됐다.이때부터 오픈소스 논의가 시작했다. 클라인은 “2016년 중반쯤 엔보이를 오픈소스화하는 방안에 대한 진지한 대화가 오가기 시작했는데, 그때만 해도 앞으로 무슨 일이 닥칠지 전혀 예상하지 못했다”라고 말했다.
그때까지 클라인은 몇몇 오픈소스 프로젝트에 가볍게 참여한 적은 있지만 깊게 파고든 경험이 없었고, 자신이 프로젝트를 출범한 경험은 전혀 없었다. 단지 이런 일이 궁금했고 시도하고 싶었을 뿐이다. 리프트의 경영진은 처음에는 반대했지만 클라인은 고집을 꺾지 않았다. 그는 “모든 일을 내가 하겠다는 의욕이 충만했고 앞으로 해야 할 일이 무엇인지도 이해했다고 생각했다”라고 말했다. 그러나 얼마 가지 않아 자신이 아무것도 몰랐음을 알게 됐다.
결국 리프트 경영진이 클라인에게 기회를 주고 클라인이 그 '기회'가 무엇을 의미하는지 잘 모르는 사이 오픈소스화가 결정됐다. 지금 엔보이 프로젝트의 덕을 보고 있는 우리 모두에게는 행운의 순간이지만 이 결정으로 인해 클라인은 1년 동안 완전히 번아웃돼 버렸다.
클라인은 오픈소스 프로젝트를 시작하는 것은 회사 창업과 같다고 느꼈다. 실제로 공통적인 일이 많다. 그는 “PR, 마케팅이 있고, 기여자와 유지보수자 모집은 채용과 비슷하다”라고 말했다. 또한 프로젝트를 문서화하고, 초기 개발자가 아닌 사람도 이해할 수 있도록 일반화하는 업무도 있었다. 클라인은 할 일이 너무 많았다며 논란이 될 만한 다음과 같은 말도 남겼다.
지금의 엔보이를 보면 '고생할 만한 가치가 있었다'고 말할 수도 있다. 그러나 클라인과 리프트는 2016년에는 지금과 같은 결과를 예상하지 못했다. 현재 리프트는 엔보이를 개선하는 데 적극적으로 기여하는 수십 명의 덕을 보고 있다. 클라인은 “리프트는 우리가 생각하지 못했던 여러 방식으로 혜택을 받고 있다. 리프트는 다른 사람이 구현한 다양한 기능을 활용한다”라고 말했다. 리프트가 이렇게 받는 모든 부가적인 도움에는 비용도 들지 않는다. 2016년 당시의 클라인은 엔보이에 대한 투자를 어떻게 정당화할지를 고민하면서 그때까지 리프트에 불필요했던 이런저런 기능을 구축했는데, 이것이 결과적으로 오픈소스 커뮤니티에서 프로젝트의 매력을 더 높인 요소가 됐다.
클라인은 “왜 더 많은 사람이 오픈소스화하지 않는지 묻는다면, 나의 답은 일이 '더럽게' 많기 때문이다. 일은 많은데 돌아오는 혜택은 명확하지 않다. 확실한 내기가 아니다. 성공할지 여부를 알 수 없다. 성공하지 못한다면 순손실이 된다”라고 말했다. 그렇다면 굳이 오픈소스화를 하는 이유는 무엇일까. 더구나 소프트웨어 판매 사업을 하지도 않는 기업이라면?
리프트에 무엇이 이득인가
클라인에 따르면, 같은 방향으로 움직이더라도 거기에 수반되는 '소프트 비용'을 완전히 오판할 수 있다는 점이 문제다. 즉, 서버 비용이나 엔지니어 급여는 예측할 수 있지만, 성공적인 오픈소스 프로젝트의 총소유비용(TCO)을 측정하기는 매우 어렵다.
결과적으로 오픈소스 성공이 갖는 금전적 영향을 모델링하기는 매우 어렵고, 성공에 이르기 위한 비용은 매우 크다. 따라서 기업이 오픈소스화를 진행할지 여부는 결국 '직감'의 문제가 된다. 이러한 모호함은 많은 이들이 애초에 시도조차 하지 않는 이유가 되기도 한다.
이제 이 모든 것을 깨달은 클라인은 엔보이와 같은 프로젝트를 다시 시작할 수 있을까. 오픈소스 프로젝트 구축이라는 고생길에 자기 자신과 회사를 다시 던져 넣을 수 있을까. 대답은 ‘상황에 따라서’다. 그는 "할 것이냐 말 것이냐를 결정짓는 요소는 시장을 쟁취할 수 있는지에 관한 객관적인 평가다. 이 말이 개발자보다는 비즈니스에 가깝게 들린다 해도 어쩔 수 없다. 나는 오픈소스 순수주의자가 아니라 자본주의자다. 오픈소스 프로젝트가 시장을 쟁취하고 그에 따라 우리가 투입한 것보다 더 큰 힘을 외부에서 끌어들일 수 있는지에 따라 그 '최적화 활동'으로 오픈소스에 접근할 것이다"라고 말했다.
어떻게 보면 많은 기업이 어려움을 겪고 있는 오픈소스 계산에 낙관주의를 더하는 사고방식이다. 모든 기업은 고객을 얻는 과정에서 일정한 위험을 감수한다. 오픈소스도 같은 시각에서 생각하면 명확해진다. 오픈소스를 잘하기 위한 비용을 더 쉽게 이해하고 지지할 수 있을 것이다. editor@itworld.co.kr