빌게이츠의 성공은「점유율의 마술」

일반입력 :2004/08/04 09:41

안윤호 (아마추어 커널 해커)

필자는 지난 글에서 MS가 운영체제에 진입하는 과정을 살펴 봤다. 빼어난 해커였던 게리 킬달의 CP/M에서 다소 이상한 과정을 거쳐 MS-DOS로 운영체제가 바뀌는 과정이었다. DOS의 전신이라고도 할 수 있는 CP/M과의 이상한 경쟁에서 가까스로 우위를 점하기 시작한 MS는 몇 번의 기회를 거쳐 MS-DOS를 개선해나갈 수 있었다.

요즘의 윈도우의 버전 체인지보다 더 자주 MS-DOS의 버전들은 빠르게 변하기 시작했다. 어떻게 보면 유닉스의 셸(shell) 명령어에서 영감을 얻은 것 같은 개념들이 MS-DOS에 도입됐다. 처음에는 IBM PC에 사용되었기 때문에 PC-DOS라 불리고 그 다음에는 MS-DOS라는 이름으로 바뀐 DOS는 마지막 버전까지도 CP/M의 그림자에서 벗어나지 못했다.

필자는 80년대 중반, 때로는 90년대 초반까지도 CP/M의 매뉴얼과 책들을 가지고 있었는데, 그 이유는 CP/M의 유틸리티인 디버거(debug)나 에디터(ed)와 MS-DOS의 유틸리티는 거의 비슷했기 때문이다. 다른 유틸리티도 마찬가지였다. 때로는 MS-DOS의 BIOS 콜을 잘 모를 때에도 CP/M 매뉴얼을 뒤적거리곤 했다. 쓸만한 DOS 구조 해설서가 별로 없었기 때문이다. CP/M의 BASIC들은 이후의 MS 제품인 GW-BASIC과 같은 구조라 포팅에 어려움도 없었다. 단지 파일의 포맷이 달라 애를 먹기도 했는데, 어떤 회사에서는 CP/M 파일을 MS-DOS의 포맷으로 바꾸어 주기도 했다.

닮은꼴 CP/M과 MS-DOS

1986년 마이크로소프트웨어 광고에는 지성컴퓨터(아마 어떤 독자들 중에는 봉천동의 지성컴퓨터를 기억하시는 분들도 있을 것이다)에서 이런 컨버전 서비스를 저렴하게 해준다는 광고를 본 적이 있을 것이다. 정작 애플에서는 시리얼 카드조차 귀하던 시절이라 애플에서는 프린터 포트를 이용하고 MSX에서는 IO 카드를 만들어 파일들을 빠르게 전송할 수 있었다.

변환한 파일들은 MS-DOS뿐만 아니라 과도기적인 MS와 ASCII의 합작이었던 8비트 MSX 기종의 MSX-DOS에서도 그대로 읽어들일 수 있었다(MSX-DOS는 마소에서도 기술 분석을 통해 장기간 연재됐다. 추억의 기종인 MSX는 조금 더 간단한 모습으로 변하여 제믹스나 겜보이라는 이름으로도 발매되었다. 겜보이에도 키보드와 디스크 컨트롤러를 붙일 수 있었다. 나중에는 MSX-II라는 본격적인 8비트 최고 사양의 기종도 발매되었다).

아무튼 당시에는 CP/M과 몇몇 개발 기종을 다루는 사람이라면 CP/M, MS-DOS, 그리고 MSX-DOS를 다 같이 만지곤 했는데도 큰 혼란은 없었다. 그만큼 서로 비슷했고 결정적인 시스템 콜의 차이도 없었기 때문에 포팅은 대체로 성공적인 편이었다. 더군다나 가장 많은 사용자를 가진 CP/M 플랫폼은 MS의 하드웨어 제품인 ‘소프트카드(Softcard)’를 사용한 애플의 CP/M이었기 때문에 개발자는 큰 차이를 느끼지 못하는 경우가 많았다.

이런 상황은 부분적으로 80년대 말까지 계속됐다. 286과 386이 보급되기 전까지는 플로피 용량과 메모리 용량을 제외하고 애플과 XT 기종의 큰 성능 차이도 없었다. 애플의 CPU인 6502는 2MHz 클럭이었지만 모든 인스트럭션은 1클럭에 끝났고, 4.7MHz의 XT는 여러 클럭에 걸쳐 인스트럭션을 수행했기 때문에 연산 속도 문제로 IBM PC에서 작성된 베이직을 다시 애플로 옮긴 적도 있었다. 물론 대부분의 일반 사용자는 당연히 16비트 기종이 더 빠르다고 생각했다. 실제로 사람들이 그렇게 생각하는 것이 어쩌면 더 중요한 사실일지도 모르지만.

기술적인 관점에서 말하면 CP/M은 기본적인 제어 메카니즘에서 유닉스의 프로세스나 쓰레드 모델과 다른 개념을 갖고 있었다. 게리 킬달은 빈약한 하드웨어 위에서도 높은 성능을 낼 수 있는 모델을 만들어냈던 것이다. 프로세스 모델에 대한 다른 대안은 인터럽트 모델로, 인터럽트 모델은 나중에 Richard Draves 같은 사람에 의해 Control Transfer라는 개념으로 정립됐다(Control Transfer in Operating System Kernels -1994).

인터럽트 모델은 스택 관리가 너무 어지럽지만 않으면 큰 문제를 일으키지 않고 프로세스 모델보다 자원을 덜 소비한다. DOS 역시 마찬가지로 효율이 높은 편이지만 소스코드의 분석은 어려운 편이다. 스택의 관리/추적이 어려운 측면이 있기 때문이다. 다른 운영체제 연구에서도 인터럽트 모델의 개념을 일부 도입하기도 했다. 관심이 있는 독자는 Draves의 글을 읽어보기 바란다.

우연의 힘 - 16비트판 킬러 애플리케이션

MS-DOS가 나온 초반까지도 이 운영체제의 운명은 알 수가 없었다. MS-DOS를 만들어 준 시애틀컴퓨터나 QDOS의 프로그래머가 제소당할 수도 있었으나 MS-DOS의 주 사용자인 IBM과의 법정 싸움이라는 기나긴 전쟁과 뒤탈을 걱정한 디지털리서치는 제소하지 않았다.

하지만 정작 큰 문제는 사람들이 IBM PC라는 컴퓨터를 얼마나 쓰게 될 것인가가 더 문제였다. MS가 PC의 운영체제를 장악하고 있던 관계로 많은 이점을 점하게 되어 수많은 경쟁자를 물리친 것처럼 초기에는 새로 등장한 MS-DOS가 CP/M의 아성을 무너뜨릴 수 있을지 사람들은 궁금해 했다. 이미 CP/M으로 포팅을 끝낸 수많은 프로그램들이 있었고 사용자들이 많은 돈을 들이면서까지 과연 CP/M에서 IBM PC로 옮겨와 MS-DOS의 제품을 사용할 지는 참으로 의문스러운 일이었다.

IBM PC가 IBM의 이름으로 등장했기 때문에 사람들이 신뢰감은 가지만 정작 이 PC로 무엇을 해야 하는가 하는 문제는 정말 큰 걱정거리였다. 나올 만한 애플리케이션은 이미 8비트의 CP/M에 거의 구현되어 사람들이 잘 쓰고 있었기 때문이다. 그 돌파구는 일종의 ‘우연의 힘’에 의해 다른 곳에서 발생했다.

정작 MS-DOS를 폭발적으로 보급시키게 된 사건은 IBM이나 MS의 노력이 아니라 예측하지 못한 ‘킬러 애플리케이션(이하 킬러앱스)’들의 등장이었다. PC의 역사에서 예측할 수 없던 곳에서 여러 번 일어난 이러한 ‘킬러앱스 현상’에 편승하지 않고는 커다란 성공이란 없는 것이다. 게리 킬달의 제자이며 나중에 시만텍의 CEO였던 유뱅크스는 ‘바로 그 장소에, 그 시간에’ 있어야 성공할 수 있다고 단언했다. 자신도 능력은 없으며 큰 성공을 한 것도 아니지만 그래도 그 자리에 있었기 때문에 그래도 어느 정도 성공을 할 수 있었다고 인터뷰에서 말했다. 유뱅크스는 해군 대위 시절 게리 킬달에게 컴퓨터를 배우고 CP/M 최초의 베이직 인터프리터를 만들었다.

『우연의 왕국』이라는 로버트 크린즐리의 책이 있다. 책의 내용은 인간적인 약점과 실수투성이의 주인공들로부터 실리콘밸리의 거대 산업이 탄생하는 과정을 그린 것이다. 로버트 크린즐리는 IT 세계의 가십성 기사를 많이 썼으며 ‘현장으로부터의 목소리’라는 컬럼을 연재했었다. 사람들은 인포월드에 실린 크린즐리의 글을 좋아했다. 크린즐리는 미국의 정보 산업에 대해 선정적이고 신랄한 글을 썼다. 한 치도 앞날을 예측할 수 없는 IT 산업에서는 루머와 소문이 일종의 법칙과 같은 것이며 매우 유용한 기능을 담당한다는 것이 크린즐리의 지론이었다. 크린즐리는 얼마전 ‘Triumph of the Nerds’라는 PBS의 유명한 방송 프로그램을 진행한 적도 있다.

<그림 1> PBS에서 크린즐리가 진행한 Triumph of the Nerds(www.pbs.org/nerds)

『우연의 왕국』은 얼마나 많은 우연(통제할 수 없는 변수)이 산업의 부침에 작용하는지를 보여준다. 저자에 따르면 실리콘밸리에서의 성공은 정말로 우연에 좌우된 부분이 많다는 것이다. 책에서 크린즐리는 성공의 가장 큰 요소가 운(재수)이며 절대로 운이 없는 사람들과는 사업을 하면 안 된다고 조언하고 있다. 노력이나 실력보다도 운이 최고라고 단언한다.

우선 갑작스럽게 PC를 만들기로 했고 이 사실을 회사 내부에서도 비밀로 했던 IBM의 개발 정책 때문에 MS라는 회사가 운영체제 시장에 뛰어들 수 있었던 것처럼 IBM은 회로의 부속 칩들을 구하기 쉬운 것들로 정한 후 모두 외주로 발주했고 개발 시간의 부족으로 인해 시리얼 카드, 비디오 카드, 그리고 병렬 카드를 제외한 나머지 하드웨어도 모두 써드파티에 의존할 수밖에 없었다. 따라서 규격과 기술 문서를 모두 공개했다. 당시 불분명한 PC에 대한 사업 전망과 암달사와의 소송이었던 메인프레임의 클론이 합법적이라는 판결로 인해 PC의 복제와 써드파티 참여를 모두 어느 정도 방조하였다.

써드파티의 노력의 결실인 하드웨어 개발로 IBM PC 자체의 판매량도 증가했다. IBM PC로 할 수 있는 일이 많아졌기 때문이다. 처음부터 의도하지는 않았음에도 불구하고 IBM PC의 판매량은 이러한 개방성에 의존한 바가 많았다. IBM PC의 존재 역시 하나의 킬러앱스라고 불릴 만하지만 진입 모델은 불합리한 대기업 내에 있던 혁신 그룹에 의해 우연히 진행됐다. 필자는 오늘날 IBM PC에서의 개방성 모델이 하나의 기술 표준 전략처럼 소개되는 것을 볼 때 그것은 우연이며, 사람들이 우연의 힘을 과소평가하고 있다는 생각을 하곤 한다.

IBM PC의 출현에 의해 16비트 시장이 갑자기 아슬아슬하게 생성됐다 (정작 PC 개발의 주역들은 회사의 원칙을 무시한 파격적인 개발로 IBM 내에서는 중용되지 않았다). IBM PC는 IBM의 명성을 등에 업고 초기에 3만~5만대 정도의 판매고를 올리면서 애플 II를 추월하였으나 아직 CP/M 클론들의 합에 견줄 만한 것은 아니었다.

당시의 대세인 8비트 컴퓨터들은 CP/M 운영체제로 무장하고 애플 II나 다른 컴퓨터에서 3000여 종 이상의 호환성 있는 소프트웨어가 있었다. IBM PC를 구입해도 애플리케이션이 별로 없는 상황이었으며 IBM PC는 상대적으로 큰 장점이 없었다고 할 수 있다. 8비트와 16비트의 싸움은 초기에는 16비트 쪽이 불리했다.

8비트의 비지칼크, 16비트의 로터스 1-2-3

다른 문제도 있었다. IBM이 PC와 함께 MS-DOS만을 판매한 것은 아니었다. 디지털리서치를 완전히 배제하지 않은 채 DRI의 CP/M-86과 UCSD-P 시스템도 같이 판매하고 있었다. 나머지는 성능은 나쁘지 않으나 가격이 비쌌다. 소비자들은 저렴한 MS-DOS를 선택했다. CP/M-86은 보다 안정적이기는 했으나 가격이 170달러로 60달러인 DOS에 비해 비쌌다. 이들 세 가지 중에서 단 하나만 시장의 지배자가 될 수 있는 것이었다.

빌 게이츠의 회고에 따르면 그 당시 MS는 획기적인 가격 조건을 IBM에 제시했는데 MS가 다수를 차지하려면 그 가격으로 승부할 수밖에 없었다. 10년 가까이 사업을 한 빌 게이츠는 많은 수를 차지한 (이른바 시장의 share라는 것) 것이 실제로 표준이 된다는 이야기를 그의 책 『미래로 가는길(road ahead)』에서 몇 번이나 되풀이했다. 유명한 비디오 표준 규격인 베타와 VHS의 점유율 싸움을 예로 들며 점유율의 마술을 강조했다. 성능이 조금 떨어지더라도 점유율이 높은 쪽이 승리한다는 것이다.

8비트에서 ‘비지칼크’ 같은 킬러앱스에 의해 시장이 커졌던 것처럼 16비트 시장의 규모는 IBM PC의 장점을 살리는 애플리케이션이 등장하면서 다시 커졌다. 비지칼크는 8비트 시절에 나온 것으로 이른바 킬러앱스라고 불리는 제품들의 효시가 되었다고 볼 수 있다. 킬러앱스들은 최초로 시장에 나와 완전히 새로운 카테고리를 형성하고 시장을 지배하는 제품들을 통칭한다. 킬러앱스들의 성공은 전혀 무관한 제품들에까지 영향을 미친다. 때로는 시장을 재구성하며 기존의 제품들을 시장에서 추방하기도 한다. 경쟁사, 제품, 회사 모두의 관계는 혼돈에 빠지고 시간이 지나야 재편이 이루어진다. PC에서도 같은 현상이 일어났다.

그 서막은 로터스(Lotus) 1-2-3에서 시작되었다. IBM PC의 보급을 연 킬러앱스인 로터스 1-2-3는 미치 케이퍼의 작품이다. 그리고 이 로터스 1-2-3 역시 스프레드시트였다. 스프레드시트는 댄 브리클린의 작품으로, 컴퓨터 이외의 분야인 경영학을 위한 목적으로 홀연히 출발하였다. 그러나 로터스 1-2-3는 바퀴(스프레드시트)를 재발명하면서 비지칼크에 식상한 사용자들을 끌어들였다.

『우연의 왕국』에서는 비지칼크가 댄 브리클린의 천재성에 의해 탄생하였고 로터스 1-2-3는 미치 케이퍼의 안목에 의해 탄생하였다고 평했다. 안목이란 잡다한 각종 시장에서 시장의 장래성을 가진 제품을 판단하는 능력이다. 안목은 일종의 기술적 몽상을 의미하기도 한다. 이들은 자신의 몽상에 따라 사람들을 설득하는 능력이 있어서 우수한 엔지니어를 만나 안목과 기술을 접목시켜 작품을 만든다고 한다.

미치 케이퍼는 IBM PC의 성공을 확신하였다. 따라서 PC 플랫폼에 특화된 스프레드시트와 핵심 패키지의 개발이 필요하지만 시장에서 아무도 IBM PC용으로 스프레드시트를 개발하지 않는다는 것을 보고 의아하게 생각했다. IBM PC의 개발 당시 IBM PC에서는 비지칼크와 MS의 ‘멀티플랜’이 판매되고 있었으며 IBM도 이를 진지하게 고려하기는 하였으나 소비자들의 비지칼크와 멀티플랜보다는 강력한 성능이 필요했다.

요즘도 사무적인 용도에는 엑셀같은 스프레드시트가 필수적이듯이 사람들은 강력한 성능의 스프레드시트를 갖고 싶어 했다. 스포츠카처럼 화려하고 강력한 이미지를 부각시키기 위해 광고에 로터스 스포츠카를 동원했다(로터스의 모델 중 국내에서는 기아자동차에서 라이선스 생산한 엘란이 있다).

미치 케이퍼는 비지칼크의 애드온 프로그램인 비지플롯/비지트렌드를 개발하면서 핵심 프로그램은 큰 돈이 된다는 사실을 알았다.

그는 자신의 소프트웨어를 120만 달러에 비지코프에 판매하고 남은 돈 중 30만 달러를 들여 IBM PC와 PC-DOS의 응용 프로그램 연구에 착수했다. 당시에는 IBM이나 MS조차 자신들의 제품 성공에 확신이 서지 않았던 때이므로 그 당시로는 상당한 모험이었다.

이 프로그램은 스프레드시트와 그래픽 기능, 그리고 간단한 데이터베이스 매니저를 갖고 있었다. 1-2-3라는 이름은 이 애플리케이션이 3개의 모듈이라는 것을 의미한다. 미치 케이퍼의 안목은 PC에 최적화된 강력한 성능의 구현, 당시로서는 파격적인 256KB의 과감한 메모리 사용, 그리고 300만달러의 모험 자본을 유치하여 전문 잡지가 아닌 일반 대중 잡지에 대한 광고비로 출하 후 한 달 동안 100만달러를 쏟아부었다.

발매 첫해인 1983년에는 목표치 400만 달러를 초과하여 5300만 달러의 매출을, 1984년에는 1억 5000만 달러의 매출을 기록하였다. MS는 1984년 자신보다 큰 회사인 로터스의 매입을 시도한 바 있다. 계약이 성립되기 직전 케이퍼의 동업자의 반대로 무산되기는 하였으나 아마도 성립되었으면 이들이 MS의 세 번째 대주주로 탄생했을 것이다. MS는 멀티워드와 멀티플랜이라는 애플리케이션이 있었다. 이들은 그 당시 최고는 아니었으나 DOS 호환이라는 무기로 잘 꾸려나갈 수 있었다. 얼마 후 로터스의 스프레드 시장 지배는 약해졌다. 로터스 1-2-3의 후속타를 이어나갈 적당한 패키지를 찾지 못한 것이다. 상황이 악화되자 1986년 경영권 문제로 미치 케이퍼는 로터스를 그만둔다.

하지만 로터스 1-2-3와 같은 시기와 때를 맞추어 나온 많은 애플리케이션에 힘입어 IBM PC의 판매량은 수만 대에서 수십만 대, 그리고 수백만 대까지 늘어났다. 초기에 확실한 애플리케이션이 없었으며 시장에서 생존마저 확신할 수 없는 상황에서 본다면 놀라운 변화였다. 16비트는 8비트 마이크로컴퓨터와의 경쟁에서 예상보다 빠르게 승리했고 이 시장에서 커진 것은 MS와 인텔이었다.

얼마 후 IBM은 PC 시장에서마저 다른 호환 기종에게 주도권을 빼앗기고 독자적인 버스를 갖는 PC를 만들었으나 호환 기종들에 완전히 밀리면서 실패했다. PS/2 키보드와 마우스 그리고 VGA의 보급을 앞당기는 것으로 만족해야 했다. 그 다음에는 OS/2라는 운영체제로 시장을 장악하려 하였으나 OS/2의 개발은 지연되다가 결국 시장에 늦게 진입했고 시장 장악에도 실패했다.

킬러앱스인 로터스 1-2-3의 등장 이후 불과 2~3년 만에 다른 킬러앱스들이 더 발매되어 PC는 한 해에도 수백만 대씩 팔리기 시작했다. 그리고 IBM PC와 그 호환 기종의 득세가 시작됐다. IBM 계열 PC가 ‘우점종’이 되면서 다른 회사의 소프트웨어 개발 수고가 덜어졌다. 호환되지 않는 종들은 거의 사라졌고 회사들은 IBM PC와 호환되는 제품만 개발하면 됐다.

우점종은 시장에서 표준이다. 이른바 ‘사실상의 표준(de facto standard)’은 표준 규격이 나오기 이전에 이미 실제 표준이 되어버린다. 로터스 1-2-3는 하나의 방아쇠였던 셈이다. 이른바 포지티브 피드백이라는 것은 잘 되면 더 잘 되고 안 되면 더 안 되는 시스템인데 이런 일은 점유율 싸움에서는 자주 일어나는 현상이다.

빌 게이츠는 그의 자서전적인 『The Road Ahead』에서 사실상의 표준과 ‘강제적 표준(de jure satndard)’에 대해 자세히 설명했다. 1984년에는 AT가 발매되면서 PC의 성능이 더욱 강력해졌고 MS-DOS의 득세는 더욱 높아졌다.

CP/M은 시장의 주도권을 많이 상실했다. ‘우점의 법칙’에 따라 CP/M-86의 영향력도 미미해졌다. 하드웨어 업체들도 PC와 호환되는 액세서리 카드들을 생산하기 시작했다. 다른 호환 기기를 만드는 회사(CP/M 보드와 액세서리 보드를 포함한)들은 점차 없어지기 시작했고 몇몇은 취미생활 수준의 생산량을 유지하며 명맥을 이어갔다.

초기 시장에서 MS-DOS를 플랫폼으로 삼은 Lotus 1-2-3가 나타난 것은 일종의 커다란 우연(행운)이라고 하겠다. 만약 미치 케이퍼가 CP/M-86이 더 낫다고 생각해서 이 운영체제에서 로터스 1-2-3를 개발했다면 상황은 달라졌을 수도 있다. 비지칼크의 개발자가 마땅한 컴퓨터가 없어 가게에서 애플을 빌려 개발되었던 것처럼.

GUI 운영체제, 윈도우의 시작

시간이 지나자 MS-DOS로는 오래 버틸 수 없다는 사실이 명백해졌다. 이른바 GUI(Graphical User Interface)라는 것이 필요해진 것이다. 필자는 예전에 엥겔바트와 제록스 PARC의 역사를 다루면서 GUI의 시작을 다룬 적이 있다. 사람과 컴퓨터가 상호 작용하는 패러다임은 밥 테일러의 지휘 하에 있던 PARC의 집요한 주제였다. 제록스에는 Star라고 부르는 그래픽 워크스테이션이 있었고 상업적으로는 실패하였으나 이후의 모든 워크스테이션에 지울 수 없는 영감을 주었다.

MS-DOS가 발표된 직후 MS, 애플, 그리고 디지털리서치 같은 회사들은 직관적인 인터페이스를 갖는, 이른바 GUI를 구현하는 운영체제를 만들기 위해 그 다음 전투를 준비하고 있었다. CP/M과 MS-DOS의 1차전을 치룬 디지털리서치와 MS는 이때 다시 한번 격돌하게 되는데 디지털리서치는 GEM이라고 하는 시스템을 들고 나온다. GEM은 매우 혁신적이긴 했지만 초기에는 문제가 많았다. MS는 이때부터 ‘윈도우(Windows)’라는 이름으로 제품을 만들기 시작한다. 윈도우는 더 문제가 많았다고 전해지지만 MS는 윈도우에 집요하게 매달렸다. 결국 GUI 환경으로 진행할 수밖에 없다는 것이 명백해지자 업계의 경쟁도 치열해졌다.

이때는 두 회사보다 한 수 앞서 있던 애플의 승리였다. 1984년 애플은 매킨토시를 발표한다. 매킨토시는 스타의 뒤를 이어 스티브 잡스의 지휘 아래 개발된 기종이었다. 잡스는 그 이전의 그래픽 워크스테이션인 리자(LISA)의 후속탄으로 매킨토시를 개발했다. 애플에서는 아무도 잡스가 성공할 것이라고 생각하지 않았으며 매킨토시도 실패할 것으로 보아 잡스를 말리는 사람도 없었다고 한다. 자신이 창업한 회사 내에서 고립된 팀을 이끌고 잡스는 매킨토시를 개발했으며 자신의 안목에 자신이 있었다. 개발진들은 잡스가 독약을 마시라면 그대로 마실 거라는 농담이 퍼질 정도로 당시 잡스의 카리스마는 대단했다.

매킨토시팀에는 Jef Raskin, Andy Hertzfeld, Bud Tribble, Bill Atkinson, Burrell Smith 같은 사람들이 동원되었다. 당시로서는 불가능해 보이는 업무에 도전했던 매우 뛰어난 팀었다.

HCI의 선구자인 Jef Raskin을 비롯해 이들 모두가 연구 대상이지만 아무튼 당시로서 매킨토시 정도의 컴퓨터가 개발된 것은 놀라운 일이었다.

지금으로 보면 매우 빈약한 68000의 하드웨어 기반 위에 GUI를 구성하고 시스템 소프트웨어와 운영체제를 만들고 기본적인 애플리케이션을 개발해야 했다. 그래도 모토롤라의 68000은 당시로서는 매우 성능이 좋은 CPU에 속했다.

스튜어드 브랜드의 회고에 따르면 제록스 PARC를 방문했던 스티브 잡스는 STAR와 같은 GUI를 보고 나서 갑자기 미친 듯이 화를 냈다고 한다. 왜 이런 중요한 것을 진작 자신이 모르고 있었던가를 통탄한 것이다. 사람들이 어이없이 쳐다보는 가운데 잡스는 컴퓨터의 미래는 GUI와 HCI에 있다고 확신했다는 것이다. 그 결과는 LISA라는 워크스테이션이었는데, 너무 비싼 관계로 판매에는 실패했다.

1984년 애플은 잡스의 지휘 하에 개발한 매킨토시를 발표했다. 성능이 별로 뛰어난 하드웨어가 아니었음에도 불구하고 사람들은 GUI의 가능성과 잠재력에 대해서 실감하게 되었다. 텍스트 기반의 컴퓨터와는 여실히 다른 직관적인 무엇인가가 있었다. 매킨토시 역시 큰 성공을 거두었다. 사람들은 GUI를 좋아한다는 것이 명백해졌다. 매킨토시는 혁신적인 디자인과 깔끔한 디자인으로 초기부터 사람들을 사로잡았다. 매킨토시가 대중적인 인기를 끌기 시작하며 보급되자 컴퓨터 업계는 GUI가 하나의 미래라는 것이 명백해졌다.

매킨토시의 개발 주역인 스티브 잡스는 얼마 후 애플에서 내부적인 문제로 퇴출된 후 다시 한번 NeXT 워크스테이션을 앞세워 시장에 진입했다. 68000 계열의 CPU를 사용한 NeXT는 유닉스의 일종인 Mach를 베이스로 또 한번 진보적인 GUI의 세계를 개척했다. 그러나 NeXT는 상업적으로는 실패했다. 필자는 지금도 MacOS X을 보면 NeXT의 그림자가 보인다. NeXT와 MacOS X의 기술적 지도자가 같은 사람이기 때문이다.

애플은 애플리케이션이 필요했기 때문에 MS와 제휴했다. MS는 매킨토시에 필요한 애플리케이션 개발에 참여한다. 애플리케이션 개발에 참여하면서 어떤 인터페이스 요소들이 필요한지 잘 알 수 있게 됐으며, 경험 곡선을 얻을 수 있는 기회가 생겼다. MS 개발팀들은 상당히 일을 잘 해나갈 수 있었다. MS는 매킨토시의 중요한 초기 킬러앱스를 개발했다. MS가 매킨토시를 위해 개발한 제품들은 워드프로세서인 Word, 스프레드시트인 Excel이 있었다. 이들이 MS가 만들어 낸 최초의 GUI 상품이었고 당시의 매킨토시에 있어서도 매우 인기 있는 애플리케이션이었다. 나중에 MS의 윈도우가 인기를 끌게 되는 이유 중에는 이런 애플리케이션이 미리 준비되었던 탓도 크다.

다른 사건이 하나 더 있었는데 바로 IBM의 OS/2 개발에 MS가 참여하게 된 것이다. IBM은 다시 운영체제의 주도권을 쥐기 위해 OS/2를 개발하기로 하고 이번에는 MS를 공급자가 아니라 개발팀의 일원으로 참여시켰다.

OS/2의 개념은 당시로서는 뛰어난 것이었으나 개발은 IBM 내부의 의사통합 문제로 지연에 지연을 거듭하다가 결국 OS/2가 시장에 나왔을 때는 큰 비교우위를 접할 수 없는 상태였다(OS/2에 대한 자료는 redbook.ibm.com에서 찾을 수 있다). MS와 IBM의 합작도 두 회사의 개발 방침의 차이로 결렬되었다.

MS와 IBM의 주된 차이는 OS/2는 너무 덩치가 크고 복잡하며 당시의 하드웨어에서는 성능이 좋은 것도 아니었다. PC부터 대형 기기까지를 총망라하는 시스템은 당시의 소비자에게는 필요가 없었다. 초기의 윈도우는 OS/2에 비해서는 턱없이 작고 단순한 시스템이었다. OS/2의 합작이 깨지면서 MS는 이번에는 윈도우를 독자적으로 개발할 것을 결심하게 된다. 하지만 너무 복잡한 시스템을 개발하는 일이 결코 현실적이지 않다는 귀중한 경험을 얻었다.

윈도우는 초기의 성능이나 구현의 완성도로 보았을 때 대단한 물건은 아니었다. 매킨토시에는 한참 뒤졌으며 나중에 인터페이스의 특허 문제로 소송을 당하기도 했다. 80년대 말부터 90년대 초까지 MS의 윈도우를 진지하게 생각한 사람은 별로 없었다. 우선 개발회사들이 아무도 윈도우에 필요한 애플리케이션 개발에 참여하지 않으려 했다는 사실에서 당시의 분위기를 짐작할 수 있을 따름이다. 매킨토시에 대해서도 너무 어렵다는 이유로 대다수의 회사들이 애플리케이션 개발에 참여하기를 꺼려했다.

무주공산에 똬리 튼 윈도우 3.1

MS는 1983년부터 윈도 OS 버전 1.0을 개발하기 시작해 1985년에 출시했다. 그러나 MS 워드와 함께 출시된 윈도 버전 1.0은 기술적으로 완성된 제품도 아니었고, 윈도우의 그래픽 환경을 뒷받침해줄 만한 하드웨어도 없었다. 1987년 MS는 GUI 옵션과 메모리 관리 기능을 포함한 윈도 2.0을 출시했으나 역시 시장의 반응을 얻는 데에는 완전히 실패한다. 그리고 1990년에서야 어느 정도 실용 가능한 수준의 3.0 버전을 출시하였다.

MS는 윈도우 3.0에서 인터페이스를 개선하고 그래픽 기반 애플리케이션을 지원할 수 있는 디자인을 선보였다. 몇 개의 프로그램을 동시에 운영할 수 있는 간단한 멀티태스킹 기능과 새로운 아이콘 시스템을 도입한 3.0은 점차 매킨토시의 사용자 환경을 더 많이 닮아갔다. 나중에 이 문제는 법정으로까지 비화되었다. 성능이 대단한 것은 아니었지만 윈도우 3.0은 6개월에 1000만 카피 이상이 팔리며 시장을 석권했는데, 다른 회사의 운영체제들에 비하면 새로운 요소도 없었지만 기존의 DOS와 호환 가능하고 사람들은 그럭저럭 사용할 수 있었다는 사실도 중요하다.

IBM과 OS/2의 개발이 결렬된 해인 1992년 윈도우 3.1을 출시함으로써 윈도우는 드디어 시장 지배력을 갖게 되었다. 윈도우 3.0은 운영체제라기보다는 DOS 위에 다시 설치하는 시스템 소프트웨어라고 비판하는 사람도 많았다. 3.1에 이르러서도 매킨토시와의 완성도 비교는 어려운 일이었다.

그러나 이 기간동안 다른 회사들도 별로 잘한 일은 없다. 유닉스는 썬과 AT&T의 컨소시엄, 그리고 IBM이 주도하고 다른 회사들이 모인 OSF로 나뉘어 주도권 싸움을 벌이고 있었으며, 시장이 불경기에 들어가자 유닉스는 활력을 잊어버렸다. OS/2 역시 나름대로 부진했다. GEM은 개념은 훌륭했으나 좋은 애플리케이션들을 확보하지 못했다. NeXT는 성능과 개념은 다 좋았으나 일반 소비자들이 사용할 수 있는 준비가 부족했고 가격도 비쌌다.

유일하게 매킨토시가 일반 소비자를 위한 GUI 시장에서 독주하고 있었다. 그러나 매킨토시의 문제도 있었는데 가격이 조금 비싼 것을 제외하고도 매킨토시 롬을 포함한 시스템 인터페이스에 대한 자료가 공개되어 있지 않았고 하드웨어도 다른 업체의 생산을 허용하지 않았다. 다른 업체가 참여하려면 매킨토시 시스템을 스스로 해킹해야 했다. 몇몇 업체가 이러한 방식으로 매킨토시의 써드파티로 참여하고 있었으나 분명히 한계가 있는 작업이었다.

시장에 윈도우가 등장했을 때 비록 MS의 제품이긴 했지만 특별한 강점이 별로 없어 보였다. 초기의 윈도우는 완성품이라고 할 수 없었다고 한다. 그럼에도 불구하고 당시의 주종이었던 80386 정도의 머신에서는 잘 수행되었다. 보호 모드가 아니라서 메모리가 언제나 한계에 부딪히긴 했지만 사용자는 아직 잘 모르고 있었다.

얼마 후 윈도우에 32비트의 보호 모드를 올린 Win32가 나타났다. 문제가 조금 해결되어 어느 정도 진정한 32비트를 쓸 수 있게 되었다. 다시 얼마 후 Win32의 인터페이스가 모습을 바꾼 윈도우 95가 나타났다. 특별한 성능이 좋은 것도 아닌데 사람들은 다시 열광했다(6개월 만에 2000만 카피가 팔렸다). 사람들은 윈도우 95로는 무언가 할 수 있을 것 같았다. 그리고 얼마 후 NT 4가 모습을 드러냈다.

80년대 초반 인텔의 80286에서 보호 모드가 제시된 지 거의 10년 만에야 운영체제에 보호 모드가 등장한 것은 놀라운 일이다. 그 이전까지는 MS-DOS와 윈도우 3.1 모두 exrended memory나 expanded memory라는 이름의 편법에 가까운 메모리 뱅킹 방법을 통해서야 PC의 메모리를 조금 더 많이 사용할 수 있었다. MS-DOS가 단종될 때까지 보호 모드 DOS가 곧 나올 것이라는 소문이 있었으나 10여 년간 결코 출시되지 않았다. 필자는 가끔씩 소비자들이 원하는 것이 무엇이며 어느 정도인지 가끔 잘 모른다는 생각이 들 때가 있다.

운영체제의 ‘독점’이라는 외통수

두 가지 제품으로 장난감 제품처럼 보이던 MS의 운영체제들이 시장을 장악하기 시작했다. 개발할 수 있는 인력의 양적ㆍ질적 한계와 하드웨어에 맞추어가며 몇 년을 끌어온 윈도우 운영체제들이 무서운 속도로 퍼지기 시작한 것이다. 사람들이 바라는 것과 회사가 해줄 수 있는 것, 그리고 소비자가 MS에 길들여진 것의 합의가 이루어진 것이다.

MS가 실용성 위주로 시장의 눈치를 보며 몇 년간 개발을 진행하다보니 버전업과 페이스 리프트만 하면서 소비자들을 우롱하고 있다는 비판이 계속되기는 했지만 시장에서 MS의 점유율은 언제나 높았다. 때로는 너무 높다는 의견들도 있었다. 아무튼 결론은 MS의 운영체제가 장악했다는 것이다. 원점으로 돌아와 이야기한다면 사실상의 표준을 넘어서는 수준이 될 것이다. ‘MS와 기타’라는 이분법이 성립할 만큼 독점은 심각하다. MS의 기준에서 보면 시장점유율은 성공적인 편일 것이다.

운영체제라는 것은 단시간 내에 만들어지지 않는다. 개발자가 있다면 운영체제의 사용자가 있어야 한다(연극이 관객이 있어야 하는 것처럼). 그리고 어쩌면 개발을 주도할 회사도 있어야 한다. 적다 보니 CP/M에서 출발하여 오늘에 이르기까지 30년이라는 세월이 흘렀다. 개발자의 땀과 절망, 성취, 사용자의 만족과 실망, 그리고 열광을 포함한 커다란 인연의 사슬이 운영체제이다. 그것이 좋은 것이건 나쁜 것이건 그 인연은 대단히 질긴 것이다. 인연의 사슬은 너무 길고 질겨서 대부분의 개발자와 사용자들은 빠져나올 수 없을 만큼 강하다. @