본문 바로가기

Papyrus/Digging in the Dirt

Digging in the Dirt 2, OLE와 오픈독(OpenDoc) 그리고 리얼리즘

하형일 : UC 샌디에고 경제학과 졸업, 매킨토시 사용경력 10년째인 컬럼니스트


모사(謨事)는 재인(在人)이요, 성사(成事)는 재천(在天)이라는 말이 있다. 일을 도모하는 것은 인간이지만, 그 일을 이루는 것은 하늘이라는 옛말이다. 그러나 컴퓨터 분야에서 일을 도모하는 것은 사용자라면, 그 일을 이루는 것은 마이크로소프트나 애플이다.




실리콘 문명으로 대변되는 컴퓨터 문명은 80년대 후반을 정점으로 이원화 체제를 구축하게 된다. 마이크로소프트 사의 도스체제가 실질적인 이데올로기로써 모든 사용자들을 하나의 테두리로 묶어 버리는 작업을 거의 완성시켜 갈 무렵, 이러한 체제에 반대하는 세력이 다른 형태의 운영체제를 만들어 내면서 탈도스의 몸부림과 도스의 정착화에 대한 대립은 극대화 현상을 이루게 된다.

작용(Action)이 있으면 반작용(Reaction)이 있는 것은 당연한 진리이다. 이 반작용 운동을 실질적으로 이끈 부류는 바로 애플 사의 시스팀으로 대표되는 GUI 체제 옹호론자였으며, 이때 컴퓨터 전문가들은 컴퓨터 문명의 이원화(GUI와 CUI)를 코카콜라와 펩시콜라에 비교하여 언급하기 시작했다. 그리고 급기야 이념적인 대립으로서의 운영체제론은 물론 종교적, 사회적 그리고 철학적 의미까지 도입시키며 애플의 GUI와 마이크로소프트 사의 CUI는 냉전체제로 접어들고 만다. 이 당시 필자는 맥월드 지의 커버스토리를 번역하였는데, 의외로 많은 사용자들이 시스팀의 선택을 놓고 이념과 종교적인 잠재력을 지니고 있다는 사실을 알게 되었다.

그러나 이러한 이념의 대립은 10년을 넘기지 못하고 만다. 마이크로소프트 사가 GUI 체제로 전환함에 따라 운영체제의 대립관계는 탈냉전과 화해의 국면을 맞이하게 되다. 돌이켜 보면, 10년도 채 되지 않는 이념전쟁이었지만, 올해 윈도우 95가 출현하기 이전만 해도 매킨토시 사용자와 도스 위주의 PC클론 사용자 사이에는 상당한 거리감이 있었다는 것은 부인할 수 없는 사실이다.

결국 대세는 GUI 체제로 기울기 시작했고 세계 1차대전 직후 체제(전체주의)와 문화 억압에 대한 반작용으로 리얼리즘에 바탕을 둔 표현주의가 등장한 것처럼, 개인용 컴퓨터 체제도 오로지 관습적이고 난해한 명령뿐이었던 체제에서 실리적이고 간략함에 기초한 소프트웨어와 하드웨어 체제를 정착시키기 위해 안간힘을 기울이고 있다.

V.일리아치는 '철학적 유산'에서 이렇게 말한다.

"....비본질적인 것, 가상적인 것, 표면에 나타나는 것들은 비교적 쉽게 사라지며, 본질처럼 그렇게 긴밀하지도 않고 견고하지도 못하다."

현재 개인용 컴퓨터의 운영체제도 가식적인 면을 서서히 제거해 가면서 다이어트(Diet) 체제로 돌입하고 있다.


램의 효율화

컴퓨터를 구성하는 가장 핵심적인 요소로 흔히 CPU, 하드웨어, 소프트웨어를 든다. 일반 사용자들에게 CPU는 절대적인 개념으로 하드웨어의 일부인데도 불구하고 인간의 심장과 같은 본질적인 의미로 평가를 받고 있다.

그렇다면, 소프트웨어와 하드웨어를 구체적으로 분석해 보자. 소프트웨어는 크게 다섯 가지 분야로 볼 수 있다.

첫째는 메뉴, 파일 관리, 그리고 운영을 맡고 있는 환경 분야이다. 둘째는 시스팀의 서체(글꼴)와 매킨토시 시스템의 퀵드로와 퀵타임 같은 그래픽/프린팅 분야이다. 셋째는 운영체제의 운영을 사용자들에게 가르치는 역할을 하는 도우미 체제를 비롯해 하드디스크 드라이브 셋업, 복사 프로그램, 그리고 윈도우 환경에서의 워드패드와 같은 유틸리티 분야이다. 마지막 분야는 기타요소로 인스톨러, 스커지(SCSI) 매니저, CD 마운터, 그리고 사운드 매니저를 포함하는 분야이다.

위의 다섯 분야는 실질적으로 소프트웨어를 구성하는 아키텍처임에도 불구하고 램에 대한 구체적인 역할과 언급을 찾아 볼 수가 없다.

그렇다면 하드웨어를 분석해 보자. 하드웨어는 간단하게 CPU를 중심으로 비디오, 사운드, SCSI, 네트워크 하드웨어 체제의 ASIC, 그리고 메모리, 저장기기, 그리고 누버스 등을 포함한 컨트롤러 체제라고 할 수 있다. 하드웨어 체제에는 컨트롤러 분야에 메모리를 포함시키고 있지만 컴퓨터 사용자들은 이상하리만큼 CPU의 속도에만 중요성을 부각시켜 왔다.


홈 컴퓨터와 퍼스널 컴퓨터

필자는 중학교 3학년 때 실용과학을 배우면서 홈(home) 컴퓨터와 퍼스널 컴퓨터의 차이를 이렇게 배웠다.
"일반적인 소비자용 마이크로 컴퓨터 분야는 크게 홈 컴퓨터와 퍼스널 컴퓨터로 나뉜다. 전자는 1KB에서 16KB의 램을 보유한 게임 중심의 5백 달러 이하의 컴퓨터이며, 후자는 16KB 이상의 램을 보유하고 있으며 워드프로세서, 회계, 그리고 그래픽 분야에 사용되는 전문적인 컴퓨터이다."

이때가 정확히 10년 전이었고, 실리콘밸리의 중심부였던 쿠퍼티노의 중/고등학교의 교육과정(그 당시 학생들은 대부분 128KB 애플 II와 매킨토시를 보유하고 있었다)이었다고 생각하면 오늘날 RISC칩의 퍼스널 컴퓨터를 사용하는 중학생들이 들으면 정말 우스운 과거사로 치부될 것이다.

그러나 필자가 말하고자 하는 핵심은 홈 컴퓨터와 퍼스널 컴퓨터를 바로 램 용량의 많고 적음에 따라 구분했었다는 것이고, 10여년 간 컴퓨터는 많은 혁명과 진화를 거쳤으나 아직도 램이라는 분야는 효율성면에서 골칫거리로 남아 있다는 사실이다.

GUI체제는 램의 효율성이 생명이다 다름없다. CPU가 심장역할을 한다면 램은 심장과 모든 것 기관들을 이어주는 혈액 역할을 하고 있는 매우 중요한 요소이다. 현재와는 비교도 할 수 없는 역할한 램 기술을 보유했던 10년전, GUI체제를 이끌어 온 매킨토시 시스팀 개발자들은 램의 효율화가 매킨토시의 생사를 결정짓는다고 생각한 이치는 너무 당연한 놀리였다. 매킨토시의 시스팀이 마이크로소프트 사의 윈도우보다 우수한 운영체제라고 평가받는 이유도 바로 매킨토시 시스팀의 보유하고 있는 램의 효율성이 비교할 수 없을 만큼 진보되어 있다는 점이 가장 클 것이다. 애플 사는 운영체제 상에서 실행되는 애플리케이션에서 램이 최소한으로 소요되도록 하기 위해 롬을 시스팀 극대화시킨 것이다.

좋은 예를 하나 들어보자. 윈도우 95를 안정적으로 사용하기 위해 컴퓨터 업계에서 추천하는 사양은 16MB의 램과 1GB의 하드디스크 용량이다. 그러나 쿼드라 매킨토시와 파워매킨토시에서 요구되는 기본 사양은 8MB의 램과 500MB의 하드디스크 용량이다. 더 나아가, 마이크로소프트 사의 워드와 엑셀을 매킨토시와 윈도우를 사용하는 PC클론에 설치하면 램과 하드디스크 용량에서 적어도 30퍼센트의 차이를 나타낸다. 간단히 말해 PC가 10MB의 램과 1GB의 하드디스크가 필요하다면 매킨토시는 7MB의 램과 700MB의 하드디스크가 요구된다. 따라서 매킨토시 시스팀은 롬을 중요시한다는 일반적인 이론은 그만큼 램 또한 중요시한다는 역설적인 의미도 담겨 있다는 사실 역시 알려져야 한다.


OLE 2.0과 오픈독의 개념

이제 마이크로소프트 사의 OLE 2.0(올레이라고 발음한다)과 애플 사의 오픈독(OpenDoc)에 대한 이야기를 할 수 있을 것 같다.

애플 사는 90년대 초 시스팀 7.0을 선보이면서 혁신적인 테크놀로지인 가상 메모리(Virtual Memory)를 내세웠다. 이 개념은 대량의 램을 요구하는 애플리케이션 체제에 대비해 사용하지 않는 하드디스크 용량을 스크래치 디스크(Scratch Disk)로 사용하며, CPU 속도의 절감을 감수하면서 램의 효율화를 극대화시키기 위한 애플 사의 정책이었다(가상 메모리와 스크래치 디스크의 개념에 대한 구체적인 설명은 다음 기회로 미룬다. 솔직히 이 분야는 컬럼 한 꼭지를 쓸 수 있을 정도로 커다란 장르이다)

90년대에 접어들면서 컴퓨터에 관련된 거의 모든 요소들이 가격이 파격적으로 하락한 것과는 대조적으로 램은 비교적 안정적인 가격을 유지해 왔다. 이는 바로 퍼스널 컴퓨터 시장이 램의 중요성과 효율성을 너무 방관해 왔다는 사실을 입증하는 좋은 예이다(애플 사가 선보인 가상 메모리는 실질적으로 사용자들에게 크게 어필된 개념은 아니다). 이 점을 마이크로소프트 사와 애플 사는 간파하고 램의 실질적인 효율화를 달성하기 위해 올레이(OLE)와 오픈독 개념을 들고 나왔다.

마이크로소프트의 OLE는 '개체 연결 및 삽입(Object Linking and Embedding)'의 약자로, 통합개념(Monolithic Application) 체제의 소프트웨어를 분야별로 쪼개 서로 호환성을 부여한다는 거대한 패러다임으로 출발하였다. 여기서 Object라 함은 일정한 데이터의 뭉치를 말하며, 이 뭉치들을 호환시키는, 즉 연결 작업을 Linking이라 하고, 이러한 데이터 뭉치들을 연결시켜 서로 다른 애플리케이션에 이어 주는 개념을 Embedding이라고 한다. 애플 사의 오픈독도 기본적인 개념은 올레이와 대동소이하다.


애플리케이션 중심체제와 도큐먼트 중심체제

그렇다면 "통합개념(Monolithic Application)은 도대체 무엇이냐?"라는 질문에 대한 답이 필요하다. 먼저 필자가 설명하는 이 개념들은 GUI체제를 전제로 한다는 것을 잊지 말자. 현재 우리가 사용하고 있는 워드프로세서, 스프레드시트, 레이아웃, 그래픽 그리고 데이터베이스 소프트웨어는 모두 애플리케이션 중심체제(Application Centric)에 기초해서 제작되었다. 즉, 하나의 애플리케이션이 자체적으로 필요한 기능을 모두 보유하고 있는 독립체라고 할 수 있는데, 이들 애플리케이션들의 호환성 문제는 텍스트와 그래픽과 같은 기본적인 개념조차도 필터의 도움 없이는 불가능하다.

그러므로 애플리케이션 중심체제의 가장 큰 단점은 램을 너무 과다하게 사용한다는 점과 상호간의 호환성을 떨어뜨린다는 점이다. 예를 들어, 워드프로세서와 데이터베이스는 동일한 기능을 수행하는 구문 입력기, 철자 검색기, 수학 부호 편집기, 문법 검사기 등의 미니 애플리케이션을 각각 포함하고 있다. 그러나 이 두가지 애플리케이션을 동시에 실행시킬 경우 램을 이중으로 요구하는 것은 물론 제작사의 의도에 따라 호환성을 문제를 발생시킬 수 있다.

"왜 같은 작업을 하는 철자 검색기가 애플리케이션마다 따로 제작되야 하는가?" 이러한 단점을 보강하기 위해 마이크로소프트 사와 애플 사가 구상한 개념이 바로 도큐먼트 중심체제(Document Centric)인 OLE(OLE를 도큐먼트 중심체제라고 하기에는 이른 면이 없지 않다)와 오픈독(OpenDoc)인 것이다. 오픈독(OpenDoc)의 Doc는 바로 Document의 약자이다.

물론 이전에도 램의 효율성을 표방하는 개념이 없었던 것은 아니다. 과다한 서체의 사용에 따른 램의 축소를 위해 오래 전부터 수트케이스(Suitcase) 개념이 도입되었고, 가상 램의 결정판인 램 더블러(RAM Doubler), 그리고 설치시 필요한 기능만을 첨가시키는 커스텀 인스톨(Custom Install) 등이 그 좋은 예라고 할 수 있다. 그러나 이러한 개념들은 결코 본질적인 해결책이 될 수 없으며, 그 이유는 램의 사용을 직접적으로 변경시키지 않고 간적접인 편법을 사용하는 데 문제가 있다. 즉, 램의 용도를 파격적으로 전환시키는 개념은 유일하게 도큐먼트 중심체제뿐이라는 결론이지만 소프트웨어 사들 간의 이해관계가 서로 상반되어 기대 이하의 진전을 보이고 있다.

도큐먼트 중심체제는 말 그대로 도큐먼트를 중심으로 애플리케이션 중심체제의 모든 기능을 필요할 때만 램을 가동시켜 따로따로 사용할 수 있는 개념을 말한다. 만약 필자가 이 컬럼을 도큐먼트 중심체제로 제작된 워드프로세서로 작성할 경우, 현 단계에서 필요한 기능은 단순히 텍스트 입력뿐이다. 그러나 애플리케이션 중심체제에선 거의 모든 기능들을 램을 사용해 띄워 놓고 필요할 때 메뉴에서 선택해서 사용해야 하므로 필요 이상의 램을 사용하는 것은 물론, 이로 이한 CPU 속도의 감소 등 많은 손실을 감수해야만 한다. 이러한 손실을 간단하게 해결해 주는 개념이 바로 도큐먼트 중심체제인 것이다. 워드프로세서의 기능들을 10가지의 작은 애플리케이션으로 쪼갠 후, 입력이 필요하면 텍스트 입력기능만 램이 사용하고, 그래픽 작업이 필요하면 그래픽 기능이 램을 통해 올라오며, 마지막으로 틀린 철자가 있는지 검색하고 싶으면 철자 검색기(스펠링 체커)가 램을 거쳐 스크린에 나타나게 된다.

결론을 내리자면 이렇다. 애플리케이션을 쪼갠다는 것은 램을 쪼갠다는 뜻이므로, 이 기술을 가상적인 램의 효율화가 아닌 현실적인(직접적인) 램의 효율화를 이루는 것이 된다.

작년에 OLE와 오픈독이 뜨거운 감자로 떠올랐을 때, 컴퓨터 전문자들은 이렇게 표현했다.

"나는 드라이버와 펜치가 필요한데, 시중에는 포크레인에 드라이버와 펜치를 끼워 팔고 있다."

필자가 구상해 낸 더 좋은 비유는 이렇다.

"현재 빨간색 포스터컬러를 구입하려고 하는데, 24가지 컬러를 담은 패키지의 구입만을 강요하고 있다."


OLE와 오픈독의 차이점

OLE는 객체지향 중심의 개념으로 툴과 데이터를 스크린 상에서 사용할 때 사용설정과는 무관하게 컴퓨터가 이러한 컴포넌트들을 독립적으로 관리하게 되는 체제이다. OLE는 오픈독과 비교해 큰 테두리 안에서의 개념은 유사하지만, 기술적인 면에서 바라보면, 차이점이 분명히 있다. 오픈독은 말 그대로 도큐먼트 중심체제로서 목적에 따라 레이아웃, 프리젠테이션, 데이터베이스, 그리고 워드 도큐먼트로 구분하며 시스팀이 자동으로 필요한 기능들을 보장해 주는 기술이다. 만약 도큐먼트가 텍스트, 그래픽, 그리고 차트의 복합으로 구성되었다면 텍스트에 커서를 놓으면 텍스트에 포함된 메뉴만 설정되며 그래픽에 커서를 클릭하면, 이미지와 컬러 등의 그래픽 관련 메뉴만이 나타나게 되는 개념이다.

결론적으로 말하자면, OLE는 오픈독에 비해 패러다임이 작은 편이며 현실적으로도 도큐먼트 중심체제는 아니다. 즉, OLE 개념은 현재 수준으로선 램의 효율성을 오픈독처럼 직접적으로 관리하는 것보다는 사용자들이 도큐먼트 제작시 애플리케이션들의 높은 장벽을 허물어 뜨린다는 장점이 있다. OLE와 오픈독은 애플리케이션 중심체제(Monolithic Application)를 거부한다는 공통점을 취하지만 오픈독이 램의 효율성과 속도면에서는 한차원 진보된 개념이 된다.

필자가 지난 호에서 언급했듯이 윈도우나 매킨토시 시스팀은 GUI체제로서 현존하는 운영체제 중 가장 진화된 인터페이스이다. 초보 사용자들에게는 사용하기 쉬운 운영환경을 제공하며, 고급 사용자들에게는 도스 체제에서 할 수 없었던 한계를 깰 수 있는 바탕을 마련해 준다. 즉, 초보 사용자들에게는 에스컬레이터를, 고급 사용자들에게는 엘리베이터를 제공하는 것이 바로 GUI체제인 것이다. 아직 OLE와 오픈독은 사용자들에게 안전하게 정착된 기술은 아니다. 그리고 OLE와 오픈독의 개발을 두고 개발자(기업)들의 극심한 이권다툼은 필자를 포함한 많은 사용자들을 슬프게 만든다. 이 이권다툼은 사용자들에게 일차적인 피해를 주는 것은 자명한 일이며, 이 분쟁이 길어지면 길어질수록 사용자들이 원하는 개념보다는 기업 간의 이해타산에 적합한 사생아가 탄생될 수도 있다는 점이다. 즉, 일을 도모하는 것은 사용자들이지만, 그 일을 이루는 것은 마이크로소프트 사와 애플 사인 것이다.


장르의 구별이냐, 완성도의 구축이냐?

인기가수 박진영이 TV 쇼 프로그램에 출연해 이런 표현을 했다.

"미국을 비롯한 서양국가에서는 음악에 대한 장르의 구분이 확실합니다. 하드록을 듣는 사람들은 하드록만, 재즈면 재즈, 그리고 메탈이면 메탈만 듣습니다. 그러나 우리나라는 위 경우와는 사뭇 다릅니다. 장르의 구분을 떠나 한 앨범에 팝, 레게, 힙합, 하우스, 테크노 댄스, 그리고 록까지 모두 수록하는 진기한 현상을 보이고 있습니다. 즉, 장르의 구분보다는 멜로디와 가사의 완성도(대중성이라고도 표현할 수 있지만)가 높으면 베스트셀러로 판매가 됩니다."

소프트웨어 시장에 대한 필자의 견해는 박진영의 이론과 별 차이가 없다. 컴퓨터 분야는 거대하고 값비싼 완성도 높은 애플리케이션보다는 실리적이며 값싼 구분형(임무형) 애플리케이션이 필요하다. 소프트웨어 구입시 필요한 기능만 구입해 사용하면 그만이지, 전혀 쓸모없는 기능들까지 번들로 구입할 필요는 전혀 없다. 필자는 이렇게 단언한다.

"도큐먼트 중심체제는 미래의 표준이 될 것이다. 필자는 기술적인 문제로 OLE와 오픈독에 제동이 걸릴 것이라는 생각은 해 본 적이 없다. 문제는 개발자들의 이권다툼이며, 이 신기술을 둘러싼 컨소시엄을 얼마나 사용자들의 입장에서 거사를 추진하느냐가 궁극적인 사실이 되겠다. 16MB의 램과 500MB의 하드디스크 용량을 요구하는 소프트웨어의 출현을 상상해 보면, 올레이와 오픈독은 컴퓨터 시장에 숨어있는 소중한 진주이다."


1995.12 Digging in the Dirt 2, OLE와 오픈독(OpenDoc) 그리고 리얼리즘




 여기서 하형일씨는 OLE 2.0을 잘못 이해하고 있는 듯 합니다. 시간이 지난 지금 생각해보면, 당시 OLE 2.0의 기반에 깔린 COM(Component Object Model)이란 혁명적인 개념을 이해한 사람이 매우 드물었습니다. OLE 2.0은 그저 원시적인 DDE에서 조금 더 진보된 OLE 1.0의 확장판 정도로 이해되었지만, COM은 사실 모든 마이크로소프트(Microsoft) 컴포넌트 기술의 근간이며, .NET 역시 이의 연장선에 놓여 있습니다. 심지어 ActiveX도 OLE Automation에 기반한 기술입니다. COM이 널리 퍼지기 시작하면서 OLE는 원래의 뜻인 데이터의 연동을 의미하는 단어로, COM은 이런 컴포넌트 기술을 의미하는 용어로 자리잡게 됩니다.