블록체인을 통해 본 오픈소스 프로젝트의 치명적 결점과 극복 방향

InfoWorld

“작년 한 해 동안 신생 블록체인 프로젝트만 2만 6,000개 증가!”와 같은 헤드라인은 누구나 한번쯤 본 적 있을 것이다. 하지만 “그 중 8%만이 여전히 진행 중!” 이라는 사실은 몰랐을 것이다. 이 2가지 사실을 통해 블록체인의 미래가 불안정해졌다는 사실을 유추해 볼 수 있다. 이는 분명한 사실이다. 사실 지금보다 훨씬 더 많은 블록체인 프로젝트가 실패하고 나서야 쭉정이는 걸러지고 ‘블록체인 프로젝트계의 리눅스’라 할 수 있는 프로젝트들만이 남게 될 것이다.

그럼에도 불구하고 여전히 문제는 남아있다. 물론 이는 블록체인 프로젝트에만 적용되는 문제는 아니다. 오늘 이야기하고자 하는 문제는 바로 오픈소스 프로젝트에 대한 것이다. 날이 갈수록 이용자 수는 늘어나는데, 소프트웨어를 만들 개발자 수는 줄어들고 있다. 더 많은 개발자들이 참여할 수 있도록 장려할 방법을 찾지 않는 이상, 오픈소스 프로젝트 역시 블록체인과 마찬가지로 개발자의 참여가 사용자의 기대를 따라가지 못하는 일이 발생할 것이다.

Image Credit : GettyImagesBank

오픈소스, 블록체인 프로젝트를 위한 완벽한 실험 환경
수년 전까지만 해도 오픈소스는 독점 소프트웨어를 따라 하는 모방자의 지위를 가지고 있었다. 그러나 오늘날 오픈소스 소프트웨어는 머신러닝, 모바일, 클라우드 컴퓨팅, 빅 데이터 등 각종 분야의 혁신이 배양되는 페트리 접시와도 같은 역할을 하고 있다. 클라우데라(Cloudera)의 공동 설립자인 마이크 올슨이 말했듯 “지난 10년간 시장 지배적인 위치를 점한 플랫폼 수준의 소프트웨어 인프라스트럭처는 단 하나의 예외도 없이 개방적인 오픈소스 환경에서 탄생했다.”

틀린 말이 아니다. 마찬가지로 딜로이트(Deloitte)가 자사의 “블록체인 기술의 진화” 연구에서 “오픈소스는 블록체인 코딩 프로젝트, 인재를 불러 모으고 공통적 기준을 지닌 프로젝트 생태계를 가속화 하기에 이상적인 페트리 접시이다”라고 말한 것도 일리가 있다. 오픈소스는 분명 블록체인 개발자들이 블록체인 기술을 가지고 다양한 실험을 해 볼 수 있을 뿐 아니라 협업까지 가능한 환경이기 때문이다.

그래서, 오픈소스 프로젝트가 시작됐다. 하지만 딜로이트의 데이터에 의하면, 깃허브에는 현재 8만 6,034개의 블록체인 관련 프로젝트가 있다. 해마다 평균적으로 8,603개 프로젝트가 새로 생겨나며, 특히 2016년 한 해에는 무려 2만 6,885개의 새 프로젝트가 생겨나기도 했다. 초기에는 이들 프로젝트의 99% 이상이 개인 개발자 주도로 이루어졌지만, 오늘날에는 기업이 주도하는 프로젝트의 비율 역시 11%까지 증가했다. 이는 좋은 소식이다.

문제는 이런 블록체인 프로젝트가 평균적으로 1.22년 이상 가지 못한다는 것이다. 2016년 신설 프로젝트의 92%는 2017년이 채 지나기도 전에 의식불명 상태에 빠졌다. 프로젝트 주체가 기업일 경우 생존률은 7%에서 15%로 올라가지만, 그럼에도 불구하고 여전히 절대다수의 프로젝트들은 장기간 이어지지 못함을 보여준다.

사실 이는 당연한 현상이다. 오픈소스 프로젝트는 원래 그렇기 때문이다.

“죽기 위해 태어나는” 오픈소스 프로젝트
필자는 12년 전 한 학술 연구 결과를 인용해 “오픈소스 프로젝트는 대부분 규모가 작고(전체 프로젝트의 82%는 한두 명의 개발자 참여에 가장 적합한 형태이다), 단발성이다. 또한 전체 프로젝트의 60% 가까이가 최근 1년 이내에 시작된 것이고, 1년 이상된 프로젝트는 22%이며, 2년 이상은 15%, 그리고 3년 이상 된 프로젝트는 2%에 불과하다”라고 소개한 바 있다. 이런 경향은 2017년에도 여전하다. 깃허브 프로젝트의 2/3은 관리자가 아예 없거나 한두 명의 관리자만 있을 뿐이다. 리눅스나 쿠버네티스 같은 오픈소스 프로젝트들이 워낙 유명하다 보니 실제 오픈소스 프로젝트의 현실을 왜곡하고는 하지만, 절대 다수의 프로젝트들은 한 명의 개인 개발자나 그의 친구가 가담하여 달려들었다가 흥미를 잃은 채 내버려둔 경우가 흔하다.

오픈소스 프로젝트가 이렇게 되는 이유는 사람이다.

결국 개발자도 사람인 것으로 드러났다. 깃허브의 나디아 에그벌도 “성당 재건설(Rebuilding the Cathedral)” 연설에서 이런 점을 강조했다. 오픈소스의 최대 장점 중 하나는 자신이 기여한 코드에 대한 피드백을 즉각적으로 받아볼 수 있다는 것이다.

그러나 이는 똑같이 오픈소스 최악의 단점이 될 수도 있다. 마음에 드는 프로젝트를 발견해 코드를 썼지만 결국 “당신의 노력이 수백 개의 다른 문제들 속에 파묻혀 무의미해 지는 것을 발견하게 되고, 쌓여가는 요청에 발을 빼게 되기 때문”이다. 프로젝트 관리자의 입장에서 보더라도 “처음에는 자신만의 오픈소스 프로젝트를 시작하는 것이 즐겁게 느껴지지만, 시간이 갈수록 알림이 쌓이고, 여기에 빠르게 응하다 보면 더 많은 알림이 쌓이게 된다. 오픈소스만의 특이한 생산성 패러독스이다”라고 에그벌은 설명했다.


물론 이런 현상이 긍정적이라고 생각할 수도 있을 것이다. 프로젝트에 참여하는 개발자가 많아질수록 프로젝트의 질도 더 올라가는 것이 아닌가? 물론 그렇다. 그렇지만 에그벌이 강조했듯, 오픈소스 프로젝트는 사용자 수가(소스포지(SourceForge)의 불완전한 측정에 의하면) 약 20만 명 정도였을 때가 관리하기 쉽고 좋았다. 그로부터 20년여 년이 지난 현재 전 세계적으로 2,000만 명이 넘는 사람들이 이를 사용하고 있다. 필터링할 알림만 어마어마하게 늘어난 것이다.

게다가 중요한 것은 오픈소스 사용자의 수가 늘어난 것이지 오픈소스 개발자의 수는 거의 그대로라는 사실이다. 게다가 오늘날 사용자의 상당수는 포춘지 선정 500대 기업들이다. 리처드 스톨먼이 화를 내는 것도 이해가 간다.

이제 다시 블록체인 이야기로 돌아가 보자.

오픈소스 프로젝트, 결국 투자가 답이다
일반적으로, 오픈소스 프로젝트에 돈을 많이 투자할수록 더 나은 결과를 기대할 수 있다. 물론 항상 그런 것은 아니지만 말이다(오픈 스택을 기억하는가?). 하지만 대체로 투자는 오픈소스 프로젝트에 긍정적 영향을 미친다. 돈을 받으면 개발자가 프로젝트에 더 열심히 참여하기 때문이다. 그 동안 오픈소스 프로젝트 관리자들은 무엇보다 프로젝트에 투자하는 시간을 일정 수준 이하로 유지함으로써 가중된 프로젝트의 부담을 관리해 왔다. 만일 이러한 오픈소스 프로젝트를 개발자의 전일 업무로 만든다면 훨씬 더 많은 시간을 투자해 더 나은 결과물을 얻어 낼 것이다.

에그벌은 이를 가리켜 ‘성당(Cathedral)형 개발 모델’이 돌아 왔다고 말한다. 1999년 에릭 레이먼드가 신격화한 ‘시장(Bazaar)형 모델’은 오픈소스가 소규모로 운용될 때에만 가능한 것이라고 말이다. t시장 모델이 가능한 이유는 개발자들이 프로젝트에 순수한 흥미를 가지고, 충분한 개인 시간을 투자하여 세상을 더 나은 곳으로 만들어 줄 소프트웨어를 만드는 데 기꺼이 뛰어들었기 때문이었다. 그렇지만 이들도 결국 어느 순간에는 현실로 돌아와 보고서를 작성하고, 재미 없는 코드를 써야 하며, 기업들의 비즈니스 성과가 이러한 업무에 달려 있다. 자연스레 오픈소스 프로젝트는 장기 프로젝트가 될 수밖에 없다.

에그벌이 말했듯, 시장형 개발 모델은 “신화에 불과하다. 존재하지 않는다. 그저 엄청난 양의 워크로드를 간신히 관리해 나가는 사람들이 있을 뿐이다.”

다시 말해 더 많은 이들이 오픈소스 프로젝트에 참여해야만 한다.

현재 블록체인 기술의 주 고객층은 금융 서비스 기업들이다. 이들이 개발자에게 풀타임으로 코드를 만들도록 급여를 지불한다면 어떨까? 월마트가 오픈스택을 사랑하니, 어쩌면 월마트가 직접 코드를 만들어 낼 수도 있겠다. 이미 그렇게 하고 있지만 말이다.

아주 오래 전처럼 느껴지는 2008년, 레드햇 CEO 짐 화이트허스트는 기업들의 오픈소스 참여를 권장했다.

“오늘날 만들어지는 대부분 소프트웨어들은 기업에서 만드는 것이며, 판매 용도가 아니다. 그리고 이렇게 만들어지는 소프트웨어의 절대 다수는 실제로 사용되어 보지 못한 채 끝난다. IT 소프트웨어 개발 분야에는 우리 생각보다 훨씬 많은 낭비가 존재한다. 결국 오픈소스 프로젝트로 창출한 가치가 전 세계 고객들에게까지 파급되려면, 고객들이 단순히 오픈소스 제품의 사용자로서만 남아 있을 것이 아니라 오픈소스 프로젝트 및 개발 커뮤니티의 일부가 되어 참여할 수 있도록 해야 한다.”

다시 말해, 우리에게 필요한 것은 더 많은 소프트웨어가 아니다. 이미 충분히 많은 소프트웨어가 개발되고 있지만, 방화벽이라는 담장 뒤에 방치되어 쌓여가고 있다. 기업들이 이런 담장을 허물고, 코드를 오픈소스 프로젝트에 기여하는 것은 기업들 자신에게도 이득이 되는 일임을 알아야 한다.

지금 코드를 구걸하는 것이 아니다. 코인베이스(Coinbase)의 공동 설립자 프레드 에람이 말했듯, 이더리움 플랫폼을 개선해 더 사용하기 쉽게 만드는 것만으로 무려 30억 달러에 달하는 가치를 창출해 낼 수 있다. 이처럼 수십 억 달러의 돈이 걸린 문제인 만큼, 기업들도 자신의 이윤을 위해서라도 오픈소스 커뮤니티로부터 받아 올 생각만 할 것이 아니라 개발자들에게 더 많은 돈을 투자하여 이들이 오픈소스 커뮤니티에 더 많은 기여를 할 수 있도록 해야 할 것이다.  editor@itworld.co.kr