구글의 O3D가 던진 파문은 컸다. 몇몇 동료들은 블라디미르에게 "우리의 실험은 이제 끝난 것 같다"며 노골적인 아쉬움을 표하기도 했다. 이미 시장의 거인이 저렇게 앞서나가고 있는데, 이제 막 걸음마를 뗀 기술로 무엇을 할 수 있겠냐는 패배감이 사무실에 엷게 퍼졌다.
하지만 블라디미르의 생각은 달랐다. 그는 O3D의 화려한 데모 영상과 기술 문서를 다시 한번 꼼꼼히 훑어보았다. 그리고 확신했다. 이것은 경쟁이 아니라, 전혀 다른 길을 걷는 두 철학의 대립이라는 것을.
그는 옆자리에서 걱정스러운 눈빛으로 자신을 바라보는 스튜어트에게 말했다.
“스튜어트, 이건 속도의 문제가 아니야. 방향의 문제지.”
“방향?”
“그래. 구글은 지금 당장 웹 개발자들이 쓸 수 있는 강력한 3D 엔진을 원했어. 가장 빠른 방법은? 기존의 게임 엔진처럼 고수준의 기능을 갖춘 프로그램을 만들어서, 플러그인 형태로 배포하는 거지. 그들은 ‘결과물’에 집중했어.”
블라디미르는 자신의 모니터에 떠 있는, 단 하나의 삼각형을 가리켰다.
“하지만 우리는 달라. 나는 ‘과정’에 집중하고 있어. 웹의 방식 그대로, 웹의 일부로서 3D를 구현하는 것. 플러그인은 웹 생태계에 또 다른 파편화를 가져올 뿐이야.”
그의 머릿속에는 명확한 시나리오가 그려졌다.
만약 O3D가 성공한다면, 다른 브라우저 회사들은 가만히 있을까? 애플은 자신들만의 3D 플러그인을, 마이크로소프트 역시 또 다른 액티브엑스를 내놓을지도 모른다. 결국 웹의 황금률, ‘한 번 작성하면, 어디서든 실행된다(Write once, run anywhere)’는 원칙이 깨지고 마는 것이다. 개발자들은 구글 크롬용 3D 사이트, 애플 사파리용 3D 사이트를 따로 만들어야 하는 끔찍한 시대로 회귀하게 될 터였다.
“그리고 더 중요한 게 있어.”
블라디미르의 목소리에 힘이 실렸다.
“O3D는 ‘닫힌 상자’야. 그 안에서 일어나는 일은 웹페이지의 다른 요소들과 소통할 수 없어. 상자 안의 3D 모델에 CSS로 그림자를 입히거나, HTML 문서의 클릭 이벤트와 직접 연동하는 게 불가능하지. 하지만 우리의 방식은… Canvas 3D는 처음부터 웹의 일부야. HTML, CSS, 자바스크립트와 완벽하게 통합될 수 있어. 이게 진짜 혁신이야.”
그의 설명에 스튜어트의 눈빛이 달라졌다. 그는 비로소 블라디미르가 보고 있는 더 큰 그림을 이해하기 시작했다. 이것은 단기적인 기술 경쟁이 아니었다. 웹의 미래가 어떤 모습이어야 하는가에 대한 근본적인 철학 싸움이었다.
실용주의를 앞세운 거인 구글.
개방성과 표준이라는 원칙을 고수하는 모질라의 한 개발자.
O3D는 눈에 보이는 강력한 라이벌이었다. 하지만 블라디미르가 싸워야 할 진짜 상대는 O3D라는 기술 그 자체가 아니었다. ‘쉽고 빠른 길’을 택하려는 유혹, 그리고 ‘표준’이라는 가치를 지켜내는 지루하고 어려운 과정, 그 자체와의 싸움이었다.
“그럼 우리는 어떻게 해야 하지?”
스튜어트가 물었다.
블라디미르는 결심한 듯 키보드에 손을 올렸다.
“더 이상 우리끼리의 실험으로만 남겨둘 순 없어. 우리가 가는 길이 왜 옳은지 세상에 알려야 해. 이 아이디어를 들고, 기술의 표준을 논하는 거인들의 테이블로 가야만 해.”
그는 자신의 프로토타입을 정리하고, 그가 믿는 철학을 담은 제안서를 작성하기 시작했다. O3D의 등장은 그를 위축시킨 것이 아니라, 오히려 자신의 길에 대한 확신을 주고 더 큰 무대로 나아갈 용기를 불어넣어 준 기폭제가 되었다. 보이지 않는 경쟁의 막이, 마침내 올랐다.