레나가 떠난 후, 드미트리는 자신의 역할에 대해 더 깊이 성찰하는 시간을 가졌다. 그는 더 이상 기술의 최전선에서 싸우는 전사가 아니었다. 그는 이제, 그가 구축한 거대한 시스템이 오랫동안 건강하게 유지될 수 있도록, 보이지 않는 곳에서 룰을 만들고 역사를 기록하는 관리자이자 사관(史官)이 되어야 했다.
그의 새로운 임무 중 하나는, ‘WebGPU 적합성 테스트 스위트(Conformance Test Suite, CTS)’를 관리하고 확장하는 것이었다.
CTS는 WebGPU의 헌법과도 같은 존재였다.
그것은 수만 개의 작은 테스트 케이스로 이루어진 거대한 테스트 모음이었다. 각각의 테스트 케이스는 WebGPU 사양의 아주 작은 구절 하나—예를 들어, ‘vec3f
타입의 버퍼는 16바이트 정렬을 따라야 한다’—가 올바르게 구현되었는지를 검증했다.
크롬, 파이어폭스, 사파리 등 모든 브라우저는, 자신들의 WebGPU 구현체가 이 CTS를 99.9% 이상 통과해야만, ‘WebGPU를 공식적으로 지원한다’고 말할 수 있었다. CTS는 브라우저 간의 호환성을 보장하고, 사양의 모호한 해석을 막는, 생태계의 가장 중요한 최후의 보루였다.
드미트리는 이제 이 CTS의 유지보수를 책임지는 위원회의 의장이 되었다.
그의 일은 더 이상 새로운 코드를 짜는 것이 아니었다. 대신, 그는 매일같이 다른 브라우저 벤더들이 제출하는 새로운 테스트 케이스들을 리뷰하고, 그 테스트가 사양을 정확하게 반영하고 있는지, 그리고 모든 플랫폼에서 일관되게 동작하는지를 검증해야 했다.
어느 날, 애플의 엔지니어로부터 하나의 테스트 케이스가 제출되었다.
테스트의 내용은, 텍스처의 특정 픽셀에 데이터를 쓰는 writeTexture
API가, 비정상적인 좌표값(예를 들어, 음수 좌표)을 입력받았을 때 어떻게 동작해야 하는지에 대한 것이었다.
사양 문서에는 이 엣지 케이스에 대해 명확하게 기술되어 있지 않았다.
애플의 사파리는 이런 경우, 안전을 위해 작업을 무시하고 아무것도 하지 않도록 구현했다.
반면 구글의 크롬은 개발자의 실수를 명확히 알려주기 위해, 유효성 검증 에러를 발생시키도록 구현했다.
두 개의 다른 구현. 이것은 또 다른 파편화의 씨앗이 될 수 있었다.
드미트리는 이 문제를 해결하기 위해, 단순히 어느 한쪽의 손을 들어주는 대신, 역사를 파고들었다.
그는 W3C의 오래된 회의록과 메일링 리스트를 모두 뒤져, writeTexture
API가 처음 제안되었을 때 어떤 논의가 오갔는지를 추적했다.
그는 마침내, 몇 년 전의 한 회의록에서 결정적인 단서를 찾아냈다.
당시 회의에서, 한 엔지니어는 “잘못된 입력에 대해서는, 성능을 위해 런타임 에러를 발생시키기보다, ‘정의되지 않은 동작(Undefined Behavior)’으로 남겨두는 것이 더 낫다”고 주장했었다. 그리고 그 주장이 별다른 반론 없이 받아들여졌던 기록이 있었다.
이 ‘정의되지 않은 동작’이라는 모호함이, 결국 애플과 구글의 서로 다른 해석을 낳은 근본적인 원인이었던 것이다.
드미트리는 이 역사적 맥락을 바탕으로, 위원회에 새로운 제안을 했다.
“우리는 과거의 실수를 바로잡아야 합니다. ‘정의되지 않은 동작’은 웹 표준에서 가장 위험한 적입니다. 우리는 지금이라도, 이 경우에 명확하게 ‘유효성 검증 에러를 발생시켜야 한다(MUST generate a validation error)’고 사양을 수정해야 합니다. 그리고 애플이 제출한 이 테스트 케이스는, 바로 그 수정된 사양을 검증하는 공식 테스트가 되어야 합니다.”
그의 제안은 논리적이었고, 역사적 근거가 명확했다. 위원회는 그의 제안을 만장일치로 받아들였다.
사양은 더 명확해졌고, 생태계는 또 하나의 파편화 위험에서 벗어날 수 있었다.
드미트리는 이 과정을 통해, 자신이 하는 일의 무게를 다시 한번 깨달았다.
그가 CTS에 추가하는 테스트 케이스 하나, 그가 수정하는 사양 문서의 단어 하나는, 이제 단순히 현재의 버그를 고치는 것을 넘어, 미래의 모든 브라우저들이 따라야 할 ‘판례’를 만드는 일이었다.
그는 이제 법관과도 같았다.
끊임없이 발생하는 새로운 사건들 앞에서, 그는 기존의 법전(사양)을 해석하고, 때로는 그 법전의 모호함을 바로잡아, 생태계 전체의 질서와 안녕을 지켜야 했다.
그의 이름은 더 이상 화려한 기술 데모와 함께 언급되지 않았다.
그의 활동은 대부분의 개발자들에게는 보이지 않는, 물밑에서 이루어졌다.
하지만 드미트리는 알고 있었다. 역사의 흐름을 바꾸는 것은 언제나 가장 시끄러운 목소리가 아니라, 보이지 않는 곳에서 묵묵히 원칙과 기준을 바로 세우는, 조용한 손길이라는 것을.
그는 기꺼이, 그 이름 없는 역사의 기록자이자, 수호자의 역할을 받아들이기로 했다.