오늘, 인터넷으로 은행 계좌조회 한번 하려다가 짜증만 잔뜩나게 됐다.
각종 암호화 모듈부터 바이러스 백신 등 수십개의 ActiveX폭탄을 설치하더니, 오류가 났다며 강제로 리부팅까지 시키는거다. 설치를 안하면 인터넷 뱅킹을 사용하지 못하니 울며 겨자먹기로 시키는데로 하기는 한다만은..
내가 언제 이런거 깔아달라 그랬냐? 난 그냥 계좌 조회만 하고 싶다니까?!!! :@
짜증나는김에, 이 Active X를 통해 한국정부의 IT삽질에 대해 일부 씹어보겠다.
1. ActiveX의 탄생
인터넷이 요즘처럼 대중화 되기 얼마 전, 인터넷의 발전 가능성에 대해 여러가지 시험이 이뤄지던 시기 - Sun이라는 회사에서 Java Applet이란걸 들고 나오는 작지만 큰 사고를 쳤다. 텍스트와 이미지로 이뤄진 "워드 문서"수준의 정보밖에 표시하지 못하던 당시의 인터넷에서, Sun은 Java Applet 프로그램을 실행시켜서 웹 브라우저에서 프로그램이 돌아가게 만들었다.
이게 왜 중요하냐고? 플래쉬, 게임, 동영상같은 것들 부터, 지금 이 글을 쓰게만든 짜증나는 인터넷 뱅킹까지 - 인터넷을 프로그램이 동작하는 플랫폼으로 활용하고 있기 때문에 때문에 가능한 일이라는 말씀!
(이 사건이 없었다면, Java는 밥통 만드는 데나 쓰였을꺼고, 훨씬 더 오랜 시간동안 인터넷보다 PC통신이 인기를 끌었을지도 모르겠다.)
이때 Microsoft는 무얼 했을까? 그들도 인터넷의 가능성은 이미 잘 알고 있었다.
부랴부랴 Windows의 네트워크 기능을 강화하고, 웹 브라우저도 만들고 이것저것 뚝딱거리고 있었지만..
놀랍게도(?)그 당시엔, MS의 Internet Explorer(IE)는 Fire fox의 할아버지뻘 되는 Netscape Navigator한테 캐발리고 있었다는 사실.
이래저래 조급해진 MS는 판세를 뒤집기 위해서 아주 강력한 한방을 준비하게 된다. 바로, Windows98을 내놓으면서 IE를 아예 윈도우의 일부로 포함시켜 버린 것이다. (IE4 버전)
그냥 합친 정도가 아니라 Java Applet, Netscape등 적들을 압도할수 있는 기술들로 무장시킨 상태로.
그 결과는?
여러분도 아시는데로, IE는 세계 최고 점유율의 웹 브라우저가 됐고, Netscape는 망해버렸다.
ActiveX는 Java Applet을 훌륭하게 사냥했을 뿐만 아니라, 아시아의 대한민국이라는 나라에서는 웹 브라우저는 "반드시" IE를 쓰고, ActiveX를 설치해야만 "원활한" 인터넷이 가능하도록 만들어 버렸다.
주: 여기서는 비전문가들의 이해를 돕기위해 사건들을 최대한 간단하게 압축했다.
언급된 사건들의 실제 인과관계와 그 이유등은 관점에 따라 훨씬 복잡하다.
2. ActiveX가 뭐길래?
ActiveX는 Microsoft가 아니라면 만들 수 없는 기술이다.
물론, 그들이 세계 최고의 소프트웨어 개발자들 중에 하나라는 이유 때문이기도 하지만,
무엇보다, Windows라는 제품을 가지고 있었기 때문에 가능한 것이다.
ActiveX는 원래, Windows의 핵심 구성요소로 설계 되었던 녀석이다.
COM 또는 OLE라고도 불리는 이 기술은, 당시 유행하던 Visual Basic과 ASP에서 손쉽게 사용하고 만들 수 있어서 이미 대박을 친 상태였다. COM은 저수준의 복잡한 코드를 감추고, 누구나 간단하게 Windows의 강력한 기능들을 레고 블록처럼 사용할 수 있게 해 주었다.
이걸 IE에 집어넣고, 웹 페이지 위에서 돌아가게 만드는건 MS가 아니면 할 수 없고, 할 이유도 없는 일이다.
그들은 COM의 일부를 ActiveX라고 포장해서 세상에 내놓았다. Java Applet을 kill하기 위해.
여러가지 이유로 ActveX는 Java Applet보다 더 우수했다.
이제, 전문 프로그래머가 아니라도 어디선가 자신이 필요한 기능의 ActiveX를 구하기만 하면 HTML코드 몇줄로 그럴듯한 프로그램을 달 수 있는 시대가 온거다.
(플래쉬나 미디어플레이어는 <object..>태그만 넣으면 누구나 웹 페이지에서 실행시킬 수 있잖은가!!)
거기에 그치지 않고 ActiveX는 문서 편집, 게임, 채팅, 파일 공유 등등.. 웹 브라우저를 못하는 일이 없는 만능 도깨비 방망이로 만드는데 일등 공신이 되었다. 특히나, 한국처럼 고속 통신 인프라가 잘 갖춰져있고 사람들의 IT에 대한 관심이 높은 곳에서 높은 인기를 끌게 된 것은 두말할 필요 없겠다. 훨씬 높은 품질을, 훨씬 쉬운 방법으로(ActiveX를 쓰지 않으면 애초에 불가능 하거나 만들기 끔찍한 기능) 제공할 수 있는데 누가 싫어하겠는가.
3. ActiveX의 문제
언뜻 정말 멋지고, 꼭 필요할 것 같은 기술이지만.. 그러나, 세상에 완벽한건 없다.
이 판도라의 상자에는 치명적인 문제가 몇가지 있다.
첫째. Internet Explorer에서만 동작한다.
ActiveX는 원래부터 웹 브라우저에서 돌아가는 작은 프로그램(Applet)을 만들려고 설계한 기술이 아니라, Windows OS의 기능을 쉽게 이용하고, 확장해서 보다 강력한 프로그램을 만들기위한 것이었기 때문이다.
Firefox나 Chrome같은 브라우저에서 왜 ActiveX를 지원하지 못할까?
ActiveX는 사실상 뒷단에서 Windows가 버티고 있기 때문에 동작할 수 있는 것이다. 즉, 웹 브라우저에 기능하나 만들려면 운영체제(OS)를 만들어서 뒤에 숨겨놔야 된다는 소리다.-_-
Windows의 밑바닥은 Linux나 Mac(도 요즘은 Unix지만)과는 완전히 다르기 때문에, 그 위에서 이걸 구현한다는것도 절대 만만한 일은 아니다.
둘째. 개발자는 모두 착한 사람이 아니다.
ActiveX는 웹 브라우저에서 돌아가니까, 언뜻보면 그냥 웹 페이지의 일부로 보이지만.. 위에서 설명한 이유들로 인해 사실은 "프로그램"이다.
그게 어떤 의미냐면?
만약 내가 마음만 먹는다면, 블로그 방문자들에게 ActiveX를 하나씩 설치하게 하고(설치해야만 야한사진-_-을 볼 수 있게 만든다든지 방법은 많다) PC에 저장된 파일들을 내 PC로 전송하게 만드는 것 쯤은 일도 아니다. 비밀번호가 필요하다고? 키보드에서 어떤 키들이 눌려지고 있는지를 나한테 전송하게 만들고, 분석하면 된다.
Java Applet이나 Fire Fox, Chrome의 plug-in프로그램은 "웹 브라우저가 할 수 있는 일"로 그 힘이 제한되지만, ActiveX는 "Windows가 할 수 있는 일"이라면 뭐든지 할 수 있다.
강력함 때문에 뜨긴 했지만, 또한 그 강력함이 가장 큰 문제이기도 하다.
일반 프로그램들과 달리 ActiveX는 사용자가 "원해서"설치되거나 실행되지 않고, 대부분 그 용도가 무엇인지 모르는 채로 사용된다. (인터넷 뱅킹에서 수십개씩 깔리는 ActiveX가 뭐에 쓰는건지 아시는분? 물론 나도 모른다 -_-)
그냥 "설마 해로운걸 해 놨겠어?"라고 믿고 쓰는 수밖에 없다.
웹페이지에서 실행되지만 그 이상의 힘을 갖고 있고, 사용자가 인지하지 못하는 일들이 뒤에서 일어날 수 있다.
그래서 Vista에서는, 귀찮을 정도로 ActiveX의 설치와 실행에 대해 물어보도록 바뀐것이다.
자, 이 두가지가 표면적인 ActiveX의 문제다. 언뜻 생각하면 이 두가지 문제는 어떻게든 해결할 방법이 있다.
Windows와 IE에서밖에 돌아가지 않는다는건 MS한테는 오히려 다른 경쟁자들을 위협할 수 있는 무기일수도 있고, 필요 이상의 기능들은 제한하거나 계속 확인하도록(Vista보다 조금 더 귀찮게) 만들면 된다.
그런데 왜 MS에서는 COM이라는 익숙하고 훌륭한 기술을 버리고 엄청난 비용을 들여 .NET이란걸 새로 만들어서 들고 나왔을까? 한국같은 좋은 고객이 ActiveX에 목매달고 있는걸 알고 있으면서..
생각보다 이야기가 길어지니까, 오늘은 일단 여기까지 적어야겠다 -_-;
다음 글에서 ActiveX에게 잠재되어있는 가장 큰 문제점과, 한국 IT정책이 왜 이토록 ActiveX에 목매달고 있는지를 떠들어 보겠다.
PS: View-On(아래쪽 손모양 아이콘) 클릭해 주시면, 다음글이 더 빨리 써진다는 소문이 있던데 사실입니까? (...)