환영합니다!
MS가 웹 표준의 적(敵)인가?
웹표준 관련된 이야기를 하다보면 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을 보안상 유해요소로 간주하고 자동 차단을 한다더라. 이 기사를 보고 처음엔 얼마나 웃었는지…
부모에게 버림받은 ActiveX에게 심심한 애도의 뜻을 전한다.
흠… 이제는 MS에도 공공재가 뭔지에 대한 인식이 조금은 생긴 것 같은데, 싫어라만 하지말고 조금은 친해져도 괜찮지 않을까?
웹표준에 대한 오해
VHS와 베타는 기술이전 문제로 승패가 갈렸다. VHS는 타업체에 기술이전을 쉽게 해줘서, 기기가 대량 생산될 수 있었고, 베타는 소니가 독점하고 싶었던 것이다. 메모리스틱처럼 여전히 소니 기기만을 위한 장치들이 있다는 점을 생각하면 쉽게 유추할 수 있다.
우선, 브라우저 시장 점유율과 표준의 문제는 별개의 것이다. 또한, 표준이 낡은 것이라는 사고는 버려야한다.
Pocket PC 2003과 같은 OS에서는 여전히 낮은 버전의 IE가 탑재돼있고, 이 버전의 IE가 렌더링 가능한 수준은 HTML 3.2을 기준으로 하고 있다. 또 Pocket PC 2003에서는 CSS를 지원하지 못하는 등 DHTML의 사용을 제한하고 있다. PC로 보던 Web에서도 HTML 4.01을 기준으로 만들었던 페이지는 이제 낡았다고 봐야한다. XHTML 1.0 Transitional 이 현재의 대세이며, 앞으로는 XHTML 1.1 Strict로 가게 될 것이다. 또, CSS 역시 Level 2가 표준으로 자리잡았고, CSS3가 준비되고 있다. 그런데, IE는 CSS 렌더링에서 박스모델링 자체의 기준를 못 지키고, 계산 등에서 산수를 못하는 오류를 범하곤 한다.
웹표준 권고안보다 비표준이 앞서나가서 문제인 것이 아니라, 웹표준 권고안은 저만치 가 있는데 브라우저 (특히 IE) 가 6년동안 전혀 발전이 없어서 발전한 규격을 못 쫒아와서 문제인겁니다. 그러다보니 active x를 편법으로 사용하는 경우도 늘었죠… (특히 SEED를 채택한 우리나라에서요
)
inureyes님이 말씀하신 것처럼, FF는 2-4달에 한번 꼴로 업데이트되고 개량되는데, IE는 몇달에 한번 있는 패치가 대부분 보안패치다. 이번 Eolas패치야 예외적인거고. 애초에 표준이 없었던 게 아니라, IE가 NN과의 시장싸움에 승리하면서 M$가 W3C에 있던 룰을 많이 무시하고 M$ 자사 기준을 표준으로 밀어보려고 했는데… (나중에 IE의 버전 업이 없었던 점이 그런 이유에도 있지 않을까 싶다.) 시간이 지나서 모질라 재단의 습격을 받은 셈이다.
브라우저의 표준 지원 검사인 Acid2를 통과한 브라우저는 Safari가 유일하다.(Opera는 통과가 끝났나 모르겠군… -_-;) 이런 이유로 역시 FF보다 Safari나 Opera가 표준 준수율은 더 높다. 하지만 많은 사용자들이 FF를 선호하기 시작한 이유는 그 확장성과 개방성에 있다고 봐야할 것 같다. 물론 IE보다야 FF가 표준 준수율이 높은 것도 사실이고.

1년쯤 지난 통계이긴 하지만 위의 그림에서 볼 수 있듯이 실제로 유럽에서는 FF의 이용율이 20%에 육박하고 있다. 그렇다고 IE가 나머지 80%를 점유하고 있는가 하면, 그렇지 않다. 사파리나 오페라, 컨쿼러 등도 역시 적지 않은 시장을 점유하고 있고, 아주 소수의 브라우저도 역시 사용자들이 있다. 우리 나라야 여전히 90%는 먹고 있을테지만 유럽에서 IE의 시장 점유율은 40~50%정도라 보인다.
올해 Vista와 함께 출시를 예정하고 있는 IE 7.0의 경우도 M$가 발등에 불 떨어진 시점에서 계획한 것인 셈이다.(베타버전의 모습을 보면 확실히 급조됐다는 느낌이 있었다.) M$가 발표한 계획에 따르면 IE 7.0부터는 하위버전과의 호환보다는 표준을 준수하는데 더 비중을 둔다고하는데, IE 7.0이 보급되고 나서 국내 사이트가 얼마나 박살날지 궁금해 미칠 지경이다.
사람들이 웹표준 작업에 대해 또 한가지 오해하고 있는 점이 뭐냐면… 여러 브라우저를 만족시키기 위해 페이지를 여러개 만들어야한다고 생각하는 것이다. 작년에 개편한 야후, 네이버를 비롯해, 올해의 다음, 엠파스, 네이트가 메인 페이지를 모두 표준 마크업하면서 페이지를 여러개 만들었을까? 답은 No다. 사이트는 하나면 충분하고 하나의 페이지만 만들어도 모든 브라우저의 화면을 정갈하게 채워줄 수 있다.(산수 못하는 IE를 비롯해, 몇가지씩 오류를 보이고 있는 브라우저들을 위해 CSS Hack 등의 기술도 이미 나와있다.) 그렇게 채워낼 수 있는 것이 차별화된 기술이라 여길지 모르겠지만, 바로 그것이 웹표준을 지키는 것이다. 내가 전에도 쓴 적이 있지만 표준을 지키는 것이 기술이 된 이유는 브라우저 시장의 다변화로 웹표준의 중심이 몇년간 M$로 넘어간 듯하다가 다시 W3C로 돌아갔기 때문이다.
아직은 조금 이상적인 모델이긴 하지만, 현재의 표준 방식을 따르는 것만으로도 HTML 문서 하나에 디바이스용 CSS파일만 작성해도 PC, PDA, Printer, TV 등의 다양한 디바이스를 위한 페이지 출력이 가능하다. Cross-Browsing은 당연한 거고 별도로 작성되던 시각 장애인용 사이트도 지워버릴 수 있다.
물론 장미와검님께서 제기하신 비용의 문제가 아주 없지는 않다. 하지만, 장기적인 관점에서는 훨씬 고효율의 저비용이 될 수 있다고 생각한다. 그것은 이런 형태의 구현이 가능한 인력을 양성하는데 비용이 필요하다는 점이 분명히 있기 때문이다. 그러나, 이렇게 제대로된 퍼블리셔들이 양성되면 한번 사이트를 제작하고 나서 컨텐츠가 변경되지 않는한, 디자인 리모델링 등을 위해 사이트를 갈아엎지 않아도 된다. 왜냐하면, 컨텐츠가 유효하기 때문에 디자인을 바꿀 때는CSS 파일과 이미지 파일만 변경해주면 되기 때문이다. 이는 사이트 제작 후의 유지보수와 개편 비용을 생각하면 훨씬 저렴해지는 것이다.
이런 이야기들이 제법 많은 사람들에게서 회자되고 있지만, 사실 여전히 모르는 사람이 훨씬 많다. 그래서 아마 국내에 제대로 반영되는 시점은 제법 늦을 것도 같다. 하지만 작년부터 정부 및 공공기관 사이트, 그리고 대형 포탈을 중심으로 시작된 표준화라는 바람의 여파가 작지만은 않을 것이다.
나 역시 표준화된 사이트를 제작한다고 말하지만, 솔직히 여전히 많은 부분이 어렵다. 계속 공부해야 할테고. 하지만 정보 접근에 대한 평등 보장이라는 명제는 내가 이 길을 고수하게 만들고 있다.
IE 설계 변경
IE의 설계 변경 패치로 인해서, 웹 종사자들이 꽤나 당황했던 것도 같다.
(네이버의 모 개발자를 친구로 둔 우리 회사의)한 개발자의 소식에 의하면, 네이버 쪽은 페이지 내의 플래시를 자동으로 변경해주는 스크립트를 개발 완료했다고 한다.
우리 회사 역시 모 개발자(위의 그 개발자 아님)가 HTML 문서 내에 사용된 플래시, 미디어플레이어, ActiveX 를 찾아서 재작성해주는 형태의 스크립트를 개발 완료했다.(스크립트야 워낙 퍼가기 쉬운 소스다보니… 설계변경 패치가 어느 정도 확산되어 안착될 무렵이면 이미 이런 스크립트들이 꽤 많이 보급되어 있겠지만, 일단 내가 작성한 것도 아니고 해서 소스를 당장 공개하기는 좀 어렵다.)
이 외에도 많은 회사의 개발자들이 이미 여기에 대비한 스크립트를 작성하고 있는데다, 모 기업에서는 이 패치에 대응하는 어플리케이션을 제작했다(ZDnet에서 봤는데, 주소를 찾기가 어렵다.. -_-;)는 소식도 들린다. 물론, 이런 스크립트를 사용했을 경우 활성화되지 않은 플래시 등이 이미 로딩된 상태에서 한번 더 문서에 써주는 것이 되기 때문에, 플래시가 한번 깜빡거리는 것처럼 보일 수 있다. 시각적으로 좀 불편해지는 것이지만, 스크립트를 쓸 수밖에 없다는 점에서 어느 정도는 감수해야하는 문제다.
이런 소스들이 적당히 공유되고나면, HTML문서의 head부분에 스크립트를 불러오는 한줄의 태그만으로도 패치에 대한 걱정을 덜어낼 수 있게 될테니 중소 규모의 사이트는 대형 사이트의 행보를 잠시 주시하는 수고만으로도 괜찮지 않을까 싶다.
이번 문제는 단순히 M$와 Eolas사이의 특허권 분쟁에 그치지 않고, (특히 우리나라의) 많은 사용자들에게 영향을 미친다는 점에서 그리 바람직한 일은 아닌 것 같다. W3C도 오픈되어 있는 HTML 태그에 대한 기술적 저작권을 주장하는 것이 옳지않다는 입장이다. M$야 저작권 사용료를 내기 싫어서 항소하는 것 같은 인상을 주고 있긴 하지만, 이 문제에 관한한 여론은 M$편인 것 같다.
다만 개인적인 생각에, 이번 패치를 통해 국내 사이트에 얼마나 많은 플래시와 ActiveX가 사용되었는지, 기존에 이를 이용하기 위한 유저들이 얼마나 불편했는지에 대해 한번 돌아보는 계기가 되었으면 한다. 아름다움, 화려함만이 웹의 미학인 것처럼 여겨지는 국내의 인터넷 풍토 또한 다시 한번 생각할 필요가 있지 않을까.



RSS





