첫 번째 충돌, 두 개의 청사진
제3화
발행일: 2025년 08월 04일
2017년 2월. 시간과 공간을 초월한 회의실, W3C의 원격 컨퍼런스 콜에 웹의 미래를 짊어진 거인들이 모였다. 화면 너머에는 애플, 구글, 모질라, 마이크로소프트의 로고가 선명했다. 각 회사를 대표하는 엔지니어들의 이름표가 나열된 모습은, 마치 4대 강국이 마주 앉은 정상회담처럼 팽팽한 긴장감을 자아냈다.
드미트리 말리쇼프는 마이크에 바짝 다가앉았다. ‘GPU for the Web’ 커뮤니티 그룹의 첫 번째 공식 미팅. 지난 몇 달간 메일링 리스트를 뜨겁게 달궜던 논의들이 마침내 하나의 테이블 위로 올라오는 순간이었다. 이것은 단순한 기술 회의가 아니었다. 앞으로 10년, 혹은 그 이상 웹 생태계의 판도를 결정지을 중대한 분기점이었다.
회의의 사회자가 간략한 모두 발언을 마치자, 가장 먼저 포문을 연 것은 애플이었다.
“저희는 구체적인 제안을 가지고 이 자리에 왔습니다.”
애플의 대표 엔지니어, 딘 잭슨(Dean Jackson)의 차분한 목소리가 스피커를 통해 흘러나왔다. 그의 뒤로 공유된 화면에는 잘 정돈된 API 설계 문서가 나타났다. 그가 제시한 프로토타입의 이름은 ‘WebMetal’. 이름에서부터 그들의 의도가 명확히 드러났다.
“저희의 네이티브 API인 Metal은 이미 수많은 개발자를 통해 그 우수성과 효율성을 증명했습니다. 간결하고, 객체 지향적이며, 현대적인 GPU 아키텍처에 최적화되어 있죠. 저희는 이 Metal의 핵심 철학을 웹으로 가져오는 것이 가장 빠르고 안정적인 길이라고 믿습니다.”
드미트리는 화면에 떠 있는 WebMetal의 API 구조를 빠르게 훑었다. 확실히 잘 만들어진 설계였다. 직관적이고 우아했다. WebGL의 복잡한 상태 관리와 비교하면 선녀와도 같았다. 하지만 그의 마음속에는 경고등이 켜졌다.
‘위험하다.’
WebMetal은 너무나도 ‘애플스러웠다’. 그 구조는 Metal API와 거의 일대일로 대응되었다. 애플의 하드웨어와 운영체제 위에서는 최고의 성능을 낼 것이 분명했다. 하지만 다른 플랫폼은? 안드로이드와 윈도우에서 지배적인 Vulkan이나 DirectX 12 위에서 이 구조를 효율적으로 구현하는 것은 전혀 다른 문제였다. 자칫 잘못하면 웹 표준이 특정 기업의 생태계에 종속될 수 있었다.
웹의 위대함은 개방성과 플랫폼 독립성에 있다. 특정 회사나 기술에 얽매이지 않고 어디서나 동작하는 것. 그것이 웹의 근본 철학이었다. WebMetal은 그 철학을 흔들 수 있는 위험한 제안이었다.
아니나 다를까, 모질라의 대표가 즉시 반론을 제기했다.
“훌륭한 제안입니다만, 우려되는 지점이 있습니다. 웹 표준은 특정 네이티브 API의 단순한 복사본이 되어서는 안 됩니다. Vulkan, Metal, DirectX 12 모두를 동등하게 아우를 수 있는, 더 낮은 수준의 추상화가 필요합니다.”
그 말이 끝나자, 드미트리가 마이크를 켰다. 지금이 구글의 입장을 명확히 할 때였다.
“모질라의 의견에 동의합니다. 우리의 목표는 ‘웹을 위한 Metal’이나 ‘웹을 위한 Vulkan’을 만드는 것이 아닙니다. 모든 최신 그래픽스 API의 공통분모를 찾아내어, 그 위에 새로운 웹 표준을 세우는 것이어야 합니다. 그래야만 모든 플랫폼에서 일관된 고성용을 보장할 수 있습니다.”
그의 발언은 회의장에 미묘한 파장을 일으켰다. 논점은 명확해졌다.
‘증명된 하나의 우수함을 따를 것인가, 아니면 모두를 위한 보편성을 추구할 것인가.’
이것은 기술적 우위를 넘어선 철학의 대립이었다.
마이크로소프트의 대표는 한발 물러서서 관망하는 듯했지만, 그의 발언 역시 무게가 실려 있었다. “어떤 표준이 정해지든, 윈도우의 DirectX 12 위에서 효율적으로 구현될 수 있어야 한다는 점을 명심해야 할 겁니다.” 그의 말은 사실상 구글과 모질라의 손을 들어준 셈이었다.
회의는 몇 시간 동안 이어졌다. 격렬한 언쟁은 없었지만, 코드 예시와 설계 원칙을 두고 벌이는 조용한 논쟁 속에는 각자의 물러설 수 없는 입장이 담겨 있었다.
결국, 회의는 뚜렷한 결론 없이 끝났다. 하지만 소득은 있었다. 전선이 명확하게 그어졌다. 한쪽에는 애플의 ‘WebMetal’이라는 구체적인 청사진이, 다른 한쪽에는 구글과 모질라가 주장하는 ‘범용 추상화’라는 원칙이 서 있었다.
원칙만으로는 청사진을 이길 수 없다. 드미트리는 회의가 끝나자마자 팀 동료들을 바라보았다. 그의 눈빛이 말하고 있었다.
“우리도 우리만의 청사진을 보여줘야 해.”
애플의 제안에 ‘아니오’라고 말한 이상, 그들은 더 나은 ‘예’를 제시해야 할 의무가 생겼다. Vulkan과 DirectX 12의 철학을 담으면서도, Metal로의 변환까지 고려한 새로운 프로토타입. 아직 이름조차 없는 그 프로젝트가 이제 막 첫 숨을 틔우려 하고 있었다. 첫 번째 충돌은 끝났다. 이제부터는 보이지 않는 코드 전쟁의 시작이었다.