close

한눈에 보는 노드JS 커뮤니티 역사

가 +
가 -

오픈소스 기술은 모두가 함께 기술을 만드는 동시에 누구나 사용할 수 있다. 누구나 참여해 개발하는 게 오픈소스 기술이라지만, 그 중엔 큰 방향을 결정하는 개발자들이 있다. 참여율이 좋은 사람, 코딩 실력이 좋은 개발자, 자주 소스코드를 수정하는 개발자 등이 그렇다. ‘자비로운 종신독재자(BDFL, Benevolent Dictator for Life) 중심으로 오픈소스 커뮤니티를 운영하는 곳도 있다.

BDFL은 소스코드를 수정하는 최종 권한을 갖거나 전체적인 개발 방향을 정해준다. 주로 해당 오픈소스 기술을 처음 만든 창시자가 BDFL을 맡는다. 대표적인 곳이 리눅스 커뮤니티다. 리눅스 커뮤니티에선 수많은 개발자가 소스코드 개선에 참여한다. 하지만 최종적인 수정 권한은 리눅스를 처음 만든 리누스 토발즈가 결정한다. 프로그래밍 언어 파이썬도 귀도 반 로섬이 BDFL 역할을 맡고 전체적인 커뮤니티를 관리한다.

여기서 궁금해진다. 만약 BDFL이 오픈소스 개발에 대한 관심이 없어지거나 BDFL 역할을 안 하겠다고 나서면 어떻게 될까? 대개는 남아 있는 핵심 개발자들이 다시 모여 기술을 관리하거나 아니면 해당 오픈소스는 사라진다. 다른 커뮤니티나 기업에서 해당 오픈소스 기술을 가져다 새롭게 변형시키기도 한다. 그런데 노드JS 오픈소스 커뮤니티는 조금 독특하다. BDFL가 계속 다른 사람으로 대체됐다. 새로운 BDFL을 지명하는 결정권은 조이엔트에서 주로 가져갔다.

Nodejs_commnunity_00_THUM

라이언 달은 노드JS를 최초로 만든 개발자로 노드JS 커뮤니티의 1대 BDFL였다. 다음 리더는 아이작 슐레터, 세 번째 리더는 TJ 폰테인이 맡았다. 세 사람 모두 당시 조이엔트 소속 개발자였다. 조이엔트는 클라우드, 컨테이너 서비스 등도 함께 개발하고 있지만, 위  3명 모두 조이엔트에 근무하면서 노드JS만 주로 개발하면서 지냈다. 아이작 슐레터 체제일 때까지는 별 문제 없었다. 노드JS 커뮤니티 내부의 분쟁은 2014년 이후에 발생했다.

아이작 슐레터는 2013년 3월11일 버전 0.10.0을 출시했다. 0.12버전을 출시하고 이후 1.0버전을 출시하겠다는 계획도 공개한 상태였다. 0.11은 같은 해 3월 바로 출시됐지만 0.11은 불안정 버전이기 때문에 사실상 0.10의 다음 버전은 0.12버전이였다.

Nodejs_commnunity_02

▲노드JS 관려한 새로운 버전 발표 수(사진 : 미킬 로저스 유튜브 동영상)

TJ 폰테인은 2014년 초 커뮤니티 리더로 임명됐다. 0.12버전이 나온 시기는 2015년 2월이었다. 1년이 넘는 시간 동안 대부분 작은 업데이트 정도만 있었고, 핵심 기술에 대한 개발은 더뎠다. 조이엔트는 왜 이렇게 개발이 늦어지는지에 대해서 따로 입장을 밝히지 않았다.

개발이 더뎌지자, 2014년 하반기 노드JS 주요 개발자를 중심으로 ‘노드포워드’라는 기술위원회가 결성됐다. 자바스크립트의 생태계를 개선하기 위한 커뮤니티였다. 여기에는 2대 리더였던 아이작 슐레터도 포함했다. 노드 포워드 주요 멤버였던 미킬 로저스는 강연회에서 “당시 왜 이렇게 새로운 릴리즈가 없는지 알아내는 데 고민하기보다는 노드JS 생태계를 잘 구축하고 싶었다”라고 설명했다. 이를 위해 ‘노드스쿨’, ‘노드콘원샷’ 같은 노드 개발자들이 모일 수 있는 방법에 대해서 많이 논의했다. 노드포워드는 회의 과정을 바로 행아웃으로 녹화해 공개하고, SNS으로 내부 소식을 올리면서 다른 개발자와의 소통을 늘렸다.
Nodejs_commnunity_Timeline_05_NodeFoward
노드포워드에 대한 영향 때문일까. 조이엔트는 ‘오픈 거버넌스 모델‘을 지향하는 ‘자문 위원회(Advisory Board)’를 구성하겠다고 발표했다. 오픈 거버넌스 모델은 BDFL 운영방침과는 반대로, 관심이 있는 사람은 누구나 최종 기술에 대한 기여를 할 수 있는 모델이다.

2014년 12월 노드포워드는 독자적인 기술인 io.js를 발표했다. io.js는 노드JS 기술을 기반으로 만든 기술이다. 노드JS는 오픈소스 기술이어서 복사하는 것이 가능했기 때문이다. io.js는 오픈 거버넌스 모델을 추구했다. 미킬 로저스는 <인포월드>와의 인터뷰에서 “2014년 7월부터 조이엔트와 함께 문제를 해결할 방안을 얘기했다”라며 “노드 포워드 멤버 페도 인더트니는 기다리다 지쳐 io.js를 공개했다”라고 설명했다. 또한 그는 “회사가 지정한 특정 한 사람만 결정권을 갖는 것을 원하지 않는다”라며 “더 많은 기여자들이 권한을 가지고 합의점을 찾길 원한다”라고 <와이어드>를 통해 설명했다.

조이엔트는 2015년 2월 노드JS 재단을 출범시켰다. 조이엔트는 블로그를 통해 “리눅스재단과 같은 방식으로 노드JS재단을 운영하겠다”라며 “중립적인 재단으로 노드JS 기술을 발전시키겠다”라고 설명했다. 재단 출범소식을 전하기 4일 전에 노드JS의 0.12버전 기술도 출시했다. io.js팀은 미디엄을 통해 “일주일 전, 스콧 해몬드 조이엔트 CEO가 노드JS 프로젝트로 합류하자고 제안했다”라며 “여전히 조이엔트와 협의하고 있으며, 향후 자세한 운영 지침을 보고 노드JS재단과 통합할지 결정하겠다”라고 발표했다.

노드JS의 3대 리더인 TJ 폰테인은 5월9일 “현재와 같은 수준으로 노드JS 커뮤니티의 핵심 개발자 역할을 맡지 않는다”라고 발표했다. 동시에 조이엔트도 함께 그만뒀다. TJ 폰테인이 나가면서 노드JS는 보다 오픈 거버넌스 형태로 운영하기 좀 더 쉬워질 것으로 보인다.

5월13일 io.js팀은 공식적으로 노드JS 재단에 합류하겠다고 설명했다. 미키엘 로저스는 “다음 버전에서는 io.js라는 용어를 따로 두지 않고 노드JS 기술에 통합해 발표하겠다”라고 밝혔다고 <벤처비트>는 5월13일 보도했다.

Nodejs_commnunity_04

▲노드JS 핵심 기여자인 미킬 로저스 트위터 내용

노드 커뮤니티에 대한 관심이 쏠리고 있지만 그만큼 노드JS 기술에 대한 관심도 늘어나고 있다. 노드JS는 비동기 이벤트 기반 아키텍처와 V8 자바스크립트 엔진을 이용해 서버의 많은 요청을 빠르게 처리할 수 있는 장점이 있다. 특히 자바스크립트 언어에 익숙한 프론트엔드 개발자들에게 노드JS를 많이 사용하고 있다. 프로엔트엔드단과 서버단의 기술을 같은 언어로 개발할 수 있기 때문이다. 하지만 노드JS는 CPU를 많이 사용하는 작업에서는 적합하지 않고, 운영도 쉽지 않다는 평가도 있다. 노드JS  버전이 아직 0점대에 머물러 있어 안정성을 보장하기 힘들다는 목소리도 있다. 그럼에도 불구하고 스택오버플로우가 2015년 개발자 사용자를 조사한 결과에 따르면 “노드JS는 폭발적인 성장을 하는 플랫폼”으로 꼽히기도 했다. 아래는 노드JS에 대한 장·단점을 표현한 표이다.

Nodejs_commnunity_03

▲노드JS 장단점 (사진:보이드캔버스)

노드JS 커뮤니티 역사

2009.11.8

조이엔트 소속 개발자 라이언 달이 노드JS 발표

2009년 초, 라이언 달을 주축으로 조이엔트 소속 개발자들이 노드JS 개발했다. 라이언 달은 수학을 전공하다가 이후 프로그래머가 됐다. 노드JS를 만들기 전에는 주로 C 기반으로 작업을 많이 했지만 비동기 이벤트 기반 기술을 찾다가 자바스크립트로 플랫폼으로 만들었다.

READ MORE
2012.1.30

2대 리더 아이작 슐레터 임명

라이언 달이 자신의 역할을 아이작 슐레터에게 넘기겠다고 발표했다. 아이작 슐레터는 NPM(Node Packaged Modules, 노드JS 보다 쉽고 효율적으로 관리해주는 도구)을 개발한 인물이다. 라이언 달은 최근 V8 엔진을 최적화하는 오픈소스 개발에 활발히 참여하고 있다.

READ MORE
2013.3.11

노드JS 0.10 버전 출시

노드JS 0.10버전이 출시됐다. 아이작 슐레터는 다음 버전은 0.12버전이며 그 이후 1.0가 공개될 것이라고 설명했다.

READ MORE
2013.1.15

3대 리더 TJ 폰테인 임명

아이작 슐레터가 자신의 자리를 TJ 폰테인에게 넘기겠다고 발표했다. 아이작 슐레터는 조이엔트를 나가면서 NPM 기술 개발에 더 집중할 것이라고 설명했다. 아이작 슐레터는 현재 NPM에서 최고경영자를 맡고 있다.

READ MORE
2014.7.11

노드포워드 출범

노드JS를 개발했던 핵심 개발자들이 노드포워드라는 커뮤니티를 만들었다. 이들은 노드JS 개발 생태계를 좀 더 협업할 수 있는 구조로 만드는 것을 목표로 삼았다.

READ MORE
2014.10.23

조이엔트 '노드 자문위원회 구성'

조이엔트는 기존 BDFL 구조에서 벗어나 좀 더 많은 사람들이 커뮤니티에 참여할 수 있도록 오픈 거버넌스 모델을 지향하겠다고 발표했다. 이를 위해 노드 자문위원회를 구성했다.

READ MORE
2014.11.26

io.js 공개

노드포워드 소속 개발자들이 만든 ‘io.js’가 공개됐다. io.js는 기존 노드JS 기술을 기반으로 추가 기능을 넣어 만들어졌다.

READ MORE
2015.2.6

노드JS 0.12 버전 출시

오랫동안 기다렸던 노드JS 버전 0.12이 공개됐다.

READ MORE
2015.2.10

노드JS재단 설립

조이엔트는 노드JS 커뮤니티를 보다 중립적으로 운영할 수 있는 재단을 설립하겠다고 발표했다. 또한 BDFL모델보다 모두가 결정권을 가질 수 있는 오픈 거버넌스 모델을 따르겠다고 설명했다.

READ MORE
2015.5.8

TJ 폰테인, 3대 리더 자리에서 물러남

TJ 폰테인이 더 이상 노드 커뮤니티를 이끌지 않겠다고 발표했다. 더불어 조이엔트도 함께 그만 뒀다.

READ MORE
2015.5.13

io.js, 노드JS재단에 합류

io.js팀은 회의를 통해 노드JS재단에 합류하기로 결정했다. 회의 과정은 동영상으로 공개됐다.

READ MORE

※ 참고 자료
노드JS 장단점 http://voidcanvas.com/describing-node-js/
노드JS 현재와 미래 http://www.slideshare.net/rockdoli/20-nodejs

네티즌의견(총 5개)