웹표준 관련된 이야기를 하다보면 MS를 M$로 표기하고, MS를 싫어한다는 이야기를 많이하게 된다. $표시야, 독점 문제 같은 이슈들이 있을 때 사용하기 시작한 것이지만... 실제로 웹 표준 권고안을 준수해서 사이트를 제작하다보면, IE와 cross-browsing을 하기위해서 추가해야하는 코드나 hack이 심심찮게 등장한다. 또, IE에서 지원하지 않기 때문에 사용해야하는 스크립트나, 포기해야하는 방법이 꽤나 많다고 할 수 있다. 그래서, 회사 내부의 세미나나 웹 표준 이야기를 하다보면 개인적으로 Microsoft를 좋아하지 않는다는 이야기를 하게 된다.
패배자는 Netscape만이 아니었다
W3C DOM과 MS DOM을 비교해서 이야기하는 것처럼, 확실히 IE의 웹 페이지 구현 방식은 W3C의 표준 권고안과는 거리가 있다. MS 역시 W3C의 회원사이고, 최근에는 IE 7을 극적으로(?) 내어놓으면서 기존의 비표준 방식을 조금이나마 고쳐나가는 모습을 보이고 있다. 그런데 IE는 왜 다른 브라우저에 비해서 표준으로부터 더 멀리 서있는 것처럼 보일까?
1990년대 중후반의 웹을 뒤집어 놓았던 Internet Explorer와 Netscape Navigator간의 브라우저 전쟁을 기억하는 사람은 기억할 것이다. 나 역시 97년께에 처음 HTML을 접했고, 이 때 웹사이트 제작에 관해 여러 사이트를 뒤적이면서 Cross-Browsing 기법을 소개하는 사이트를 꽤 많이 만났던 것으로 기억한다. 그러나 98년에 접어들면서 웹은 IE로 기울어져 갔고, Cross-Browsing이니 뭐니 하는 사이트는 우리 기억 속에서 잊혀져갔다. 이 전쟁의 여파로 우리는 blink 태그를 잃고 marquee 태그를 얻었다. IE는 Windows의 독주와 함께 시장을 거의 독식하다시피 하게됐으며, 우리는 이렇게 MS 의존적인 웹을 사용하고 있다.
MS IE가 표준을 지키지 못하는 이유
99년이 되어서야 HTML 4.01이 확정되었던 점을 생각한다면, 당시의 HTML은 계속 개량 중이었고 NN이나 IE나 자사 기준을 표준안에 반영하기 위하여 굉장히 치열하게 노력했다고 볼 수 있다. 하지만, MS가 준비했던 기준과 W3C가 확정한 표준안은 다른 점이 분명히 존재했고, 그 때 벌어진 차이가 현재까지 이어져 오고 있다 할 수 있다.
그렇다면 IE가 이 때 이후로 버전업을 하지 않았을까. 전쟁은 98년 경에 끝났지만 IE 6은 2001년 Windows XP와 함께 배포되었다. 수년간 몇차례의 Major Upgrade가 이루어진 것이다. 그 동안 MS는 표준 기술을 적용 안하고 뭐했을까? (표준 권고안에 자사 기준을 들이대고 싶은 미련을 버리지 못했던 것은 아닐까 하는 추측을 해본다.)
이번 IE 7 출시를 보면 알 수 있는 점이지만 분명한 것은 IE 6.0까지 MS의 브라우저 정책은 하위 버전과의 호환성에 무게가 실려있었다. 충성도 높은 사용자들을 버리지 못한다는 이유로 비표준 태그도 품고 있는데, 이미 다르게 나와버린 표준안도 끌어안으려니 모두 수용하기 어려운 점도 분명 있었을 것이다.
MS만 비판할 일일까?
사실 IE가 표준을 지원하지 않는다고 하는 말은 잘못된 표현이다. 앞서 말했듯이 비표준 태그를 허용한다거나 CSS를 적용했을 때 잘못된 형태로 보여주는 문제점들은 있다. 하지만 DTD를 사용하고, HTML을 올바르게 사용한다면 문서를 표현하는데 엄청난 문제를 만들지는 않는다. 단지 완전하게 지켜주지 못할 뿐이다.
오히려 웹을 비표준화하고 황폐하게 만든 것은 우리의 안일함이 아니었을까한다. W3C가 결성되고, HTML이 버전업을 해왔다. 브라우저 전쟁의 끝에 이미 외국에서는 WaSP와 같은 웹 표준화 운동이 시작되고 있었음에도 국내에 이런 움직임이 생겨나고 활동을 하게 된 것은 그 절반의 역사를 채우지 못하고 있다.
물론, 급속도로 성장한 국내 인터넷 환경과 IT 산업을 이유로 댄다면 별로 할 말이 없다. 사실 나도 당시에는 잘 몰랐으니까. 하지만, 저비용, 고효율, 고속 성장 지향적인 과정이 결국 만들어낸 결과물을 스스로 뒤집어 엎게 하고 있다. 기술 따위야 잘 몰라도 좋으니, 어쨌든 홈페이지처럼 보이게 하는 것. 그것이 우리 나라 기업들이 처음 웹을 인식하고 만들어낸 방식이 아니었던가.
MS, 그리고 IE의 행보는?
Firefox의 시장 점유율이 괄목할만큼 성장하고, Opera 등의 브라우저들이 경쟁자로 인식되면서 위기감을 느낀 MS는 IE 7을 급히 내놓았다. 또 브라우저를 Windows와 짝 맞춰 내놓던 관행을 내던진 MS는 IE의 상위버전 개발에 박차를 가하고 있다는 소식이다. 또한, 올해들어 live.com을 내세운 MS의 행보에 많은 이들이 주목하고 있다. Web 2.0이 유행처럼 번지고 웹이 새로운 플랫폼으로 주목받기 시작하면서, 기존의 OS나 Application군의 업그레이드와는 별개로 웹 서비스를 위해서 준비를 하는 모습을 보이고 있다.
이런 저런 소식을 접하다보면 이제 MS는 브라우저 점유율 경쟁보다는 Web-based Application 개발에 더 매력을 느끼고 있는지도 모른다는 추측도 해보게 된다. IE는 Windows에 기본 탑재되는 도구로써 안착되고, 웹에서 승부를 보려는 MS의 새로운 전략. 호적수로 회자되고 있는 Google과 한 판 붙을 생각일지도 모른다.
앞으로 브라우저 시장에서의 성패는 OS에 끼워팔기 보다는 그 성능과 사용성 등이 좌우할지도 모른다. 이런 이유들로 인해 더 나아진 IE가 개발되고, 다른 브라우저들도 계속 표준을 준수하는 방향으로 유지된다면, 어느 브라우저를 사용하더라도 웹을 똑같이 이용할 수 있는 시기가 오게 될 것이다.
누구나 접근할 수 있는(Universal Access) 보편적 웹이 정말 우리 앞으로 다가와 있는 것이다.
한가지 재미있는 소식은... Windows Vista에서는 ActiveX Control을 보안상 유해요소로 간주하고 자동 차단을 한다더라. 이 기사를 보고 처음엔 얼마나 웃었는지... :D 부모에게 버림받은 ActiveX에게 심심한 애도의 뜻을 전한다.
흠... 이제는 MS에도 공공재가 뭔지에 대한 인식이 조금은 생긴 것 같은데, 싫어라만 하지말고 조금은 친해져도 괜찮지 않을까?