둘로 나뉜 오픈소스 기술 '노드JS(Node.js)' 생태계가 재결합에 나설 전망이다.
지난 2009년 개발자 라이언 달이 개발한 노드JS는 오픈소스 기반 서버사이드 자바스크립트 프레임워크다. 구글 'V8' 엔진을 활용해 자바스크립트 코드로 서버에서 지연시간이 짧은 애플리케이션을 만들어 돌릴 수 있게 해준다. 달이 몸담고 있는 노드JS 전문업체 '조이엔트(Joyent)'가 5년간 개발을 주도하며 두터운 팬층을 형성했다. 페이팔, 다우존스, 월마트, 링크드인 등이 노드JS를 현업 환경에 적용했다.
잘 나가던 노드JS 생태계는 프로젝트는 리더십과 커뮤니티와의 소통 문제로 지난해말 쪼개졌다. 이것은 노드JS 포크(fork) 프로젝트인 'io.js'의 탄생으로 이어졌다. io.js는 조이엔트 소속이 아닌 외부 인물들이 만드는 기술로 출발했다. (☞관련기사)
지난해 조이엔트는 노드JS 사용업체 개발자가 참여하는 '노드어드바이저리보드'를 꾸렸지만 사용자들이 개선 방향을 기다리는 데 지친 나머지 io.js를 만들었다는 해석이 업계 중론이다.
올초 io.js는 뿌리를 둔 노드JS보다 먼저 첫 정식판(1.0)을 공개했다. 노드JS는 기존의 후속인 0.12 버전 공개를 앞둔 상태였다. 여기 들어갈 기능을 io.js쪽 개발자들이 먼저 담아 내놓은 것이다. 노드JS와의 패키지 호환성을 강조했지만 원조 프로젝트와 거리를 벌린 모양새였다. (☞관련기사)
초기 io.js에 관여한 개발자 맥스 오그던은 기트허브에 관련 정보를 정리하며 IO.js와 노드JS, 두 프로젝트의 관계를 '공존'으로 설명했지만 이미 조이엔트가 주도한 원조 프로젝트의 영향력은 줄어든 셈이었다. 노드JS를 이미 활용 중이거나 도입을 고려하는 기업 입장에서도 좋은 신호는 아니었다.
조이엔트는 사태 수습에 나섰다. 지난달 노드JS를 관리할 오픈소스 재단 설립 계획을 내놨다. 조이엔트, IBM, 페이팔, 마이크로소프트, 피델리티, 리눅스재단이 창립멤버로 이름을 올렸다. 출범 시기는 2~3개월 이내로 예고됐다. (☞관련기사)
이에 io.js 프로젝트 쪽에서도 대응에 나선 듯하다. 과거 노드JS 프로젝트의 핵심 참여자(contributor) 출신으로 현재 io.js 커뮤니티를 주도하는 미켈 로저스는 최근 노드JS와의 재결합 가능성을 강하게 시사하는 내용의 글을 게재했다. (☞링크) 로저스가 소스코드 공유 및 협업사이트 기트허브의 저장소에 지난달 26일께 올린 포스팅은 '화해 제안(Reconciliation Proposal)'이라는 제목을 달고 있다.
로저스는 이 글에서 io.js 커뮤니티 대표로 조이엔트의 노드JS 커뮤니티와의 프로젝트 재결합 의향을 공식화했다. 조이엔트가 노드JS 재단을 출범한 이후 갖추게 될 의사결정체계 등 재결합을 위한 세부 제안을 포함해서다. 앞부분을 한국어로 옮겨 보면 이렇다.
노드JS와 io.js 프로젝트의 병합(merger)과 관련된 의문이 많이 제기되고 있는 것 같다. 양쪽 프로젝트 사람들 모두 자신들의 작업이 허사가 되지 않을지 그리고 우리가 양쪽 프로젝트에서 좋은 요소만 살릴 수 있을 것인지 궁금해한다.
이 내용은 초안이며 커뮤니티에서 들어오는 사항에 맞춰 계속 갱신, 편집될 것이다. 조이엔트나 노드JS 재단에 대한 최후통첩같은 게 아니라 io.js 커뮤니티가 병합을 제안하기 위한 타협점(collaboration point)이다.
이 문서는 병합 이전의 각 프로젝트를 io.js와 노드JS라는 용어로, 향후 병합할 프로젝트를 노드(Node)라는 용어로 지칭한다.
서두에 io.js라는 이름을 여러번 쓰긴 했지만 이 문서는 재단의 미래 프로젝트를 각 프로젝트가 병합된 새로운 유기체로 보며, 노드JS만의 또는 io.js만의 확장으로 여기지 않을 것이다. 병합의 목표는 이런 부분들을 취합하는 것보다 실제로 훨씬 더 훌륭한 프로젝트가 되도록 하는 것이다.
관련기사
- 노드JS 오픈소스 재단 만들어진다2015.03.04
- IO.js, '원조' 노드JS보다 먼저 1.0 버전 공개2015.03.04
- 노드JS, 컨트리뷰터라이선스(CLA) 없앤다2015.03.04
- 한국MS, 22일 노드JS 세미나 개최2015.03.04
IT미디어 리드라이트웹은 지난달 28일 이를 보도하며 조이엔트의 노드 기트허브 저장소에도 이 제안의 사본이 존재하므로, 이 쪽에서 이 새로운 개발 방향에 대해 인지하고 있음을 의심할 여지가 없다고 전했다. (☞링크)
다른 IT미디어 인포월드는 지난달 27일 이를 보도하며 로저스의 제안에 따르면 io.js 에반젤리즘, 로드맵, 스트림, 트레이싱, 빌드 등 각 워킹그룹은 노드JS로 이관될 수 있는데 각 워킹그룹은 그 투표를 보류 중이라며 모든 io.js 지역화 커뮤니티 워킹그룹은 이관여부에 대해 표결할 예정이라고 전했다. (☞링크)