[의미론 중독] 갈라진 웹 표준: WHATWG vs W3C

언젠가부터 웹 표준이라는 어떤 커다란 물결이 세상을 휩쓸어 버렸다. 웹 표준을 따르고 지키는 것, 혹은 그러한 모든 것들을 복돋는 일이 이 시대의 어떤 교양이 되고 있다.

문제는 그 웹 표준 자체가 파편화 되어 서로 겨루고 있다는 것이다.

이 겨루기는 빨리 혹은 쉽게 끝날 것 같지가 않다(사실 영원히 끝나지 않을 것도 같다). 승부가 난다면, 어느 쪽이 이길 지도 알기 어렵다. 승부가 나지 않은 채 서로 화해하고 하나로 되는 일도 없을 것 같다. 사실 승부가 날지 말지조차 알기 힘들다.

WHATWG와 W3C는 단순히 같은 사양을 다르게 발표하고 있는 게 아니다. 즉, W3C계 표준은 단순히 WHATWG계 표준의 스냎샽, 혹은 판형판이 아니다. 다르게 말해 WHATWG계 표준이 최신 표준이고, W3C계가 조금 지난 WHATWG계 표준을 얼려 놓은 것과 같은 것이 아니다. 그랬다면 별 문제가 없었을 것이다. 그저 얼리 어댑터라면 WHATWG를 따르면 되고, 좀 더 안정적인 참조가 필요하다면 W3C를 따르면 되었을 것이다.

WHATWG와 W3C는 서로 핵심 원칙이 다르다. W3C계 표준은 WHATWG계 사양을 가져오는 것에서 시작되었다. 그러고 W3C가 W3C의 핵심 원칙에 따라 그 사양을 고쳐나갔기에 사양이 서로 달라져 버렸다.

특히 HTML에 있어, 기술적으로 그리고 구체적으로 사양이 어떻게 다른지는 W3C 위키에 정리되어 있다: W3C wiki: HTML/W3C-WHATWG-Differences

우선 WHATWG는 메이저 웹 브라우저 저자들의 모임이다. 따라서 메이저 웹 브라우저들은 WHATWG를 따른다고 봐야할 듯 싶다. 애플, 모질라, 오페라 소프트웨어는 WHATWG 창단 멤버이고, 오페라 소프트웨어에서 구글로 옮긴 이안 힠슨(Ian Hickson)이 WHATWG계 HTML 표준의 편집자이다. 마이크로소프트가 정확히 어떠한지는 모르겠다.

표준 겨루기에 대하여 WHATWG가 밝힌 입장은 다음과 같다:

WHATWG와 W3C HTML WG

두 그뤂이 합쳐질 계획이 있습니까?

없다. 두 그뤂의 목표는 서로 다르다.

분쟁이 일어났을 때 어느 그뤂이 더 권위가 있습니까?

두 그뤂에게는 각각의 사양이 있다. 각자 각자의 사양에 대한 권위가 있다.

사양이 나뉘어 있는 건 나쁜 것 아닙니까?

맞다. 본디 WHATWG는 W3C 사양과 일관성을 유지하려 했다. 하지만 W3C 워킹 그뤂이 잘못을 저질렀다. 그 일이 일어났을 때, (힉시의 생각에) 사양이 갈리는 것 말고는 별 다른 수가 남지 않았었다.

사양들을 다시 모이게 하는 계획이 있다. 그저 WHATWG 사양에 최선을 다하는 것이다. 어떤 사양을 써야 할지 고민하지 않고 WHATWG를 쓰는 게 논리적이고 당연할 정도로 말이다.

W3C는 그보다는 좀 더 순수한 HTML 저자들의 모임에 더 가까운 것으로 보인다.

정통성은 WHATWG에 있다고 봐야 한다. 그냥 그런 정도가 아니라 W3C에게서 염치를 찾아볼 수가 없다:

  1. 먼저 HTML을 버리고 HTML을 발전시키는 걸 그만둔 장본인이 바로 W3C이다.
  2. W3C는 HTML을 다시 발전시켜보자는 제안을 한 번 거부하기까지 했다.
  3. 발전된 HTML이 필요해 최신의 HTML을 만들기 시작한 건 WHATWG이다.
  4. W3C 표준은 WHATWG이 만들어 놓은 걸 가져오는 것에서 시작한 것이다.
  5. WHATWG는 W3C에게 WHATWG가 만든 걸 베껴가지 말아 달라고 했으나 W3C는 거부하였다.
  6. WHATWG가 만들던 걸 베껴왔으면서, 저작권과 라이선스와 관련한 모든 정보에서 WHATWG의 이름을 모조리 지웠다. 마치 모든 걸 W3C가 만든 것처럼.

사실 W3C는 그냥 도적 무뢰배라고 해도 될 정도이다. 이 때문에 WHATWG와 W3C의 사이는 썩 좋다고 보기 힘들다. WHATWG는 곳곳에 W3C에 앙금이 남아 있는 걸 보이고 있다. 특히 모질라는 W3C에 강한 적대감을 드러내고 있다. 파이어 폭스를 열렬히 지지하거나 쓴다면 WHATWG계 표준을 따르면 된다.

나는 개인적으로는 W3C계 표준을 따르고 있다. 이유는:

  • W3C의 HTML 디자인 원칙이 훨씬 더 탄탄하고 숙고된 듯 하며 가치 있다고 느꼈다.
  • 이 원칙에 따라 고쳐진 W3C의 사양이 더 논리적이고 이치에 맞은 것으로 보였다.
  • 그에 따라, 길게 보았을 때 W3C의 사양에 기술적인 이점이 더 있을 것으로 보인다.

나는 결국에는 기술적인 이점이 이길 것으로 생각하고, 또 이겨야 한다고도 생각한다.

다른 이유로는 WHATWG가 약간 못 미덥게 느껴지기도 때문이다. WHATWG의 사람들이 좋은 HTML 저자로 생각되지는 않는다. 즉 HTML 자체에 대한 숙고가 조금 덜 된 것으로 보인다. 적어도 W3C 보다는. 나는 HTML에 대해 좀 더 숙고한 이들이 더 좋은 HTML 표준을 만들 수 있을 거라고 생각한다.

대표적으로 WHATWG계 표준은 한 문서에 <main> 태그를 여러 번 쓸 수 있게 정의 했고, W3C계 표준은 한 문서에 <main> 태그를 한 번만 쓸 수 있도록 고쳤다. W3C vs. WHATWG HTML5 Specs – The Differences Documented에 의하면:

W3C 표준의 편집자인 스티브 폴크너(Steve Faulkner)가 WHATWG 표준의 편집자 이안 힠슨에게 한 문서에서 <main> 태그가 여러 번 쓰이는 게 필요한 데이터를 보여 달라고 했다. 그러나 모든 경우에서 WHATWG는 그러한 데이터를 보여주지 못한 것으로 결론이 났다.

라고 한다. 사실 애당초 <main> 태그가 WHATWG 표준에서 정의가 그다지 분명하지 못하다. 이는 WHATWG에게서 내 마음을 꽤 멀어지게 하였다.

하나 더; <hgroup> 태그는 WHATWG계 표준에는 아직 남아있고 W3C계 표준에서는 없어졌다(따라서 <hgroup>은 이제 표준이 아니다라고 말하는 것은 하나만 알고 둘은 모르는 것이다. 아니면 WHATWG의 존재 자체를 인정하지 않는 열렬한 안티거나.). 그리고 W3C가 <hgroup> 태그를 없앤 이유 중 하나는 '브라우저들이 <hgroup> 태그를 구현하는 데 별로 관심이 없어서'이다. 웹 브라우저 저자들이 만드는 표준이라는 점이 무색해지는 부분이다.

그리고 좀 별 거 아닌 이유처럼 보이겠지만, W3C 쪽이 훨씬 더 보기 편하다. HTML5 때까지만 해도 비교적 둘이 비슷했지만(사실 이때도 W3C 쪽이 더 보기 좋았다.), HTML5.1부터는 W3C 쪽을 보다가 WHATWG 쪽을 보면 영 답답하다. 그 답답함 때문에 손이 자연스럽게 WHATWG에게서 멀어져 W3C쪽으로 가고는 한다.

WHATWG와 W3C가 다른 것 중 대표적인 것은 개발 및 발행 모델이 다르다는 것이다. WHATWG 표준은 고정되지 않고 끝없이 엎데이트되고, W3C 표준은 한 번씩 얼려져서 고정된 판으로 나온다.

웹은 이미 한 번 알려진 문제가 너무 많은 채로 너무 오랫동안 얼려지는 바람에(W3C는 앞으로 이 일에 대해 속죄를 해야할 것이다.)많은 이들이 고통 받은 적이 있다. 그걸 떠나서도, 웹은 빠르게 변하는 사회에 맞춰 마찬가지로 빠르게 변할 수 있어야 한다고 생각한다. 따라서 웹에는 WHATWG처럼 끝없이 엎데이트되는 모델이 더 적합하다고 본다. 언젠가는 W3C도 이러한 모델로 바꿨으면 한다.

WHATWG 표준의 목표는 웹 브라우저를 만들 때 구현해야 하는 것들을 설명하기 위해서라고 되어 있다. 말하자면 웹 브라우저가 서로 달라지는 것을 줄이기 위해서이다. 웹 브라우저 저자들의 모임답다고 생각한다.

W3C계 사양은 더 올바르고 정확하며 좋은 HTML 문서를 쓰는 것을 목표로 하는 것으로 보인다. 그리고 나는 이것이 HTML 표준이 나아가야 할 방향이라고 생각한다.

결론

웹 표준을 따른다는 것은, 어느 쪽 표준을 따를 것인가를 먼저 정해야 하기에, 생각보다 좀 더 신중해야 하고 어려운 일이라는 것이다.

Loading Facebook Comments ...

Leave a Comment

No Trackbacks.