구글의 심장부에서 ‘Dawn’ 프로젝트가 첫 숨을 내쉰 바로 그 시각. 마운틴뷰에서 멀지 않은 곳, 모질라(Mozilla)의 오피스에서도 비슷한 고민의 불꽃이 타오르고 있었다. 파이어폭스(Firefox)라는, 웹의 개방성을 지키는 또 하나의 거대한 축을 담당하는 이들이었다.
W3C의 논의를 예리하게 지켜보던 모질라의 그래픽스 팀 리드, 알렉스는 동료들과 함께 회의실에 모여 있었다. 그들의 화이트보드에도 구글과 마찬가지로 ‘Vulkan, Metal, DirectX 12’라는 세 개의 이름이 적혀 있었다.
“구글의 NXT 제안 방향이 옳습니다. 특정 벤더에 종속되지 않는, 보편적인 추상화 계층. 그것이 웹 표준이 가야 할 길이라는 데에는 이견이 없습니다.”
알렉스의 말에 팀원 모두가 고개를 끄덕였다. 애플의 WebMetal이 제시하는 편리함보다는, 더 어렵더라도 모두를 위한 길을 가야 한다는 것이 모질라의 오랜 신념이었다.
“하지만 문제는 ‘어떻게’입니다. 구글은 분명 C++로 구현체를 만들고 있습니다. 크로미움의 기반이 C++이니 당연한 선택이겠죠. 하지만 우리도 그 길을 따라야 할까요?”
그의 질문에 회의실 안에는 미묘한 긴장감이 흘렀다. C++. 그것은 의심할 여지 없이 가장 강력하고 성능이 뛰어난 언어 중 하나였다. 그러나 브라우저 개발자들에게 C++는 양날의 검과 같았다. 특히 보안 문제에 있어서는 더욱 그랬다.
한 엔지니어가 입을 열었다.
“C++의 메모리 관리 문제는 우리의 오랜 숙제입니다. nullptr
참조, 버퍼 오버플로우… 수십 년간 브라우저 보안 취약점의 상당수가 바로 이 메모리 관련 버그에서 비롯되었습니다. 그래픽스 엔진처럼 복잡하고 거대한 C++ 코드 베이스에서 메모리 관련 버그를 완벽하게 없애는 것은 거의 불가능에 가깝습니다.”
그의 말은 사실이었다. 브라우저의 그래픽스 엔진에 뚫린 아주 작은 메모리 관련 구멍 하나가, 시스템 전체를 장악하는 통로가 될 수 있었다. 웹의 안전을 최우선으로 생각하는 모질라에게 있어, C++로 새로운 그래픽스 엔진을 만드는 것은 이미 예견된 위험을 안고 출발하는 것과 같았다.
바로 그때, 알렉스가 조용히 새로운 이름을 꺼내 들었다.
“그래서 우리는 Rust를 제안합니다.”
Rust.
당시만 해도 C++의 아성에 비하면 신생아와 같은 언어였다. 하지만 모질라 내부에서는 이미 이 언어의 잠재력에 주목하고 있었다. 모질라가 직접 개발을 후원한 언어이기도 했다.
알렉스가 말을 이었다.
“Rust의 가장 위대한 철학은 ‘안전성’입니다. 특히 ‘소유권(Ownership)’이라는 개념을 통해, 컴파일 시점에 잠재적인 메모리 오류를 거의 원천적으로 차단합니다. 컴파일러 자체가 잠재적 위험을 가진 코드는 아예 통과시켜주지 않죠.”
이것은 혁명적인 발상이었다. 개발자의 실수를 탓하거나 런타임에 오류를 잡는 대신, 코드 작성 단계에서부터 안전을 강제하는 것.
“C++의 성능을 유지하면서도, 메모리 안전성을 보장할 수 있다면. 그것이야말로 브라우저의 차세대 그래픽스 엔진이 가져야 할 이상적인 모습이 아닐까요?”
그의 제안은 대담했다. 아직 생태계가 완벽하지 않은 새로운 언어로, 브라우저의 가장 복잡한 구성 요소 중 하나를 만든다는 것은 엄청난 도전이었다. 하지만 그 도전의 끝에 있는 ‘보안’이라는 보상은 무엇보다 값졌다.
결정은 오래 걸리지 않았다. 모질라는 그들의 철학에 따라 더 어렵지만 더 안전한 길을 가기로 했다. 그들은 구글의 ‘Dawn’에 대응하는, Rust 기반의 새로운 WebGPU 구현 프로젝트에 착수했다.
프로젝트의 이름은 간결하고 명확했다.
‘wgpu’
‘wgpu’의 시작은 단순한 기술 선택이 아니었다. 그것은 웹의 미래를 만드는 방식에 대한 또 다른 제안이었다.
구글의 Dawn과 모질라의 wgpu.
C++와 Rust.
두 개의 거대 브라우저 벤더가, 같은 목표를 향해 각기 다른 도구를 들고 출발한 것이다.
세상은 이를 경쟁으로 보았지만, 드미트리나 알렉스와 같은 이들은 알고 있었다. 이것은 경쟁이 아닌, ‘교차 검증’이라는 것을. 두 개의 독립적인 팀이 각자의 방식으로 표준을 구현하면서 겪는 문제점과 해결책들은, 결국 최종적인 WebGPU 표준 사양을 더욱 견고하고 완벽하게 만들어 줄 가장 훌륭한 자산이 될 것이었다.
웹 그래픽의 새로운 여명은, 이제 두 개의 다른 언덕 위에서 동시에 밝아오기 시작했다.