모질라가 오는 8월 2일 파이어폭스48 버전을 공개한다. 'C++'을 대체하기 위해 탄생한 프로그래밍 언어 '러스트(Rust)'로 만들어진 구성요소를 포함한 브라우저가 본격 확산될 전망이다.
미국 지디넷은 13일(현지시각) 모질라가 C++ 코드를 더 안전한 대안으로 바꾸려는 행보를 시작했다고 보도했다. [☞참조링크: Mozilla begins process of letting Firefox rust]
보도에 따르면 모질라는 다음달 2일 공개될 윈도 및 32비트 리눅스 PC용 파이어폭스48 버전은 러스트 언어로 개발된 'mp4 트랙 메타데이터 파서(Parser)'를 탑재키로 했다. 러스트 언어 기반 구성요소가 파이어폭스48에 처음 탑재된 건 아니다. 앞서 맥OS와 64비트 리눅스 PC용으로 배포된 파이어폭스45 버전에 같은 변화가 반영돼 있었다.
모질라 직원 그레이든 호아레의 개인 프로젝트로 2006년 시작된 러스트는 멀티코어 하드웨어 환경의 동시성, 병렬성을 지원하고 메모리 안전성을 보장하는 정적 타입 시스템을 제공한다는 목적에서 2009년부터 모질라리서치 프로젝트로 개발되고 있다.
러스트는 신뢰성과 효율성을 갖춘 시스템을 개발할 수 있는, C와 C++ 역할을 대체할 시스템 프로그래밍 언어를 목표로 내걸고 지난해 5월 1.0 버전으로 공개됐다. [☞관련기사: C++ 대체 프로그래밍 언어, 러스트1.0 공개]
모질라는 이런 러스트를 활용해 오픈소스 브라우저 파이어폭스의 보안 취약점을 줄이고 성능 효율을 높이려는 중이다.
데이브 허먼 모질라 리서치 수석연구원 겸 전략 담당 이사는 "(메타데이터 파서가 다루는) 미디어 포맷은 디코더를 속여 웹브라우저의 메모리 관리 버그를 악용한 보안취약점을 노출시키는 데 쓰이곤 했다"며 "이는 러스트같이 메모리 안전성을 갖춘 프로그래밍 언어가 잠재적으로 위험한 미디어 콘텐츠로부터 모질라의 툴체스트를 보호하게 만들었다"고 설명했다.
그는 이어 "우리의 예비 측정치는 러스트 기반 구성요소가 대체하게 될 기존 C++ 기반 구성요소에 견줄 때 이상적인 성능을 나타낸다"고 덧붙였다. 새로운 언어로 작성한 미디어포맷 메타데이터 파서를 사용하더라도 파이어폭스 브라우저에 성능 손실이 거의 없을 것이란 뜻이다.
관련기사
- 파이어폭스 렌더링 엔진 세대교체 예고2016.07.14
- C++ 대체 프로그래밍 언어, 러스트1.0 공개2016.07.14
- 모질라, C++ 대체 러스트1.0 공개 임박2016.07.14
- 모질라 새 CTO "웹의 성공을 모바일로"2016.07.14
파이어폭스의 다른 구성요소들도 러스트 기반으로 바뀔 전망이다. 향후 러스트 기반 렌더링 엔진 '서보(Servo)'가 파이어폭스의 기존 엔진 '게코(Gecko)'를 대신할 예정이다. [☞관련기사: 파이어폭스 렌더링 엔진 세대교체 예고]
또 모질라는 파이어폭스의 URL파서, 웹M 디먹서(demuxer), 게코 엔진 내부에 서보의 CSS 코드를 일부 집어넣는 작업 등으로 러스트의 용도를 확대하는 옥시데이션(Oxidation) 프로젝트를 추진 중이다.