모질라의 폭탄선언은 W3C 커뮤니티를 근본적인 자기성찰로 이끌었다. WebGPU는 어디로 가야 하는가? 혁신과 복잡성, 그리고 구현 가능성 사이의 균형점은 어디인가? 이 질문에 대한 답을 찾기 위해, 드미트리는 이전과는 전혀 다른 종류의 작업을 시작했다.
그는 더 이상 새로운 API를 설계하거나 코드를 짜지 않았다.
대신, 그는 지난 몇 년간 쌓여온 방대한 양의 ‘데이터’를 분석하기 시작했다.
크롬의 원격 측정(Telemetry) 시스템이 수집한, 전 세계 수십억 사용자의 WebGPU 사용 통계. 어떤 기능이 가장 많이 사용되는가? 어떤 API 조합에서 에러가 가장 빈번하게 발생하는가? 어떤 종류의 셰이더가 가장 긴 컴파일 시간을 유발하는가?
그는 마치 고고학자가 유적을 발굴하듯, 데이터의 지층을 파고들었다. 그리고 그 안에서, 그들이 미처 보지 못했던 놀라운 사실들을 발견하기 시작했다.
첫 번째 발견은, WebGPU의 수많은 기능 중, 실제로 널리 사용되는 것은 극히 일부의 핵심적인 기능뿐이라는 사실이었다.
대다수의 개발자들은 기본적인 렌더 파이프라인과 몇 가지 간단한 컴퓨트 셰이더만을 사용하고 있었다. 타임라인 동기화나 다중 큐와 같은, 그들이 수많은 논쟁을 거쳐 추가했던 고급 기능들은, 극소수의 전문가들을 제외하고는 거의 사용되지 않고 있었다.
두 번째 발견은 더욱 충격적이었다.
가장 긴 셰이더 컴파일 시간을 유발하고, 가장 많은 드라이버 버그를 촉발시키는 원인은, WGSL의 가장 복잡하고 난해한 기능들이었다. 특히, 포인터와 유사한 개념을 흉내 내기 위해 도입되었던 몇몇 저수준 메모리 관련 기능들은, 거의 사용되지 않으면서도 컴파일러와 드라이버에 엄청난 부담을 주고 있었다.
데이터는 명확한 이야기를 하고 있었다.
그들이 ‘전문가를 위한 강력함’이라고 믿으며 추가했던 수많은 기능들이, 실제로는 생태계 전체의 복잡성과 불안정성을 높이는 ‘비용’으로 작용하고 있었던 것이다.
드미트리는 이 분석 결과를 가지고, W3C의 차기 로드맵 회의에 참석했다.
그는 더 이상 새로운 기능을 제안하지 않았다.
대신, 그는 ‘덜어내기’를 제안했다.
“여러분, 우리는 지금까지 WebGPU를 ‘무엇이든 할 수 있는’ 스위스 군용 칼처럼 만들려고 노력해왔습니다. 하지만 데이터는 우리에게 다른 말을 하고 있습니다. 대부분의 사람들은 그저 튼튼한 과도 하나만을 필요로 합니다. 우리의 스위스 칼은 너무 무겁고, 복잡하며, 사용법을 배우기 어렵습니다.”
그는 구체적인 데이터를 제시하며, 거의 사용되지 않으면서도 구현 비용만 높은 기능들의 목록을 보여주었다.
“우리는 이 기능들을 과감하게 ‘제거(Remove)’하거나, ‘단순화(Simplify)’해야 합니다. 이것은 후퇴가 아닙니다. 이것은 WebGPU를 더 많은 개발자들이 더 쉽게, 더 안정적으로 사용할 수 있도록 만드는, 가장 중요한 ‘진보’입니다.”
그의 제안은 처음에는 큰 저항에 부딪혔다.
자신이 제안했던 기능이 삭제 목록에 오른 엔지니어들은 강하게 반발했다.
“이 기능을 제거하면, 특정 종류의 고성능 애플리케이션을 만드는 것이 불가능해진다!”
하지만 드미트리는 물러서지 않았다. 그는 감정적인 논쟁 대신, 데이터로 이야기했다.
“그 ‘특정 종류의 애플리케이션’이 전체 생태계의 0.01%도 차지하지 않는다면, 우리는 그 소수를 위해 전체의 복잡성을 감수해야 합니까? 어쩌면 그 기능은 웹 표준이 아니라, 네이티브 환경에서 구현되는 것이 더 적합한 것일지도 모릅니다.”
이 논쟁의 과정에서, 드미트리는 모질라의 알렉스와 다시 한번 손을 잡았다. 알렉스는 드미트리의 데이터 기반 접근법을 열렬히 지지했다. 두 사람은 이제, 한때 갈라설 뻔했던 동지에서, WebGPU의 군살을 빼고 본질에 집중하려는 개혁의 선봉장이 되었다.
긴 논쟁 끝에, 커뮤니티는 마침내 ‘WebGPU Core 1.0’이라는 새로운 개념에 합의했다.
이것은 기존의 WebGPU 1.0 사양에서, 복잡하고 사용 빈도가 낮은 기능들을 과감하게 덜어낸, 더 작고, 더 단순하며, 더 구현하기 쉬운 핵심 사양의 집합이었다.
메시 셰이더나 레이 트레이싱과 같은 미래의 기능들은, 이 견고한 코어 위에 추가되는 별도의 ‘프로파일(Profile)’이나 ‘확장 기능’으로 정의하기로 했다.
이것은 WebGPU의 철학이 근본적으로 변화하는 순간이었다.
하나의 거대한 만능 API를 지향하던 것에서, 작고 안정적인 핵심과, 필요에 따라 선택할 수 있는 수많은 모듈로 구성된, 유연하고 확장 가능한 생태계를 지향하는 것으로.
드미트리는 이 과정을 통해, 자신이 추구했던 ‘코드의 연금술’의 본질을 깨달았다.
진정한 연금술은, 더 많은 재료를 섞어 더 복잡한 결과물을 만드는 것이 아니었다.
그것은 수많은 불순물 속에서, 가장 순수하고 본질적인 정수만을 추출해내는 과정이었다.
그는 이제, 화려한 마법을 부리는 연금술사가 아니었다.
그는 수많은 데이터의 광석을 제련하여, 가장 단단하고 순수한 금속을 뽑아내는, 묵묵하고 정밀한 제련공이 되어 있었다. 그리고 그 순수한 금속이야말로, 다음 시대의 개발자들이 가장 견고한 도구를 만드는 데 사용할, 진정한 현자의 돌이었다.