[작년 12월에 적은 글인데 공개가 안돼 있어서 포스팅합니다. 아마 쓰다가 말았던 것 같네요. 지금이 아닌 당시의 문맥에서 생각하면 좋을 것 같습니다.]
전에 런타임 시장 6강 체제로의 변화에 대해서 블로깅 했었는데, JavaFX 1.0 정식 버젼이 발표되면서 드디어 Sun도 공식적으로 팔 총알을 장전한 것을 기점으로 근황들을 한번 살펴볼 시간을 가져보고자 하는데…개인적으로 Silverlight 2 출시 때문에 겨를이 없었지만, 무엇보다도 관련 기술을 만드는 입장이기도 하고해서 정리하지 않을 수가 없는 시점. 해서 이 동네를 좀 더 흥미진진하게 그리고 머리에 쏙쏙 들어오게 관전하는데에 도움이 되는 이야기를 몇가지 해보기로 했다. 사실은 했던 이야기를 또 하는 것이기도 하지만, 좀 더 자세하게 이야기 해보도록 하겠다. (다시 6강을 나열해보면: Adobe, Microsoft, Sun, Google, Mozilla, Apple.)
파이들을 조금 세분화하면 다음과 같이 나눌 수 있다(의미를 보여주는 단어들을 나름대로 사용했다).
- 브라우저(Browser)
- 기존 솔루션들(Existing Solutions) Java등
- 브라우저 확장(Browser Extension)
- 브라우저-데스크탑 브리지(Browser-Desktop Bridge)
- 툴(Tools)
- Etc
이번에는 경쟁하는 이 각각의 전쟁터들을 테마로 해서 들여다보는 방식으로 이야기해 보도록 하겠다.
브라우저(Browser)
우선 브라우저(Browser). 이 모든 것의 중심이 브라우저처럼 보이는 이유는 이미 사용자의 데스크탑에 침투해서 존재하는 녀석이기 때문이다. 이미 브라우저는 OS와 함께 어떤 방식으로든 설치가 되어있다. 생활의 일부분처럼 컴퓨터를 사용하는 사람이라면 거의 반드시 보게 되는 것이 브라우저이다. 우리가 Adobe의 Flash의 우위를 설명할 때에 9x% 어쩌고 이야기하지만, 정확하게 이야기하면 브라우저는 이미 100%라는 가정을 한 기반에서 이야기를 하는 것이다. 조금 더 설명해보도록 하자.
다시 약간 뒤로 한발짝 물러나서 질문해보자. 브라우저가 없다고 가정하면 사용자의 PC에 프로그램을 설치하는 방법이 무엇이 있을까? 몇가지 머릿속에 떠오르는 방법들이라면 이런 것:
- PC에 OS와 함께 미리 설치해서 판매
- 소프트웨어 패키지로 판매(사용자가 직접 미디어를 사용하여 설치)
- 기업이라면 정책에 의한 자동 설치
- OS 별 배포 방식 – 자동 업그레이드/설치
- 기타 잡다구리 다양한 종속적인 기술.
들이 있을 것이다. 이를 배포(Deployment)라는 용어를 사용하는데, 이들 방식들을 잘 들여다보면 이들은 전부 어딘가에 종속적이라는 것이다. 1은 PC 제조업체에 종속적, 2는 미디어 종속적, 3은 기업, 4는 OS, 5는 기술에 종속적. 한마디로 이야기하면, 100%의 PC로의 배포는 불가능하다는 것이다. 전부 배포 자체가 비용을 증가시킨다.
여기에 모든 OS에 설치되어있는 브라우저를 등장시켜보자. 확연히 비교가 된다:
- 다운로드(하이퍼링크/FTP/플러그인/ActiveX 등등)
배포 비용(Cost)가 제로에 가까워진다는 사실. 이 중에서도 일반 프로그램이 아니라 우리가 “웹응용프로그램(Web Application)”이라고 통칭하는 프로그램(HTML)을 배포하는 것은 설치의 과정도 생략해버린다. 그걸 누가 몰라라고 이야기해도 물어보면 “쉬워서”등의 대답 정도가 제일 많이 나오는 대답이리라. 굳이 인터넷/웹에 대한 원론적인 이야기까지 가자는 것은 아니고 이제는 브라우저가 PC에 있어서는 생필품과 같은 것이 된 시점에서는 당연한 것이니까 잊고 있을 수 있겠지만, 브라우저 주변에 불나방처럼 뛰어드는 기업들이 왜 그렇게들 많은가에 대한 대답은 이렇게나 간단하다는 것이다.
그런 이유로 브라우저를 중심으로 가지치기를 하고자 하는 것은 PC든 모바일기기든 데스크탑을 정복하고자 하는 기업들의 숙명인 것이다(이에 대한 좀 더 자세한 이해는 이전 글.들에서 참조할 수 있다). 사용자의 데스크탑에 뭔가를 지속적으로 심는 용도로 브라우저만한 것이 (절대) 없다는 것 – 은 누구나 아는 것이다.
브라우저를 만드는 곳들 – Microsoft, Mozilla, Google, Opera, Apple – 이 이해 관계로 얼기설기 얽혀있어서 책 몇권 낼(혹은 나온) 이야기들을 가지고 있지만, 이들의 이해 관계의 가장 큰 발원지는 브라우저가 OS에서 돌아가는 프로그램이기 때문이라는 사실을 짚고 넘어가보자. 브라우저가 무료인 사실을 생각하고 미래에는 모든 브라우저가 100% 지키게 될 것이라면 돈도 안되고 게다가 모두가 똑같은 것을 만드는 것일테니 맨 위에 나열한 파이 중에서 브라우저가 그다지 중요하지 않다는 생각을 할 수도 있다. 얼핏 생각하면 똑같이 표준을 지키는 브라우저들인데 뭐하러 중복투자해서 각기 다른 브라우저를 만들고 있을까 할 수도 있고 단순히 웹페이지를 보여주는 역할(렌더링 엔진) 뿐이라면 그다지 경쟁의 의미가 크지 않겠지만, 컴포넌트나 표준 웹플랫폼이 아닌 OS에서 돌아가는 프로그램으로 생각하면 이야기는 달라진다.
마이크로소프트가 브라우저 시장에 뛰어들고 나서 생각한 것은 이 브라우저가 위와 같은 엄청난 장점을 가진다는 사실에 OS의 컴포넌트인 것이 합당하겠다는 판단이었다. 간단한 예로, 하드디스크의 파일을 브라우저(엔진)를 사용하여 이쁘게(?) 보여주거나 바탕화면을 브라우저(엔진)로 보여주어 애니메이션이라든가 브라우저의 기능을 사용할 수 있게 하는 등의 시나리오를 이야기할 수 있겠다. 결과적으로는 비즈니스 측면에서 높은 점유율로 인해서 공정한 경쟁을 방해하기 때문에 “끼워팔기”라는 이유로 고소를 당하기도 했지만 아이폰에는 브라우저를 개발조차 하지 못한다거나 브라우저OS에 대한 이야기도 나오는 등 브라우저를 바라보는 시각이 이전과 많이 변한 것은 사실이다. 이미 이런 시나리오는 모바일 환경에서는 또다른 이야기를 보여주고 있기도 하다.
브라우저는 크게 (렌더링/스크립팅) 엔진과 껍데기 UI를 나누어서 개발하는데, 이 중에서 엔진 부분은 컴포넌트로써 브라우저 프로그램 이외의 다른 프로그램들에서 사용될 수 있도록 모듈화되어 개발된다. IE6는 Trident, FireFox은 Gecko, Opera는 Presto, Safari와 Chrome은 WebKit등의 렌더링 엔진을 사용하고, 각 엔진은 원하는 개발자/사들이 가져다가 사용하여 자신의 프로그램에서 웹페이지를 보여주거나 하는 등의 기능을 제공하기도 한다. 그러니까 비개발자의 입장으로 생각하면 브라우저라는 것은 노른자인 렌더링 엔진을 사용하기 위한 껍데기라고나 할까. 아무튼 이런 엔진들을 장착한 브라우저 자체는 독립적인 프로그램으로써 각각을 제작한 곳의 성향에 맞는 다양한 기능들을 제공하고 이에 다양한 이해관계가 발생하게 되는 것이다. 검색을 제공하는 장치를 마련한다거나, ActiveX를 사용할 수 있게 해준다거나, 캐싱을 통해 오프라인 브라우저를 제공한다거나, 혹은 개발 편의등의 특정한 용도를 위한 기능을 만들어넣는다든가 하는 등의 엄청나게 많은 상관관계가 생기게 되는 것이다. 따라서 똑같은 표준을 지킨다고 하더라도 그것은 단지 일부인 엔진의 이슈이기에 이익과 연관성이 커지는 것이다.
그렇기에 이 동네 플레이어들은 표준 표준을 외치면서도 표준화된 플랫폼으로써가 아니라 누구나 사용하는 프로그램으로써의 브라우저 자체를 가지고 싶어하는 것이다.
To be continued…
[상황도 변했고, 글을 적을 당시의 생각이 잘 기억나지 않기도하고 해서;;; 계속 써내려갈 수 있을 것 같지는 않습니다. 꽥]
- 철수(charlz)(20081221)
