2013년 11월 29일

통계로 본 자바스크립트 프로젝트 10선 … 엠버, 앵귤러 ‘단연 발군’, 백본은 ‘다크호스’


지난 몇 년간 UX 라이브러리와 프레임워크에 있어서 엄청난 성장을 이뤄졌고 그 대부분은 오픈소스 분야에서 일어났다. 이런 프레임워크의 활용법, 접근법, 완성도를 비교하는 글은 많았다. 하지만 커뮤니티의 규모, 힘, 모멘텀과 이런 오픈소스 프로젝트를 둘러싼 생태계에 대한 추적은 그다지 주목받지 못했다.

올해 초, 필자는 2012년에 시작된 프로젝트 가운데 초고속 성장을 거듭하는 오픈소스 프로젝트들을 분석했고 여기에는 여러 자바스크립트 프로젝트가 포함돼 있었다. 이번 글은 그 연장선에서 개발자들이 풍부하고 확장 가능한 사용자 인터페이스를 구축하는 데 도움을 주는데 초점을 맞춰 특정 자바스크립트 라이브러리/프레임워크 프로젝트를 집중적으로 분석한 것이다.

분석에는 올로넷(Ohloh.net)의 오픈소스 커뮤니티 메타데이터와 별 개수(사용자들이 흥미롭게 생각하는 리파지토리들을 추적하는 데 도움을 주는)와 개별 프로젝트가 끌어들인 팔로워의 수를 포함한 깃허브(GitHub) 데이터가 함께 사용됐다.

최고 위치에 오른 프로젝트
이 분석은 최고의 오픈소스 프로젝트 10가지의 UI 라이브러리, 프레임워크, 서버 측 런타임을 포함한 풀 스택 프레임워크 등을 살펴본다. 분석된 프로젝트는 현재 가장 뜨거운 UI 프로젝트들로, 앵귤러(AngularJS), 엠버(Ember.js), 스프라우트코어(SpourtCore), 백본(Backbone.JS), 스파인(Spine), 캔(CanJS), 미티오(Meteor-JS), 더비(Derby), 야후 모히토(Yahoo Mojito)가 포함됐다.

이 분석의 목표는 이들 프로젝트를 둘러싼 환경을 살펴보기 위한 것이다. 특히 개별 프로젝트의 인기와 데이터의 연관성을 보여주고자 그 환경의 규모와 성장세를 알아보았다. 또한, 생태계가 프로젝트의 인기와 성공을 반영한다는 전제하에 그 부분도 분석해 봤다.

월별 컨트리뷰터
프로젝트 컨트리뷰터들의 월별 성장세를 보면 프로젝트의 모멘텀에 대한 통찰을 얻을 수 있고, 넓은 업계 관심을 끌고 있는 프로젝트들의 핵심 티핑 포인트를 잘 드러낼 수 있다. 다음 차트는 월별 컨트리뷰터 참여를 추적한 것이다. 이 통계는 해당 월마다 코드를 이바지한 개발자 수를 보여준다.



여기에서 볼 수 있듯, 스프라우트코어가 초창기 월별 컨트리뷰터 참여에서는 가장 앞섰다. 그러나 스프라우트 코어가 2011년 12월 엠버로 갈라졌을 때, 그 팀의 많은 개발자가 같이 갈라져 엠버에 동참했다. 현재 엠버는 앵귤러와 함께 2013년 가장 큰 월별 컨트리뷰터 성장세를 보이고 있는데, 이 둘 다 전체 커뮤니티 성장에 있어서도 선두권이다. 또한, 올해 봄, 백본과 미티어의 컨트리뷰터들이 상당수 감소했는데 이는 앵귤러와 엠버의 성장세가 커진 시점과 일치한다.

통산 컨트리뷰터
프로젝트의 통산 컨트리뷰터 수치를 보면 몇 가지 다른 요점들을 이해하는 데 도움이 된다. 우선 이 수치는 프로젝트의 거버넌스 스타일을 보여준다. 많은 프로젝트가 소규모의 사람들에 의해 긴밀하게 관리되는 반면, 어떤 프로젝트들은 넓고 다양한 개발자들에게 기여를 열어놓는다.



통산 컨트리뷰터의 수 역시 주어진 시점의 프로젝트의 상대적 모멘텀을 이해하는 데 도움이 된다. 대규모 기반 잡힌 프로젝트들은 버그 수정, 문서화 기여, 기타 작업들을 돕는 상당한 규모의 컨트리뷰터를 확보하고 있다. 전체 컨트리뷰터 수 역시 전체 코드 기반 규모와 연관이 있다. 이 측정법은 보통 코드 줄, 전체 커밋(commits) 월별 커밋같은 기타 커뮤니티 측정치와 결합했을 때 가장 가치가 있다.

생태계 프로젝트
프로젝트 커뮤니티의 힘은 현재의 컨트리뷰터를 넘어, 커뮤니티를 확장하고 그 위에 구축된 생태계 프로젝트를 통해 분명해진다. 이는 핵심 프로젝트 커뮤니티만으로는 언제나 프로젝트 모멘텀의 전체 이야기를 알 수 없다는 점을 보여준다. 생태계를 좀 더 넓게 보면 개별 프로젝트의 전체적 성공을 더욱 잘 묘사할 수 있다.



백본의 강력한 생태계가 가장 눈에 띄는데, 이를 통해 전체적인 모멘텀과 업계 사용량을 알 수 있다. 백본 생태계를 더 알아보기 위해 깃허브에서 별점 세 개 이상을 획득한 백본-관련 프로젝트만 검색해 봤더니 1,627개의 프로젝트가 있는 것으로 나타났다. 같은 기준을 적용했을 때 앵귤러는 794개여서 백본의 생태계가 여전히 앵귤러보다 두 배 이상 컸다.

풀-스택 솔루션
풀-스택 솔루션은 다른 많은 프로젝트와 다른 관점을 가지고 있기 때문에, 그들의 성장세를 개별적으로 보고 싶었다. 풀-스택 솔루션은 클라이언트 프레임워크와 서버-측 프레임워크 모두가 포함돼 있다. 가정해 보면 시간에 따라 참여하는 컨트리뷰터의 수가 커지듯 연관된 코드의 양도 더 커져야 한다. 아래 차트는 이들 프로젝트가 각각 적당한 참여와 함께 비교적 초기 단계에 있음을 보여준다.



자바스크립트의 부상
자바스크립트에 시간을 투자하고 이를 사용해 구조화된 접근법을 만드는 개발자의 수가 급속도로 증가하고 있다. 다음 차트는 2011년 이래 계속 증가한 통산 개발자 기여 수를 보여준다. 이는 오늘날의 애플리케이션 개발에 있어서 UI 프레임워크의 커지는 중요성과 모든 규모의 회사들에 걸쳐 여러 다양한 사용의 필요를 지원하는 다양한 접근법에 대한 지속적인 필요성을 반영한다. 올해 1월부터 기여가 눈에 띄게 증가했는데, 주로 앵귤러와 엠버 팀의 성장세 때문이다.



코드 줄과 커밋
각각 프로젝트마다 코드 기반 규모와 컨트리뷰터의 수 사이의 관계에 대해서 궁금해할 수도 있다. 이 둘을 비교해 보면 커뮤니티 규모와 전체 커밋과 코드 기반의 규모 사이에 별다른 연관성을 찾을 수 없었다. 예를 들어, 앵귤러는 컨트리뷰터당 413 LOC를 보인 반면, 엠버는 컨트리뷰터당 145 LOC에 그쳤다.



그러나 커뮤니티의 규모(통산 컨트리뷰터)와 통산 커밋의 수를 비교해보면 프로젝트들 사이에 컨트리뷰터당 커밋의 수가 상당히 차이가 난다는 것을 볼 수 있다. 여기에서 몇몇 프로젝트들이 이바지하기가 더 쉬워 장기적인 지속가능성에 영향을 미치고 있음을 볼 수 있다.

미래 예측
커뮤니티 규모와 성장은 프로젝트의 모멘텀을 보여주는 중요 지표다. 이들 지표가 모든 것을 보여줄 수는 없지만, 상당한 투자를 받고 있는 프로젝트들에 대한 중요한 통찰을 제공하고, 그 프로젝트 배후 커뮤니티의 생명력과 지속가능성에 기반을 둬 우리의 결정을 돕는다. 또한, 프로젝트의 수명에 대한 티핑 포인트를 찾고, 프로젝트 참여와 변화 영향에 대한 기회 제공에도 도움을 준다.

풍부한 UI 프레임워크는 어도비에서 지금은 아파치 프로젝트로 탈바꿈한 플렉스(Flex) 프레임워크 제품 마케팅을 5년간 맡았던 필자와 아주 가까우면서도 소중한 주제다. 여기에서 분석된 모든 데이터에 근거해볼 때, 엠버와 앵귤러가 앞으로 주목할만한 프레임워크로 평가된다. 그렇지만, 백본을 둘러싼 생태계는 이 UI 접근방식에 대한 인기와 헌신을 보여주는데, 백본의 앞에도 밝은 미래가 계속될 것으로 보인다. 

댓글 없음:

댓글 쓰기