개인정보보호, 소프트웨어 정책
자바스크립트 생태계 통합될까
자바스크립트(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) (기사 상세 보기)