자바스크립트 생태계 통합될까

[임민철의 Webology] 리눅스재단 'JS재단' 출범

컴퓨팅입력 :2016/10/19 14:57    수정: 2016/10/20 10:27

몇년새 자바스크립트(Javascript)가 웹 애플리케이션 개발에 폭넓게 활용되면서 이 프로그래밍 언어의 기술 생태계 파편화에 대한 우려의 목소리도 많아졌습니다. 자바스크립트 기반 라이브러리나 웹 프레임워크가 워낙 다양하고 대부분 오픈소스 프로젝트이기에 필연적이라는 시각, 즉 문제가 아니란 관점도 있지만요. 어쨌든 파편화 현상 자체는 대체로 실재한다고 인정받는 분위깁니다.

■파편화는 필연?

짐작컨대 파편화는 2가지 현상을 뭉뚱그려 지칭하는 것 같습니다. 하나는 같은 이름을 쓰는 기술에 관련된 코드가 개발 및 구동 환경 측면에서 통일성이 없거나 약한 것입니다. 다른 하나는 기술을 다루는 개발자 커뮤니티의 경험과 지식이 모이고 쌓이기보단 산산이 흩어져서 참고하기 어려운 것이고요. 전자는 업계에 공인된 사실이고, 후자는 흔히 접할 수 있는 실무자의 고충입니다.

아스키 코드.

파편화를 논하는 게 이상해 보일지도 모르겠습니다. 자바스크립트라는 언어 자체는 일련의 국제 표준(ECMAscript)에 기반하니까요. 하지만 어떤 프로그래밍 언어가 잘 정리된 표준에 기반해 만들어졌다는 사실과, 그 언어를 사용해 프로그래밍을 하는 환경은 전혀 별개 사안입니다. 개발 현장에서 자바스크립트는 실제로 하나의 언어를 말한다고 보기 어려울 때가 많습니다. 이유가 있습니다.

[☞관련기사: 차세대 자바스크립트 표준 'ECMAscript 2016' 공개]

일단 사용자들이 쓰는 각 브라우저 개발사가 저마다의 자바스크립트 엔진을 구현하고 있죠. 브라우저 종류와 버전에 따라 같은 코드가 다른 결과를 내는 게 현실이에요. 또 개발언어의 형태를 변형하거나 기능을 확장한 (슈퍼셋) 언어, 또는 기존 버전을 보완하기 위한 수많은 라이브러리가 있고요. 활용 범위에 비해 그에 내장된 함수같은 게 부족하다는 지적에 시달려 온만큼 그걸 보완할 수단이 필요했거든요.

[☞관련기사: 네이버가 본 웹표준 생태계 '낙관할 수만은 없다']

[☞관련기사: "웹 파편화는 필연…표준 기다리지 마라"]

한 마디로, 서비스 운영 환경이나 개발 의도에 따라 자바스크립트 코드가 돌아가는 사용자 환경도, 개발 도구와 환경도 제각각이라는 겁니다. 그래서 자바스크립트라는 공통분모를 제외하면 실용적인 단일 접점을 찾기 어려울만큼 거대하고 파편화된 커뮤니티가 형성됐고요. 자바스크립트 전체 생태계를 관통하는 뚜렷한 구심점 없이 다양한 현장의 개별적인 문제 해결 수단이 자생한 결과라 볼 수 있겠네요.

오픈시그널의 안드로이드 기기 파편화 현황 인포그래픽. 구글이 만든 안드로이드도 직접 통제하지 않는 오픈소스 커뮤니티 버전의 경우 사용자와 개발자에게 파편화 문제가 있다. 이미지는 기사와 무관함.

■리눅스재단, JS재단 출범 "자바스크립트 오픈소스 키우겠다"

누군가 나서서 자바스크립트 생태계의 파편화를 막거나, 적어도 완화할 수 있을까요? 어쩌면 리눅스재단이 이런 역할을 할 수 있을지도 모르겠습니다. 리눅스재단이 지난 17일부터 영국 런던에서 열리고 있는 유럽 오픈소스컨퍼런스(OSCON Europe)에서, 자바스크립트 기반 웹 애플리케이션과 서버 측 애플리케이션 개발 기술에 관련된 오픈소스 프로젝트를 육성하겠다는 구상을 제시했거든요.

공식 발표에 따르면 리눅스재단은 컨퍼런스 현장에서 'JS재단(JS Foundation)'이라는 이름의 비영리조직을 통해 여러 자바스크립트 관련 오픈소스 프로젝트 후원에 협력하겠다고 선언했습니다. 주요 웹 기술 업계에서 널리 활용되고 있거나 전도유망하다고 판단한 프로젝트를, 리눅스재단의 우산 아래 적극 밀어주겠다고 나선 모양새죠.

[☞참조링크: The Linux Foundation Unites Javascript Community for Open Web Development]

JS재단 발족과 함께 공개된 첫 후원 대상은 23가지입니다. 저마다 자바스크립트 개발 영역에서 이미 인지도를 얻은 오픈소스 프로젝트입니다. JS재단 측은 주요 후원 프로젝트로 테스팅 프레임워크 '앱피움(Appium)'과 '모카(Mocha)', 웹앱 모듈의 코드와 파일간 의존성을 정리해주는 패키징 도구 '웹팩(Webpack)', 경량 자바스크립트엔진 '제리스크립트(Jerryscript)'와 노드JS기반 런타임 '노드레드(Node-RED)'처럼 사물인터넷(IoT) 기기 환경에 대응하는 기술, 가상화폐를 위한 결제프로토콜 모듈 '인터레저JS(Interledger.js)', 세계 시차에 대응하기 위한 날짜 및 시간 처리 라이브러리 '모멘트JS(Moment.js)' 등 7가지를 꼽았습니다.

[☞관련기사: 삼성 "IoT 프로그래밍, 자바스크립트로 OK"]

[☞참조링크: Our Projects

이어지는 설명에 따르면 JS재단은 '기술자문위원회(TAC)'와 '관리이사회(Governing Board)'를 주축으로 삼는 개방형 기술거버넌스 모델로 운영됩니다. TAC는 프로젝트에 기술적인 조언을 주고 자바스크립트 생태계에서 해당 기술이 누릴 수 있는 기회에 관한 정보를 이사회에 제공합니다. 이사회 구성원은 사업적 의사결정과 마케팅을 가이드하고, 기술커뮤니티와 회원사간의 의견을 조율하고요.

프로그래밍 소스코드.

■JS재단, 파편화 해결 실마리?

리눅스재단엔 이미 여러 오픈소스 프로젝트의 후견인이자 구심점 역할을 해 온 이력이 있는 만큼, 파편화된 자바스크립트 관련 기술 커뮤니티의 흐름을 자연스럽게 모아줄 수 있겠다는 기대를 해볼만합니다. 표현상의 차이는 있지만 영미권 외신 보도에서도 비슷한 전망을 내놓는 분위기입니다. 영국 IT미디어 더레지스터는 이 소식을 다음과 같이 전했습니다.

"자바스크립트 프로젝트들의 위용을 키워줄 프로젝트가 리눅스재단에 의해 발족했다. JS재단이 자바스크립트 애플리케이션과 서버측 프로젝트를 육성한다. 광범위한 자바스크립트 기술 채택과 개발을 주도하고 협력을 촉진하기 위한 중심에 두려는 의도다. JS재단은 개발자와 툴 제작자가 빠른 변화 추세를 받아들이도록 도울 것이다."

[☞참조링크: Linux Foundation whacks open Javascript projects umbrella]

미국 지디넷은 '리눅스재단이 오픈소스 자바스크립트 커뮤니티를 통일하기 위해 애쓰고 있다'는 제목의 보도를 통해, JS재단이 생태계의 파편화 문제에 맞설 것이란 관측에 한층 무게를 실었네요. 일부를 인용하면 다음과 같습니다.

"(JS재단은) 고품질 표준과 장기적인 지속가능성을 장려할 모범사례와 정책을 촉진함으로써 자바스크립트 애플리케이션 및 서버측 프로젝트를 돕기로 했다. …(중략)… 자바스크립트 개발자는 발전하나 뒤죽박죽인 오픈소스 기술 포트폴리오에 의존해 핵심 애플리케이션을 만들고, 테스트하고, 배포한다. 재단 목표는 핵심 자바스크립트 솔루션과 관련 기술의 광범위한 채택과 개발 진척을 주도하는 것이다."

[☞참조링크: The Linux Foundation strives to unite open-source Javascript community]

공식 발표 내용과 외신들의 이런 관측으로 짐작해 보면, JS재단을 통해 선별된 오픈소스 프로젝트는 상대적으로 그렇지 않은 프로젝트나 기술에 비해 커뮤니티의 관심과 지원을 이끌어내는 데 유리할 것 같습니다. 다종다양한 오픈소스 프로젝트로 어수선한 자바스크립트 생태계가 공신력을 갖춘 후원자의 선별을 통해 정리되는 결과를 맞을 지도 모릅니다.

제이쿼리 컨퍼런스 현장. 2.0 버전 업그레이드 설명중 향후 추가될 기능을 시연하는 모습.

■다양성 위협 여지에 주목

경쟁관계에 있는 자바스크립트 기반 오픈소스 프로젝트 중 하나가 JS재단의 후원 대상이 될 경우 빠르게 사용자층을 늘리고 참여 개발자 생태계를 확대할 수 있습니다. 시장관점에선 독점 사업자간 경쟁으로 묻히는 기술에 비하면, 소외된 오픈소스 기술을 쓰더라도 사용자 부담이 적겠죠. 사용자 입장에선 장기적으로 기술 난립의 혼란을 줄일 수도 있고요. 하지만 다른 성숙된 오픈소스가 소외될 가능성도 있습니다.

JS재단 프로젝트에 포함된 웹앱 프레임워크 '제이쿼리(jQuery)'를 예로 들 수 있겠네요. 센차(Sencha)나 구글의 앵귤러JS(AngularJS)가 경쟁자입니다. 이밖에도 비슷한 도구가 차고 넘치게 많습니다. 구글은 덩치가 크니까 앵귤러JS를 알아서 잘 키운다 하더라도, 센차 프로젝트는 동명의 '스타트업'이 밀고 있습니다. 왜 하필 제이쿼리를 후원할까요? JS재단의 전신이 '제이쿼리재단(jQuery Foundation)'이라서죠.

지난해 9월 제이쿼리재단과 도조재단(Dojo Foundation)이 합병했고, 그 조직이 활동 영역을 키우면서 이름을 바꿔 JS재단이 됐습니다. 합병된 도조재단도 '도조툴킷(Dojo Toolkit)'이라는 자바스크립트 기반 크로스플랫폼 라이브러리를 오픈소스 프로젝트로 후원하는 비영리 조직이었는데요. 이 도조툴킷 프로젝트 역시 JS재단 후원 프로젝트에 포함됐습니다. 사실 이제와서 포함 안 됐다면, 그게 더 이상한 거죠.

당연하면, 괜찮은 걸까요? 아니죠. 이제 JS재단의 회원사 면면을 보죠. 제리스크립트를 만든 삼성전자와 노드레드를 만든 IBM이 최상위(플래티넘) 등급 회원사로 이름을 올리고 있지만, 아직 웹기술 생태계에서 이들의 영향력이 절대적이진 않아 보입니다. 나머지 실버등급 7개 회원사는 체급이 작고요. 불행인지 다행인지, 자체 기술 생태계 만들기에 열심인 구글, 마이크로소프트(MS), 페이스북 등은 일단 없네요.

JS재단 플래티넘 후원사 명단에 IBM과 삼성이 이름을 올렸다.

[☞관련기사: 자바·C# 개발자 위한 MS판 자바스크립트]

[☞관련기사: 구글, 차세대 웹앱 기술에 MS 웹개발 언어 수용]

관련기사

JS재단은 여느 오픈소스 후원 재단처럼 비영리조직을 표방했습니다. 재정을 충당하는 회원사뿐아니라 다른 웹기술 표준화 조직과도 협력한답니다. 글로벌 웹표준화기구 '월드와이드웹컨소시엄(W3C)'과, 브라우저 개발업체간의 웹기술표준화 협력 커뮤니티인 '웹 하이퍼텍스트 애플리케이션 기술 워킹그룹(WHATWG)'과, 서버측 자바스크립트 프레임워크 기술 커뮤니티의 주축인 '노드JS재단' 등과도 일한다 하고요.

앞으로 W3C와 WHATWG와 노드JS재단을 비롯한 수많은 웹기술 관련 단체와 소속 회원사와 거기서 일하는 개발자와 외부 개발자 커뮤니티를 아울러 많은 눈들이 JS재단을 지켜보겠죠. 삼성전자나 IBM을 비롯한 회원사들에겐 저마다 JS재단을 지렛대 삼아 사업적 이익에 맞물리는 방향으로 자바스크립트 생태계를 이끌려는 바람이 있을텐데, 그 바람이 생태계 전체에 도움이 된다는 걸 입증할 의무도 있으니까요.