반쪽짜리 운영체제: OS/2의 업적과 비극

* 본 글의 원본은 ARS Technica에 기고된 "Half an operating system: The triumph and tragedy of OS/2"입니다. DOS와 Windows 3.1 시대를 살아본 사람으로서 꽤나 흥미로운 글이라 연습 겸 한국어로 소개 해보고자 합니다.

반쪽짜리 운영체제: OS/2의 업적과 비극, 저장소로부터: IBM이 더 이상 소비자용 OS를 만들지 않는 데에는 이유가 있다

Half an operating system: The triumph and tragedy of OS/2, From the archives: IBM doesn’t make consumer desktop OSes anymore for a reason.

제레미 레이머(Jeremy Reimer), 2019/11/29

업데이트: 지금 미국은 추수감사절 다음 날입니다. 따라서 대부분의 ARS 직원들은 지금 새 이야깃거리보다 할인 행사들을 찾는 데 바쁩니다. 그래서 명절을 맞아 쉬어가는 대신 저장소에서 왜 우리 모두가 오늘날 IBM PS/10을 사려고 하지 않고 OS/12로 업데이트 하지 않게 되었는지에 대한 소비자 기술의 고전을 다시 꺼내보기로 했습니다. 이 이야기는 2013년 11월 최초로 기고되었으며, 지금까지 변경된 부분은 없습니다.

1980년 말 시애틀의 하늘은 흐렸으며, 조그만 회사인 Microsoft의 젊은 사장인 빌 게이츠는 향후 수십년 동안 산업의 운명을 결정짓게 될 IBM과의 일정이 잡혀 있었다.

그는 IBM의 변호사들이 가득한 회의실로 들어섰다. 모두 깔끔한 맞춤 정장 차림이었다. 그에 비해 그의 정장은 구겨지고 크기조차 맞지 않았지만 그런 건 아무래도 좋았다. 패션쇼를 하려고 온 것이 아니었으니.

그 날 IBM은 곧 발매가 예정 되어있는 PC를 위하여 게이츠의 MS-DOS 운영체제에 대한 영구적인 권리를 8만 달러에 일시불로 구매하는 계약을 체결하게 되었다. 그 외에도 IBM은 Microsoft BASIC을 포함한 다수의 프로그래밍 언어들 및 그와 관련된 프로그램들 역시 라이선스 받기로 하였다. 이 상황에서 게이츠가 취했어야 할 가장 현명한 처사는 IBM과 로열티 계약을 하여 이후 판매되는 PC 한 대마다 일정 금액을 받는 방법이었다.

하지만 그는 현명한 사람이 아니었다. 현명함을 뛰어넘는 사람이었다.

이제 IBM PC-DOS로 불리게 될 MS-DOS에 대한 영구적인 로열티를 포기하는 대신 게이츠는 DOS를 다른 회사에게 판매할 수 있는 권리를 그대로 가지기를 원했다. IBM의 변호사들은 서로를 둘러보며 비웃었다. 다른 회사라니? 그게 누구란 말인가? PC를 만드는 회사는 IBM이 유일했다. 그 당시 다른 개인용 컴퓨터들은 자체 운영체제를 내장하고 있거나 당시 표준이나 다름 없었던 디지털리서치의 CP/M을 라이선스 받아 탑재하고 있었다.

하지만 게이츠는 현재만을 고려하지 않았다. 1996년 PBS 다큐멘터리 "괴짜들의 승리(Triumph of the Nerds)"에서 게이츠는 인터뷰를 통해 이렇게 밝혔다.

"시간이 지나면 사람들은 호환 기기를 만들어 낸다는 것이 메인프레임 시절 컴퓨터 업계의 교훈이었습니다."

메인프레임 업계의 선두주자로서 IBM은 이러한 현상을 경험하였지만 새로운 모델 출시와 마케팅 및 세일즈 역량으로 호환기기 제조사들을 낙오시킴으로서 선두를 지켜낼 수 있었다.

하지만 개인용 컴퓨터 시장은 상황이 약간 달랐다. PC 호환기기 제조사들은 메인프레임 시절의 경쟁사들에 비해 작고 빠르며 배고픈 회사들이었다. 그들은 제품을 만드는데 있어 그리 큰 초기 자본을 필요로 하지 않았으며, 특히 Phoenix를 비롯한 몇몇 회사들이 IBM PC 아키텍처에서 유일하게 비공개 되어 있었던 BIOS(Basic Input/Output System)를 합법적인 클린룸 리버스 엔지니어링 해 낸 이후로는 더욱 그러했다. 이제 PC 호환기기를 만들려면 메인보드를 설계해서 Phoenix의 BIOS를 탑재하고, 케이스를 설계 및 제조하고, 전원 공급장비, 키보드, 플로피 디스크 드라이브를 구매하며, 운영체제를 라이선스 해 오기만 하면 되었다. 그리고 빌 게이츠는 그들에게 운영체제를 라이선스 해 줄 준비가 되어 있었으며, 그럴 의지 역시 충분했다.

IBM은 그들을 앞질러 선두를 유지하기 위한 새 모델을 만들려고 시도하였지만, PC/AT의 영광은 그리 오래 가지 못했다. 인텔은 호환기기 제조사들에게 286 프로세서를 신나게 팔아대며 꽤 재미를 보았고, 구매자들은 IBM 가격의 몇 분의 1 만으로 AT와 100퍼센트 호환되는 컴퓨터를 살 수 있다는 사실에 열광하였다.

인텔과 Microsoft는 갈 수록 돈을 벌었으나, IBM의 점유율은 해를 거듭할 수록 줄어들기만 했다. 이제는 무언가 조치를 취해야만 했고, 거대한 회사가 조그만 신흥 회사들로부터 컴퓨터 시장의 주도권을 되찾기 위해 벌인 장대한 싸움의 씨앗은 그렇게 뿌려지게 되었다.

OS/2의 여명

맨 처음 IBM은 시간에 쫒겨 운영체제를 얻기 위해 Microsoft에게만 달려갔었다. 1980년은 개인용 컴퓨터 시장이 막 떠오르기 시작한 시기였으며, 전 세계 사업장에 자그마한 혁명들을 일으키고 있었다. 대부분의 큰 회사들은 IBM 메인프레임을 소유하고 있거나, 아니면 최소한 사용은 할 수 있는 위치에 있었다. 하지만 메인프레임은 기술 관리자라는 사제단에 의해 보호받고 있는 느리고 투박한 기계였기에 개인용으로 사용할 수는 없었다. 따라서 사람들은 동료들로부터 앞서나가기 위해 슬쩍 TRS-80, 오스본, Apple II 같은 개인용 컴퓨터를 회사에 들여와 사용하곤 했으며, 그런 사람들은 보통 광적인 컴퓨터 애호가들이었다. 전직 IBM 임원이었던 잭 샘즈는 인터뷰에서 이렇게 이야기했다.

"그 당시 우리는 그들의 마음을 얻지 못하게 될까 걱정했습니다. 결국 상부로부터 명령이 내려왔죠. 그들의 마음을 다시 얻을 수 있을 만한 기기를 가져와라."

하지만 IBM의 회장은 회사의 비대한 관료제로 인해 내부적으로 PC 프로젝트를 수행하는 데 몇 년이 넘게 걸리면서 그 사이 개인용 컴퓨터 시장이 비 IBM 기기들에게 완전히 점령당하게 될 지도 모른다는 걱정에 휩싸여 있었다.

이에 IBM은 본사에서 멀리 떨어져 있던 플로리다의 보카 래턴에 있던 변방 조직에게 기성품과 서드 파티 CPU, 운영체제, 프로그래밍 언어를 적극적으로 도입하여 제품을 만드는 매우 급진적인 전략을 사용할 수 있도록 허락하였다. 이들은 그 중 마지막 두 가지를 구하기 위해 Microsoft와 접촉하였으나, 당시 Microsoft는 운영체제를 판매 할 수 있는 권리가 없었기 때문에 IBM이 PC에 사용하려 했던 8088 CPU에서 작동하는 16비트 CP/M을 준비 중이었던 디지털리서치와 연결시켜 주었다. 이 과정에서 디지털리서치의 변호사들이 비밀유지협약에 서명하는 것을 거부함으로서 IBM을 내친 이야기는 이제 전설이 되었다. 이로 인해 거래가 어그러질 것을 걱정한 Microsoft는 팀 패터슨의 QDOS(Quick and Dirty Operating System)에 대한 권리를 시애틀 컴퓨터사로부터 다급하게 사들였다. Microsoft는 영 좋지 못했던 이름을 지워버림으로서 IBM을 위하여 QDOS를 "세탁"하여 IBM PC가 제 때 발매될 수 있도록 해주었다. 모두 행복했다. 디지털리서치의 창립자였던 게리 킬달만 빼고.

하지만 이제 그것은 옛날 이야기가 되었다. 지금은 1984년이며, IBM은 또 다른 문제를 안고 있었다. DOS는 그저 빠르고 지저분안 땜질이었을 뿐이었다. 기능 추가라고 해 봤자 IBM PC/AT의 새로운 하드디스크에서 파일을 좀 더 효율적으로 정리하기 위한 디렉터리 기능 지원밖에 없었다. 또한 IBM이 1980년에 서명해 준 계약서로 인해 호환기기 제조사들 역시 완전히 동일한 프로그램을 실행 할 수 있는 완전히 동일한 운영체제를 공급받을 수 있었다. 이제 IBM은 호환기기 제조사들과 차별화 하기 위하여 새로운 운영체제가 필요해졌다. 위원회가 조직되었으며 회의들이 이루어졌다. 그리고 새로운 운영체제는 OS/2라는 이름을 하사받게 되었다.

지금이야 운영체제들이 큰 고양이들이나 개 이름을 따라 지어진 캘리포니아의 마을 이름 같은 흥미로운 이름을 얻게 되었지만, 그보다 훨씬 더 옛날에는 매우 지루한 이름 뿐이었다. IBM이 새로운 메인프레임을 설계할 때 비슷한 형태의 이름으로 운영체제를 함께 발매하곤 했다. 즉 새로운 System/360 메인프레임 제품군은 새로운 OS/360 운영체제를 사용하는 식이었다. 매우 깔끔하고 정갈한 방식이었다. 마치 IBM의 정장과 재킷처럼 말이다.

IBM은 첫 번쨰 시도와 달리 쉽게 복제할 수 없는 새로운 형식의 PC를 만들고 싶어했으며, 마케팅적으로는 메인프레임과 묶고 싶어했다. 따라서 개인용 컴퓨터, 또는 PC라는 이름 대신 개인용 시스템(PS)이 되었으며, PC의 후계 기종이었기에 PS/2로 불리게 되었다. 진보된 새로운 운영체제는 OS/2가 되었다.

기호지세

하지만 이름을 붙여주는 것은 실제로 작성하는 것에 비하면 간단한 일이었다. IBM의 경영진은 자신들이 OS/2를 실체화 하기까지 얼마나 긴 시간이 필요하게 될 지 여전히 걱정하고 있었다. 결국 그 대신 IBM이 OS/2의 설계를 맡고 실제 작성은 Microsoft에게 맡기기로 결정하였다. 지난 번과는 다르게 IBM이 모든 권리를 온전히 소유하게 될 것이며, 서드 파티에게 판매하는 것 역시 오직 IBM만 할 수 있을 것이다.

그렇다면 대체 왜 Microsoft의 경영진은 자신들을 돈방석에 앉혀 준 캐시카우를 죽이려고 시작된 프로젝트를 맡기로 한 것일까? 스티브 발머는 이에 대해 이렇게 설명했다.

"그 당시 우리는 그 상황을 '곰 타기'에 비유했습니다. 우리는 곰 등에 어떻게든 매달려 있으려 하였고, 곰은 온 몸을 비틀며 우리를 떨어내려고 했죠. 하지만 그럼에도 우리는 곰 등에 계속 붙어있기로 했습니다. 그 곰은 가장 크고 중요한 곰이었으니까요. 만약 계속 붙어 있지 못한다면 결국은 곰 밑에 깔릴 뿐이었습니다.

당시 IBM은 호환기기 제조사라는 조그만 족제비들이 자신의 점심밥을 뺏어먹어 매우 화가 난 곰이라고 할 수 있었다. 그리고 업계의 많은 이들은 OS/2가 작성되기 훨씬 이전부터 이를 매우 심각하게 여기고 있었다. 하지만 그 누구도 OS/2가 세상에 나오는 그 순간부터 장대한 실패가 되도록 만든 일련의 사건들에 대해서는 전혀 예상하지 못하고 있었다.

주석: 본문은 1996년 PBS 다큐멘터리 "괴짜들의 승리(Triumph of the Nerds)"에서 많은 부분을 참고했습니다. 해당 다큐멘터리는 Amazon에서 볼 수 있으며, 글쓴이는 자료조사를 하는 동안 몇 번이고 돌려보았습니다.

뇌손상을 입은 칩

1984년에 IBM은 인텔의 80286 프로세서를 탑재한 PC/AT를 발매했다. 그리고 그 다음 해 인텔은 286에 비해 어느 면으로나 훨씬 진보된 새로운 칩인 80386을 발매하였다.

286은 16비트 CPU로서 24비트 주소 버스를 통해 16메가바이트의 RAM을 사용할 수 있었다. 286은 이전의 낡고 느린 사촌인 8086과는 조금 다른 방식으로 메모리에 접근하였으며, 인텔 칩 중 최초로 메모리 관리도구를 내장하고 있었다. 이 도구들을 사용하려면 24비트 주소 라인을 모두 개방하여 최고 속도를 낼 수 있는, 인텔이 "보호 모드"라고 부르는 모드로 진입해야 했다. 보호 모드가 아닌 경우는 "실제 모드"로 진입하며, 이 때에는 빠른 8086처럼 작동하고 1메가바이트 밖에는 메모리를 사용할 수 없었다.(640킬로바이트 제한은 PC에서 추가적인 비트들을 그래픽과 기타 동작들을 위해 사용할 수 있도록 IBM에서 임의로 설정한 것이었다.)

하지만 286의 보호 모드에는 재부팅을 하지 않으면 실제 모드로 진입할 수 없는 문제가 있었다. 이로 인해 실제 모드 없이는 항상 컴퓨터에 대한 온전한 접근과 제어가 가능한 것을 상정한 MS-DOS 프로그램을 사용하기가 매우 어려웠다. 빌 게이츠는 286에 대한 이런 문제점들을 모두 알고 있었으며, 이를 "뇌손상을 입은 칩"이라고 불렀다. 하지만 인텔에게 286은 후속작들을 설계하는 데 있어 수많은 결정을 할 수 있게 해 준 과도기적인 CPU였다.

386은 인텔 최초의 현대적인 CPU였다. 32비트 보호모드에서 경이로운 수준인 4GB 메모리에 접근할 수 있었을 뿐만 아니라, "가상 8086 모드"를 탑재하여 서로 간섭 없이 다수의 온전한 MS-DOS 프로그램들을 동시에 실행할 수 있었다. 지금은 가상화가 당연시 되어 한 기기에서 한 무더기의 운영체제들을 동시에 무리 없이 실행하고 있지만, 1985년에는 마치 미래에서 온 기술로 느껴졌다. 그리고 IBM에 있어서 그 미래는 매우 두려운 것이었다.

처음 발매 되었을 때 386은 꽤나 비쌌으나, IBM은 시간이 지나면 가격이 떨어질 것을 PC/AT를 통해 얻은 경험으로 알고 있었다. 게다가 386이 탑재된 PC에 386에 제대로 최적화 된 운영체제로 커다란 메모리 위에서 다수의 가상화된 프로그램을 실행한다... 딱 메인프레임을 연상케 한다. 단지 가격이 PC 수준이라는 것이 다른 점이었다. 그럼 OS/2를 386에 맞춰 설계해야 할 것인가? IBM의 메인프레임 사업부는 이런 생각이 밀물처럼 쏟아져 들어왔다. 뭐하러 메인프레임을 사장시킬지도 모르는 시스템을 설계해야 하는가?

이로 인해 OS/2는 286 위에서 실행되도록 만들어졌으며, DOS프로그램은 할 수만 있다면 "호환성 박스" 안에서 한 번에 하나씩만 실행되도록 했다. IBM의 입장에서는 그리 나쁜 것은 아니었다. OS/2 전용 프로그램으로 더 빨리 전환하도록 사용자들을 압박할 수 있었으니 말이다. 그렇게 결정은 이루어졌고, Microsoft와 빌 게이츠는 그 결정을 받아들여야만 했다.

GUI의 재난

1985년에는 문제가 하나 더 늘어났으며, IBM와 Microsoft 모두 매우 심각하게 주시하고 있었다. 1984년의 Machintosh와 1985년 Amiga와 Atari ST의 출시는 이제 합리적인 가격의 개인용 컴퓨터도 그래픽 사용자 인터페이스(GUI)의 내장이 요구된다는 사실을 보여주었다. Microsoft는 GUI판에 끼어들기 위해 같은 해 웃음이 나도록 한심한 수준이었던 Windows 1.0을 다급하게 발매했다. IBM 역시 같은 행동을 보이지 않으면 뒤쳐질 판이었다.

하지만 문제는, GUI를 만드는 데에는 시간이 걸리며 비GUI에 비해 자원을 더 많이 필요로 한다는 점이었다. 286을 탑재한 대부분의 호환기기들은 대개 메모리를 1메가바이트밖에 탑재하지 않았기 때문에 이는 꽤나 곤란한 일이었다. 매우 진보된 AmigaOS에서 실행되는 Workbench같은 일부 GUI는 매우 작은 메모리 안에 욱여넣을 수 있었지만, AmigaOS는 미친 천재들의 조그만 그룹에 의해 설계되었다. 반면 OS/2는 IBM의 거대한 위원회에 의해 설계되었다. 결과물이 결코 아름답게 될 수가 없었던 것이다.

메모리 크런칭

OS/2는 계속되는 지연과 관료제적인 싸움들로 점철되었다. IBM의 보안정책은 공식 중개인을 통하지 않고는 일부 Microsoft의 직원들까리 의사소통을 하지 못하도록 하였다. 또한 IBM은 kLOCs, 즉 코드 천 줄 단위로 계산되는 표준 임금 산정 방법을 기반으로 Microsoft에 비용을 지불하도록 하였다. 대부분의 프로그래머들이 알고 있는 것처럼 동일한 기능을 수행하는 두 가지의 루틴이 있다면, 둘 중 더 짧은 쪽이 CPU를 적게 사용하며, 메모리도 적게 점유하고 디버깅과 유지보수가 쉬워지므로 일반적으로 더 우수하다. 그럼에도 IBM은 kLOC 방식을 고수하였다.

이런 모든 문제점들은 OS/2 1.0이 1987년 12월 발매되었을 때 가장 가벼운 운영체제가 아니었다는 것을 의미한다. 엎친데 덮친 격으로 GUI는 준비조차 되지 않았으며, Mac, Amiga 및 심지어 Microsoft Windows까지 있는 시장에서 OS/2는 자랑스럽게도 80컬럼 흑백 고정폭 문자로 치장하고 등장하게 되었다.

OS/2는 자신이 대체하려 했던 DOS에 비해 장점이 있긴 했다. 자체 프로그램에 대해 멀티태스킹이 가능했으며, 286의 메모리 관리 기능 덕분에 각 프로그램들 사이에 약간의 보호도 제공했다. 하지만 발매 당시 기록적인 기대에도 불구하고 아무것도 없는 밑바닥에서부터 시작해야 했던 OS/2는 전용 프로그램이 매우 부족했다. 하지만 이후 발생한 메모리 쇼크에 비하면 어떻게든 해결할 수는 있었던 문제였다.

메모리 가격은 1985년 메가바이트 당 880달러에서 1987년 133달러까지 떨어질 정도로 지속 하락세에 있었다. 이 경향은 1988년 메모리 수요와 대용량 메모리 칩 생산의 어려움이 겹쳐지면서 급격하게 반전되어 갑작스런 시장의 메모리 부족을 불러왔다. 늘어만 가는 수요와 제한적인 공급이 맞물려 메모리 가격은 메가바이트 당 500달러로 급등하였으며, 향후 2년간 계속 유지되었다.

호환기기를 구매하려는 사람들은 선택을 해야만 했다. 한 면으로는 DOS 프로그램과 어쩌면 Windows 프로그램도 실행시킬 수 있는 기본 1메가바이트만 탑재할 수 있었다.(1987년 12월 Windows 2.0이 출시되었는데, 대단하진 않았지만 최소한 합당한 수준이었으며, 그정도 메모리로도 어떻게든 간신히 실행은 가능했다) 아니면 IBM으로부터 OS/2 1.0 Standard Edition을 325달러에 사고, 추가로 1000달러를 써서 OS/2와 프로그램을 원활하게 실행할 수 있는 최소 조건인 3MB의 메모리를 탑재할 수도 있었다.

굳이 설명할 필요도 없이 OS/2는 시장에서 즉각적인 흥행을 하지 못했다.

잠깐, 그런데 OS/2는 본래 IBM이 반짝이는 새 PS/2 컴퓨터를 팔기 위한 차별점이었어야 했을텐데? 대체 왜 IBM은 호환기기 소유자에게도 팔려고 했던것일까? 애당초 OS/2를 사용하려면 PS/2가 있어야 하지 않았던가?

혼란스럽지만, 절대 실수가 아니었다. IBM은 사람들이 그렇게 여기기를 원했었다.

IBM의 클론 전쟁

IBM은 PS/2 컴퓨터 제품군을 개발하는데 많은 시간과 돈을 투자했으며, 1987년 OS/2의 발매보다 조금 앞서 출시되었다. IBM은 호환기기 사이에서 표준이 된 오래된 16비트 ISA(Industry Standard Architecture)를 버리고 이론상 더 빠른 32비트의 전용 MCA(Micro Channel Architecture)로 대체했다. 호환기기 제조사들을 훼방하기 위해 IBM은 MCA에 가장 최신 법률적 기술들을 적용하여 서드 파티 MCA 확장카드 제조사가 카드를 한 개 팔 때마다 IBM에 로열티를 지급해야만 하도록 만들었다. 사실 IBM은 과거에 판매되었던 ISA카드들에 대한 로열티를 소급하여 청구하려고 시도하기까지 했다.

PS/2는 최초로 3.5인치 플로피 디스크를 사용하였으며, 현재까지도 일부 메인보드에 남아있는 둥근 키보드와 마우스 단자를 앞서 탑재하기도 하였다. 하위 모델은 매력적으로 포장되어 꽤나 합리적인 가격에 판매되었지만 성능은 그리 좋지 못했다. PS/2 제품군은 MCA가 없고 보수적으로 느린 클럭으로 작동하는 8086 프로세서를 사용하는 Model 25와 30에서 시작된다. 이 모델들은 구매자가 286과 MCA가 탑재된 Model 50과 60, 386 프로세서와 입이 떡 벌어지는 높은 가격표를 달고 나온 상급기인 Model 70과 80에 관심을 가지도록 만들어졌다. Model 50 이상은 OS/2가 발매된 후에는 함께 구매할 수 있었다. 또한 "Standard Edition"에 국한되지 않을 수 있었다. IBM은 통신 도구, 네트워킹 도구, SQL 관리자가 포함된 "Extended Edition"도 제공했다. Extended Edition은 오직 정품 IBM PS/2에서만 사용할 수 있었다. 호환기기들은 이 화려한 파티에 초대되지 않았다.

이 기기들은 PC 시장의 주도권을 호환기기 제조사들로부터 뺏어오기 위한 수단이었으며, PC는 시종이고 메인프레임이 주인이던 시절로 사용자들을 슬그머니 돌려놓기 위한 것이기도 했다. 이들은 빠른 속도를 내거나 386 프로세서의 32비트 컴퓨팅 능력를 활용할 수 있는 제대로 된 운영체제를 사용할 수 없었다. 이렇게 두 가지의 상반된 목표를 이루려 했던 시도는 결국 양쪽 모두 실패하였다.

호환기기 업계는 IBM의 거대한 법률 조직과 엮이지 않기로 하고 외관의 일부 디자인적 요소를 제외하고는 PS/2의 복제품을 만들려 하지 않았다. 당연히 새로운 MCA 확장 슬롯을 사용할 수 없었지만, MCA 카드는 희귀하고 비쌌으며 성능 제한도 있었기 때문에 ISA 슬롯에 머물러 있어도 나쁠 것은 없었다. 심지어 컴팩은 PC 호환기기 제조사들과 컨소시엄을 구성하여 다른 표준들이 나오기 전까지 상급기의 간극을 채울 새로운 표준인 EISA를 제창하기도 했다. 또한 PS/2의 화룔점정이었던 OS/2 운영체제가 늦었다. 게다가 처음에는 GUI도 없었으며, 1988년 OS/2 1.1에서 GUI가 등장하였을 때에는 대부분의 사용자들에게 있어 금전적으로 부담을 느낄 정도로 많은 메모리를 요구하였다.

시장이 변화하고 호환기기 제조사들이 ISA슬롯이 달린 빠르고 저렴한 386 컴퓨터 판매고를 더욱 올리고 있을 동안 빌 게이츠는 그의 유명한 "독서 주간" 휴가를 보내고 있었으며, 이 기간동안 그는 OS/2의 미래가 그다지 밝지 않을 것이란 결론을 얻게 되었다. 아마 IBM이란 곰은 지금 절벽을 향해 내달릴 준비를 하고 있을 것이다. 하지만 그 곰에게서 어떻게 떨어져 나와야 할 것인가? 정답은 "매우, 매우 신중하게"이다.

Microsoft와 IBM의 이혼

1989년 말, Microsoft는 그 때까지 발매되었던 것들 중 최고의 Windows를 마무리하는데 온 힘을 기울이고 있었다. 버전 3.0은 OS/2 1.2에서 처음 소개된 3차원 입체 효과와 멋진 새로운 아이콘들로 그래픽적인 요소가 진일보 되었으며, 386의 가상 8086 모드를 지원하여 DOS보다 Windows에서 더 많은 시간을 보내기 좋게 해 주었다. 이는 매우 고무적인 제품이 될 것이었으며, Microsoft는 IBM에게도 그렇게 얘기했다.

IBM은 여전히 Microsoft를 운영체제 사업의 협력사로서 여기고 있었으며, Windows 3.0 발표를 위한 최대한의 지원을 해 줌으로서 이 조그만 회사를 돕겠다는 제안을 하였다. 하지만 그 댓가로 IBM은 소프트웨어에 대한 권리를 인수하여 Microsoft가 서드 파티에게 라이선스를 줄 수 있었던 DOS 계약을 무효화하길 원했다. 빌 게이츠는 이 제안을 들여다보고 깊이 생각하였다. 그리고 제안을 거절하기로 하였다.

IBM은 이를 배신으로 간주하고 내부 문건을 통해 향후 Windows용 프로그램을 절대로 만들지 않을 것임을 밝혔다. 이제 결별은 지저분해지기 시작했다.

하지만 불행하게도 Microsoft는 여전히 OS/2를 개발해야 하는 계약에 묶여 있었다. 이 상황이 맘에 들지 않았던 IBM은 더 이상 소프트웨어 회사의 도움을 받지 않기로 하였다. 운영체제의 이름에 대한 일종의 비꼼처럼 두 회사는 OS/2를 나눠 가지기로 했다. 당시 이 결별을 두고 "이혼"과 비교하기도 했다.

IBM은 메모리 요구량을 줄일 목적으로 발매 예정이었던 버전 1.3을 포함한 OS/2 1.x대에 대한 개발을 넘겨받았다. 또한 오랫동안 기다렸던 32비트로 재작성된 OS/2 2.0도 함께 넘겨받았다. 이 시점에서 IBM은 드디어 최상위 운영체제가 이제는 286과 작별해야만 한다는 피할 수 없는 사실을 받아들이게 된 것이다.

Microsoft는 IBM의 마케팅 지원을 제외한 현존하는 Windows에 대한 권리를 그대로 보유하게 되었으며, OS/2 3.0에 대한 권리 역시 넘겨받게 되었다. 이 버전은 내부적으로 OS/2 NT로 알려져 있었는데, 몇몇 확정되지 않은 "신기술"이 포함되고 매우 진보한, 플랫폼 독립적으로 재작성된 실현이 불투명한 버전이었다. 겉으로 보기에 IBM은 메인프레임을 위협할 수 있었던 OS/2의 상급 변종을 없애버려 좋아했을 것 같지만, 사실 IBM은 이미 자기들만의 상급기 계획을 가지고 있었다.

OS/2 1.3은 1991년 발매되었으며, 메모리 가격이 드디어 하락하고 새 버전 역시 그리 많은 양을 요구하지 않음에 따라 그럭저럭 성공을 거뒀다. 하지만 이 시점에서 Windows 3이 로켓마냥 날아오르기 시작했다. 표면적으로는 OS/2와 매우 닮았으나 훨씬 저렴했으며, 자원도 적게 사용하고 "그런거 같긴 하지만 꼭 그런건 아니"었던 PS/2 종속성 같은 것도 없었다. Microsoft는 또한 호환기기 제조사들에게 매우 매력적인 번들 계약을 공격적으로 제안하면서 Windows 3가 새로 판매되는 대부분의 컴퓨터에 탑재될 수 있도록 하였다.

IBM은 또 다시 PC 업계에 대한 통제권을 잃어가고 있었다. 시장은 호환기기 제조사들로부터 벗어나지 않았고, DOS의 진정한 후계는 OS/2가 아닌 Windows였다. 곰이 예전에는 화가 난 상태였다면, 이제는 매우 분노한 상태였다. 곰은 Microsoft와 자신의 영역 안에서 싸울 작정이었으며, Windows의 성장세를 완전히 꺾어버리려 하였다. 장대한 싸움을 위한 무대가 갖추어지기 시작했다.

야수 만들기

IBM은 Microsoft와 함께 OS/2 2.0 개발을 위해 꽤 오랜 기간동안 붙어있었으며, 1990년 두 회사가 갈라설 당시에는 이미 상당히 많은 코드가 완성된 상태였다. 이는 IBM이 Microsoft가 Windows 3.1을 발표한 것보다 한 달 앞선 1992년 4월에 OS/2 2.0을 발매할 수 있게 하였다. 이제 게임이 시작되었다.

OS/2 2.0은 32비트 운영체제였지만 상당 부분 이전의 1.x로부터 물려받은 16비트 코드가 포함되어 있었다. HPFS(High Performance File System)는 여전히 16비트에 머물러 있었던 하위 시스템 중 하나였으며, 그 외에도 다수의 장치 드라이버와 GUI를 실행하는 Graphics Engine도 마찬가지였다. 그래도 커널이나 메모리 관리자 같이 32비트 코드를 필요로 하는 부분이 있었다.

IBM은 OS/2를 더 멋지고 빛나게 만들어 줄 새로운 기술이라면 그것이 어떠한 형태이던지 간에 사들이는 쇼핑 모험을 하기도 했다. 차세대 운영체제 기술을 위해 Apple과 협력하기도 하였으며, 스티브 잡스의 NeXTStep을 라이선스 받기도 하였다. 이 두 플랫폼의 기술이 직접적으로 OS/2에 적용되지는 않았지만, Amiga의 코드 일부는 그랬다. IBM의 REXX 스크립트 언어를 라이선스 해 주는 댓가로 코모도어로부터 Amiga의 기술 일부와 GUI 아이디어를 받아 왔으며, OS/2 2.0에 포함되었다.

그 당시 업계의 가장 큰 화두는 "객체 지향"이었다. 객체 지향 프로그래밍은 몇 년 전부터 이미 통용되고 있었으나, 이제는 개인용 컴퓨터에도 막 적용되기 시작한 참이었다. IBM은 이미 객체 지향 기술에 있어서 숙련자였으며, 1980년대에 자체적인 Smalltalk 구현체인 Visual Age를 개발하기도 했었다. 따라서 IBM이 OS/2를 그 어떤 것보다도 객체 지향적으로 만들어서 사방팔방 떠들고 다니려 한 것은 예상된 행동이었다. 문제는 객체 지향이라는 것은 대부분 프로그램 코드가 어떤 방식으로 이루어져야 하는지에 대한 내부 기술과 관련되었지, 실제 사용자에게 보이는 것은 아니었다는 점이었다.

IBM은 OS/2의 사용자 인터페이스를 "객체 지향적인" 형태로 만들기로 결정하였다. 이 프로젝트는 "Workspace Shell"이라는 형태로 실현되었으며, OS/2 애호가들이 가장 동경하면서도 경멸을 받는 기능이 되었다.

작업대에 셸을 위한 공간은 없다

OS/2의 기본 데스크탑만 놓고 본다면 2.0은 평범한 수준이었으며 아이콘들도 그다지 특출나진 않았으며, Workspace Shell의 무엇이 새롭고 차별화된 것인지 바로 드러나지 않았다. 하지만 일단 사용 해보기 시작하면 다른 GUI와는 꽤나 다르다는 것을 볼 수 있다. 아무 아이콘에서나 오른쪽 버튼을 누르면 단축메뉴를 보여주는데, 이전에는 없었던 것이었다. 아이콘들은 하나의 "객체"로서 다루어졌으며, 대충 객체 같은 일들을 할 수 있었다. 아이콘을 프린터 아이콘으로 끌어다 놓으면 프린터로 인쇄가 되었다. 아이콘을 파쇄기에 끌어다 놓으면 지워졌다.(그것도 영구적으로!) 또 "템플릿"이라는 이상한 아이콘이 있었는데, 열어서 빈 페이지를 "찢어낼 수" 있었으며 클릭하면 여러가지 프로그램들을 실행할 수 있었다.(1983년 Apple Lisa가 이와 비슷한 동작을 보였다) 그럼 OS/2에게 있어서 이걸로 객체화가 충분했을까? 아니, 아직도 멀었다.

각 폴더 창에는 여러 가지를 끌어다 놓을 수 있었으며, 각각 서로 다른 동작을 보였다. 컬러 팔레트에서 색을 끌어다 놓으면 창의 배경색이 바뀌었으며, 비트맵 이미지로도 동일한 작업을 할 수 있었다. 폰트 역시 마찬가지였다. 사실 이 세 가지를 모두 조합하여 어떤 폴더든 순식간에 매우 괴상한 조합으로 만들 수 있었으며, 이런 식으로 각 폴더마다 서로 다른 스타일을 적용시킬 수 있었다.

하지만 현실적으로 이런 일은 보통 실수로 그랬거나 친구에게 시연을 해 준 후 다시 되돌리는 방법을 모르는 경우에나 발생했으며, 두 번 다시 하지는 않았다. 이런 종류의 기능은 화려하긴 했지만 메모리를 너무 많이 잡아먹었으며, 1992년의 컴퓨터들은 여전히 2메가바이트나 4메가바이트의 메모리만 탑재된 채 팔리고 있었다.

제품 상자에(그것도 3.5인치 플로피디스크만 21장이 넘게 들어서 무거웠던) 표기된 OS/2 2.0의 최소 요구사양은 4메가바이트의 메모리였다. 예전에 한 번 제법 똑똑하다던 동네 딜러가 그정도 메모리를 가지고 OS/2를 부팅하려고 시도하는 것을 본 적이 있었는데, 그닥 좋은 모양은 아니었다. 아직 부팅이 다 끝나지도 않았는데 이미 운영체제는 메모리를 스왑하기 위해 디스크를 혹사시키기 시작했다. 그러고 나서야 부팅이 계속되었다. 그리고 또 다시 스왑, 부팅, 스왑.... 데스크탑이 사용 가능한 상태가 되기까지 족히 10분도 더 넘게 걸렸다. 그러다 아이콘에 대고 오른쪽 클릭을 하면 어떻게 될까? 또 다시 스왑이다. 기본적으로 OS/2를 그 정도의 메모리로 돌리면 거의 사용 불능이었따.

8메가바이트는 있어야 광고하던 대로 움직였으며, 디스크를 혹사시키지 않고 편안하게 사용하려면 16메가바이트는 있어야 했다. 다행히도 그 시점에서 메모리 가격은 메가바이트 당 30달러 정도까지 떨어졌기 때문에 OS/2 1.x 시절처럼 업그레이드가 부담스럽진 않았다. 하지만 그럼에도 이는 여전히 도입을 망설이게 하는 이유였으며, 특히 Windows 3.1이 2MB로도 충분히 사용 가능했다는 점에서 더욱 심각했다.

하지만 Windows 3.1 역시 자주 충돌이 발생했으며, 빌 게이츠나 좋아할 만한 분열된 사용자 인터페이스를 휘감은 비선점형 멀티태스킹 운영체제 모양의 가면 같은 수준이긴 했다. OS/2는 그보다는 더 나아지려 했고, 많은 부분에서 그러하긴 했다.

DOS보다 나은 DOS, Windows보다 나은 Windows

첫 번째 PC의 성공에도 불구하고 IBM은 한 번도 일반 소비자 중심의 기업이 아니었으며, 따라서 개인을 향한 마케팅에 대한 이해가 없었다. 예를 들자면, PS/2의 발매 당시 광고는 1970년대 TV 시리즈 M*A*S*H의 출연진들을 캐스팅했는데, 이미 한 물 간데다가 한편으로는 좀 의문스러운 캐스팅이었다.

이런 무감각한 마케팅적 접근은 OS/2에게도 마찬가지였다. 대체 그게 정확히 무엇이며, 어떻게 당신의 컴퓨터를 더 낫게 만들어 주는가? 또 그것이 과연 OS와 원활한 실행을 위한 메모리를 구매하는 추가 비용을 정당화하기에 충분한 이유들인가? 우월한 멀티태스킹 능력이 그 답 중에 하나가 될 수는 있지만, 한 남자가 포켓볼을 치는 길고 지루한 광고를 보는 것으로는 그게 어떤 장점인지 이해하기 어려웠다. 광고 비용 집행 역시 여러모로 의문스러웠다. 몇 년동안 IBM은 Fiesta Bowl의 스폰서로서 비용을 댔으며, OS/2의 연간 광고 예산의 대부분을 그 한 곳에 집중했다. 대학 풋볼 팬들이 정말 멀티태스킹 운영체제를 홍보하는데 적합한 대상이었던 것일까?

마지막에 IBM은 OS/2 2.0의 슬로건을 이렇게 정했다. "DOS보다 나은 DOS, Windows보다 나은 Windows." 전자는 확실하게 맞는 말이었으며, 후자는 어느 정도 맞는 말이었다. 그리고 동시에 이 슬로건은 운영체제를 완전히 몰락시키고 말았다.

OS/2는 당시 그 누구보다도 뛰어난 DOS 가상 머신을 가지고 있었다. 너무 성능이 좋아서 백그라운드에서 멀티태스킹이 실행되는 동안 DOS게임을 전체화면으로 실행할 수 있었으며, 윙 커맨더를 포함한 꽤 많은 게임들은 심지어 320x200 크기의 창 모드로도 실행할 수 있었다. OS/2의 DOS 박스의 성능은 그 위에서 Windows를 실행할 수 있을 정도로 월등했으며, 또한 Microsoft와의 결별 계약 덕분에 모든 OS/2는 IBM이 "Win-OS2"라고 부르는 기능이 포함되어 있었다. 이는 기본적으로 전체화면이나 창 모드로 실행시킬 수 있는 온전한 Windows가 그냥 따라오는 것과 다름 없었다. 메모리만 충분하다면 다수의 Windows용 프로그램들을 서로 완전히 분리되어 각자의 Windows가 실행되고 있는 가상 머신 위에서 동시에 살행 할 수도 있었으며, 이 경우 하나의 프로그램이 죽더라도 다른 프로그램들은 안전했다.

매우 대단한 기능이긴 했지만, 이는 GUI 프로그램 개발자들이 어떤 운영체제를 지원할지 결정하는 문제를 매우 쉽게 만들었다. OS/2가 순정 상태에서도 Windows 프로그램을 너무나도 잘 실행했기 때문에 그저 Windows에 맞춰서 만들기만 해도 두 플랫폼에서 모두 잘 작동하게 할 수 있었다. 반면 Windows 개발자들에게 있어서 OS/2 전용 프로그램을 만드는 것은 쉽지 않았다. 기반이 되는 API(Application Programming Interface)부터 서로 너무나도 달랐다. Windows는 Win16이라고 부르는 부실한 API를 사용했으며, 반면 OS/2는 Presentaion Manager라는 거창한 이름의 API를 가지고 있었다. 이 둘은 창의 위치를 잡기 위해 픽셀을 세는 방뱡을 화면의 위부터 할지 아래부터 할지도 다를 정도였다.

몇몇 회사는 OS/2 Presentaion Manager 프로그램을 만들긴 했으나, 수도 적거니와 뒤쳐져 있었다. 당연하겠지만 IBM도 그 중 하나였으며, 과거 자신들을 척지려 했던 Microsoft에게 아직도 화가 나 있었떤 Lotus도 끌어들였다. 하지만 사실 Lotus 뿐만 아니라 Corel같은 회사들이 Microsoft에게 화가 나 있었던 진짜 이유는 Windows의 급작스런 성공과 그 위에서 실행되는 Microsoft 프로그램들(Word, Excel, PowerPoint)의 급격한 판매고 상승이었다. DOS 시절의 Microsoft는 PC를 위한 운영체제를 만들었으나, 이제는 응용프로그램까지 만들게 된 것이다. 세상이 Windows쪽으로 기우는 동안 Microsoft는 응용프로그램 영역에 많은 힘을 쏟았다. OS/2용 프로그램을 만드는 것은 그에 대한 반격 중 하나였다.

여기에는 응용프로그램 시장에서 Microsoft와 점유율을 두고 다투기 싫었던 신생 회사들도 포함되어 있었다. 그 중 하나가 DeScribe였는데, OS/2용으로 매우 훌륭한 워드프로세서를 만들던 곳이었다.(학생 시절 없는 형편에도 내 돈주고 산 프로그램이기도 했다) 작가 지망생들에게 DeScribe는 매우 긴 파일명을 지원하는 아주 정갈한 원고지를 제공해주었다. 반면 Windows용 Word는 Windows와 동일하게 8글자로 제한되어 있었다.

한 가지 불행한 사실은, DeScribe같은 작은 회사들이 Lotus나 Corel같은 거대 기업들보다 훨씬 더 프로그램을 잘 만들었다는 것이었다. OS/2용 Lotus 1-2-3과 Draw는 느리고 메모리를 많이 잡아먹었으며, 버그도 많았다. 이는 OS/2 전용 프로그램 시장에 찬물만 끼얹을 뿐이었다. Windows용이 훨씬 빠르고 안정적이며 Win-OS2를 사용해서 쉽게 실행 할 수 있는데 왜 굳이 전용 프로그램을 사야 하는가?

전용 프로그램 진영은 갈 수록 절박해지기만 했는데, 심지어 IBM은 OS/2 프로그램을 만들도록 개발사들에게 돈을 쥐어주기 시작했다.(그 중 Borland가 가장 큰 손이었다.) 그리고 이는 모두들 예상하는 방향대로 흘러갔다. Borland는 프로그램을 빠르고 안정적으로 만들어도 이득이 전혀 없었기 때문에 그저 빨리 발매만 할 뿐이었다. 결국 시장에 상처조차도 내지 못했다.

하지만 절망적인 OS/2 전용 프로그램 상황에도 불구하고 운영체제 자체는 100만 카피를 팔며 다수 베스트셀러 목록에 오를 정도로 생각보다 잘 팔렸다. 많은 사용자들이 이 운영체제가 어떤 방식으로 컴퓨터를 사용하는 방법을 변화시키는지에 대해서 열정적인 광신도들이 되기도 했다. Windows 3.1과 비교하면 확실히 변화가 있긴 했다. 하지만 지평선 너머에는 또 다른 그림자가 도사리고 있었다.

시카고에 예상보다 일찍 도착하다

곰의 공격을 맞닥뜨렸을 때, 대부분의 사람들은 도망가는 것을 택한다. IBM의 도전에 대한 Microsoft의 반응은 도망가서 요새를 세우는 것이었다. 그리고 더 큰 요새를 짓고, 자동 무기와 레이저 대포로 무장한 거대한 강철 요새를 지었다.

1993년, Microsoft는 소규모 가업 네트워킹, 몇몇 작은 수정사항과 개선점, 그리고 일부 32비트 코드를 적용한 Windows for Workgroups 3.11을 발표했다. 즉각적으로 많이 팔려나가진 않았지만,(Microsoft의 매니저 중 한 사람은 내부적으로 "Windows for Warehouses"라고 부른다는 농담을 하기도 했다) 상당한 발전을 이루긴 했다. Microsoft는 또한 "시카고"라는 코드네임으로 더 많은 32비트 코드, 새로운 사용자 인터페이스, 선점형 멀티태스킹을 포함한 Windows 4.0을 개발하고 있었다.

회사의 미래를 위한 마지막이자 가장 중요한 결정으로, 빌 게이츠는 업계에서 검증된 미니컴퓨터 운영체제인 VMS의 설계자를 고용해서 OS/2 3.0 NT팀의 책임자로 배정했다. 데이브 커틀러의 첫 번째 지시사항은 오래된 OS/2 코드를 모두 버리고 바닥부터 시작하는 것이었다. 회사는 고성능, 고가용성, 플랫폼 독립적, 그리고 완전한 네트워킹이 가능한 운영체제를 만들기를 원했다. 그리고 그 운영체제는 이후 Windows NT로 알려지게 된다.

IBM은 이러한 Microsoft의 계획을 주시하고 있었으며, 그들을 타겟으로 한 새로운 OS/2를 준비하기 시작했다. Windows 4.0은 이미 수 차례 발매가 연기된 상태였으며, IBM은 이 때 상대에게 친절하게 곰 발을 날려주기로 했다. OS/2 3.0의 세 번째 베타 버전은(다행스럽게도 이번엔 CD-ROM으로 배포되었다) 다음과 같은 수식어가 달렸다. "시카고에 예정보다 일찍 도착하다."

또한 OS/2 3.0은 새로운 이름을 받을 예정이었는데, 이전의 코드네임들과는 다르게 IBM은 제품 박스에 박아넣기로 결정했다. 그리고 그 이름은 OS/2 Warp였다. Warp는 "warp speed"를 뜻하며, 힘과 속도를 연상시키게 하려는 의도가 있었다. 하지만 불행하게도 IBM의 유명한 변호사들이 사무실에서 낮잠을 자는 바람에 스타 트렉 시리즈에 대한 권리를 가진 파라마운트사에게 확인을 받는 것을 잊어버리고 말았다. 드러난 바로는 IBM이 일반적인 "jump to warp speed"라는 표현을 흉내내려는 것 조차도 소비자 제품을 광고 할 때 사용하려면 허락을 받아야만 했으며, 파라마운트는 이를 허락하지 않았던 것이다. IBM은 난감해졌다. 이름은 이미 공표가 되어버렸고, 우주선과 조금이라도 연관이 있다면 Warp라는 단어를 사용할 수 없었다. IBM은 할 수 없이 Warp의 본래 의미로 사용하는 데에서 만족해야만 했다. 구부러지고 뒤틀린. 말 할 필요도 없이 새 제품의 이미지로서 원했던 바가 아니었다. 1994냔 OS/2 Warp 발표회에서 처음에는 패트릭 스튜어트가 사회를 맡을 계획이었지만 무산되었으며, IBM은 스타트렉: 보이저의 선장 역이었던 케이트 멀그루로 만족해야만 했다.

OS/2 Warp는 두 가지 버전으로 발매되었다. Win-OS2가 동봉된 파란색 박스와 이미 Windows 프로그램을 실행하기 위해 Windows를 보유하고 있는 사람들을 위한 붉은색 박스 버전이었다. 붉은색 박스 쪽이 훨씬 저렴했기에 가장 잘 팔린 OS/2 버전이기도 했다.

하지만 이제는 Windows 95로 물리는 시카고가 무서운 속도로 다가오고 있었으며, 이는 IBM에게는 순수한 악재였다. 완전히 맞진 않았지만 대부분 쉽게 예상한 바 대로 IBM의 빈약한 마케팅으로 인해 Windows가 OS/2에게서 승리했을 것이라고 여길 수 있다. 그보다는 Microsoft가 공격적으로 호환기기 제조사들을 장악함으로서 Windows가 승리했다고 여기는 편이 훨씬 정확할 것이다. 하지만 특히나 OS/2 광신도였던 나 같은 사람에게 있어서 매우 잔인하고 고통스러운 진실은, 단순히 Windows 95가 OS/2에 비해 훨씬 나은 제품이었기 때문이었다는 점이다.

수 개월동안 나는 OS/2 Warp와 Windows 95의 최신 베타 버전을 486 프로세서와 16메가바이트 메모라가 달린 하나의 컴퓨터에 동시에 설치하여 사용하고 있었다. 수많은 테스트 결과 Windows 95가 베타 버전이었음에도 불구하고 훨씬 빠르고 부드러웠다는 결과를 받아들일 수밖에 없었다. 그 뿐만 아니라 전용 프로그램도 훨씬 좋았으며(이게 실질적인 무기가 되었다) 충돌도 적었다.

이게 어떻게 가능한 일인가? Windows 95가 아직도 16비트 Windows와 32비트 코드의 끔찍한 혼종이었던 것과는 다르게 이제 OS/2 Warp는 메모리 보호와 선점형 멀티태스킹을 가진 온전한 32비트 운영체제였다. 모든 방면에서 OS/2는 절대로 충돌이 발생할 수 없었다. 하지만 현실을 그렇지 않았다. 그것도 매번.

OS/2는 왜 SIQ를 사용했는가

불행히도 OS/2는 셜계상 심각한 결함을 가지고 있었다. 바로 SIQ(Synchronous Input Queue)이다. 이게 무엇인가 하면, GUI 윈도우 서버로 향하는 모든 베세지가 하나의 개찰구를 통과하는 것이다. 만약 OS/2 전용 GUI 프로그램 중 하나라도 윈도우 메세지 처리를 멈춘다면 전체 GUI가 멈추면서 시스템이 정지된다. 굳이 따지자면 운영체제 자체는 계속 작동은 하고 있다. 백그라운드 작업도 정상적으로 자기 할 일을 한다. 단지 GUI가 멈추면서 그걸 보거나 상호작용을 하는 등의 동작을 전혀 할 수 없을 뿐이다. 몇몇 적극적인 OS/2 애호가들이 조이스틱 포트를 감시하다가 사용자가 버튼을 누르면 교착을 풀어주는 프로그램을 만들기도 했다. 하지만 매우 드물게 먹혔다.

역설적이게도 OS/2 전용 프로그램을 전혀 사용하지 않고 VM에서 오직 DOS와 Windows 프로그램만 사용한다면 운영체제가 훨씬 안정적이었다.

OS/2의 운명은 사용자들이 자신의 IBM Aptiva 제품군 컴퓨터에 OS/2를 설치하는데 문제가 있다는 보고들이 나오면서 더욱 나쁜 방향으로 흘러가기 시작했다. IBM의 PC 사업부는 자신들의 시스템에 Windows 95를 탑재하기 위하여 Microsoft로부터 라이선스를 받아야 했으며, Microsoft는 옛 동업자에게 까다롭게 굴었다. 심지어 한 번은 IBM에게 OS/2의 개발을 전면 중단하라는 요구까지 할 정도였다. IBM의 PC 사업부는 결국 Windows 95 발매 당일 라이선스 계약을 체결하게 되었다.

Microsoft는 사실 굳이 그렇게까지 저자세를 취할 필요가 없었다. Windows 95는 공전의 성공을 이루었으며, 이전의 운영체제 판매량를 모두 갈아치웠다. 컴퓨터 시장의 판도도 완전히 뒤엎어 버렸다. 코모도어와 아타리는 이제 완전히 낙오되었으며, Apple은 Windows 95의 성공으로 인해 입지가 위험해졌다. IBM도 자신의 생존을 위해 싸웠지만, 가진 무기는 그다지 쓸모가 없었다.

미래는 IBM에 의해 돌아갈 수 있었다

그럼에도 IBM은 아직 싸움을 그만 둘 생각이 없었다. 빅 블루는 컴퓨터 업계의 선두자리를 탈환하기 위한 계획이 있었으며, 도움만 된다면 Microsoft가 아닌 그 누구와도 손을 잡을 의향이 있었다.

부숴야 할 첫 번째 대상은 인텔이었다. IBM은 Sun과 함께 RISC(Reduced Instruction Set Computing)라 불리는 새로운 마이크로프로세서 설계에 있어 초창기 개척자였다. 이는 기본적으로 길고 복잡한 명령어를 좀 더 빨리 처리할 수 있는 상대적으로 간단한 작업으로 짧게 자르는 것이었다. IBM은 POWER(Performance Optimization With Enhanced RISC)라는 이름의 CPU를 개발했으며, 초고가 워크스테이션에 탑재하였다.

IBM은 이 혁신적인 POWER RISC 프로세서 기술을 데스크탑에 적용하기 위하여 이미 Apple과 Motorola와 협력하고 있었으며, 그 영향력을 이용하여 "Pink"라는 코드네임으로 불리던 Apple의 새로운 운영체제 개발 프로젝트에 참여했다. 새로운 운영체제는 이후 Taligent로 이름이 바뀌었으며, Apple이 설계한 마이크로커널인 Opus에서 IBM이 Workplace OS라고 부르는 더 큰 운영체제를 위하여 개발 중이던 마이크로커널로 바꾸었다.

Workplace OS는 모든 운영체제를 끝장낼 궁극의 운영체제가 될 예정이었다. 카네기멜론 대학교에서 개발한 Mach 3.0 마이크로커널을 사용하였으며, 그 위에는 DOS, Windows, Machintosh, OS/400, AIX, 그리고 당연하게도 OS/2를 포함한 다양한 "인격"을 올려서 사용할 수 있었다. 또한 세상의 모든 아키텍처에서 실행될 수 있었지만 대부분 POWER 프로세서의 능력을 위한 시연장이 되었다. 혼자서 모든 것을 해낼 수 있었다.

그리고 IBM은 완성에 한 번도 다가가지 못했다.

그 사이 Microsoft에 있는 데이브 커틀러의 팀은 1993년 7월 Windows NT의 첫 번째 버전(3.1)을 이미 발매하였다. OS/2에 비해서 훨씬 많은 자원을 요구하였지만, 그만큼 더 많은 것을 할 수 있었다. 여러 가지 CPU를 지원하였으며, 다중 플랫폼 지원에 놀라울 정도로 안정적이로 고가용성을 제공했고, 발전된 64비트 파일 시스템을 사용하는 온전한 32비트였던 데다가 Windows 프로그램과 호환성을 가지고 있었다. 심지어 네트워킹도 포함되어 있었다. Windows NT 3.5는 1년 후 발매되었으며, Windows 95의 사용자 인터페이스가 적용된 새로운 버전을 1996년에 발매하는 것을 목표로 하고 있었다. Windows NT는 발매 초기 알맞는 시장을 찾는 데 고전하였지만 광고했던 것들은 모두 실현하였으며, 종국에는 2001년 Windows XP가 발매되면서 소비자용 Windows 9x계열과 합쳐지게 되었다.

그동안 IBM의 POWER 설계에 기반하여(하지만 훨씬 저렴한) Motorola와 협력하여 개발한 PowerPC는 Apple의 Machintosh 사업부를 지켜냈다. 하지만 다른 운영체제를 실행할 수 있는 소비자용 PowerPC 기기를 발매하려던 계획은 무기한 연기되었다. 가장 큰 이유는 다른 운영체제가 없다는 것이었다. Taligent는 개발 지옥에 빠지는 바람에 개발 환경으로 재배치 되었으며, 나중에는 완전히 버려지게 되었다. IBM은 다급하게 PowerPC용 OS/2 시험 이식판을 만들었지만 완성되기도 전에 방치하고 말았다. Workplace OS는 단 한번도 초기 알파 버전을 벗어나지 못했다. 역설적이게도 Windows NT가 PowerPC를 지원하는 유일한 소비자용 비Apple 운영체제였다. 하지만 인텔 시스템에 비해 PowerPC 시스템에서 Windows NT를 실행하는 것은 장점이 거의 없었다. PowerPC가 약간 더 빠르긴 했으나 명령어 세트에 맞게 프로그램들이 재컴파일한 전용 프로그램을 요구하였다. Windows 프로그램 제조사들은 새 플랫폼을 위해 다시 컴파일 할 필요를 느끼지 못했으며, 대부분 실행에 옮기지 않았다.

정리하자면 새로운 PowerPC는 인텔을 축출하는 것이 목적이었으나 Machintosh를 구하는 것 이상을 이루지 못했다. 새로운 Workplace OS는 Windows NT를 축출하는 것이 목적이었으나 IBM은 완성시키지 못했다. 그리고 OS/2는 Windows 95를 축출하는 것이 목적이었으나 정 반대의 결과물을 얻었다.

1996년, IBM은 개선된 Workplace Shell과 함께 Jave와 개발 도구를 포함하였으며, 오랫동안 기다렸던 SIQ의 개선을 이룬 OS/2 Warp 4를 발매했다. 하지만 충분하지 못했다. OS/2의 판매고가 기어다닐 동안 Windows 95는 불티나게 팔였다. IBM은 Windows에 대하여 OS/2의 상업적 가능성을 재평가하는 내부 연구를 지시하였으며, 결과는 좋지 못했다. 회사 상부로부터 지시가 내려왔다. 보카 래턴의 OS/2 개발 조직은 해체되고, Workplace OS는 중단되며, 1300명이 넘는 사람들이 일자리를 잃게 될 것이다. 곰은 그렇게 잔뜩 두드려맞아 피투성이가 된 채로 떠났다.

긴 황혼기의 어려움

IBM은 더 이상 OS/2의 새 버전을 만들지 않을 것이지만, 그럼에도 2001년까지 계속 판매했다. 대체 누가 사는걸까? 대부분 IBM의 메인프레임에 묶여있던 은행들이었다. 대부분 은행 자동화기기에서 사용했지만, 결국 Windows NT가 그 조그만 시장마저 가져가버렸다. 2001년 이후 IBM은 OS/2의 직접 판매를 중단하고 IBM의 공인 기업 딜러 중 하나였던 Serenity Systems를 통해 eComStation이름으로 판매하였다. eComStation은 아직도 구매가 가능하다.(실제로 몇몇이 사갔다) 하지만 매우, 매우 희귀하다. Serenity Systems는 현용 하드웨어를 지원하는 드라이버 업데이트를 계속 제공했지만 운영체제 자체에 대하서는 적극적인 개발을 하지 않았다. 단순히 충분한 사업적 이득을 얻을 만큼의 수요가 없었기 때문이다.

2004년 12월, IBM은 PC 사업부 전체를 중국의 Lenovo에게 매도한다는 발표를 함으로서 23년간의 개인용 컴퓨터 판매에 종지부를 찍었다. 그 23년 중 약 10년동안 IBM은 Microsoft가 장악한 PC의 운영체제를 자신의 것으로 대체하기 위하여 필사적인 노력을 하였으며, 마지막에는 실패했다.

많은 OS/2 애호가들이 수 년동안 IBM에게 운영체제의 코드를 오픈소스 라이선스로 공개 해달라고 청원하였지만 IBM은 일관되게 거부하였다. 아마도 OS/2에 아직 다른 회사가 소유권을 가지고 있는 코드가 다수 남아있으며, 그 중 상당수는 Microsoft의 것이기 때문에 그렇게 할 수 없었을 것이다.

오늘날 OS/2를 사용하고 싶어하는 대다수의 사람들은 역사적인 호기심에 의한 것이었으며, OS/2가 VMWare같은 가상 머신에서 실행하기에 많은 어려움이 있다는 점은 그마저도 매우 난감하게 만들어버렸다. 모스크바의 주요 은행 중 하나가 1990년대 말 자신들의 구형 OS/2 프로그램에 대한 대비책을 찾기 위하여 러시아의 한 회사를 고용했다. 결국 그 회사는 나중에 Parallels가 되는 자체적인 가상 머신 솔루션을 개발하게 되었는데, 현재 Macintosh 사용자들이 OSX에서 Windows용 프로그램을 구동하는데 사용하는 유명한 프로그램이다. 꽤나 으스스한 방향으로 현재 Parallels를 사용하는 것은 1990년대 중반 OS/2에서 Win-OS2를 실행하던 경험을 생각나게 만든다. 하지만 Apple은 현명하게도 절대로 Mac 컴퓨터에 Parallels를 동봉하지 않았다.

오늘의 교훈

그렇다면 대체 IBM은 무엇때문에 OS/2에 있어서 그렇게까지 큰 실패를 겪었을까? Microsoft는 대체 어떻게 Windows를 가지고 IBM을 밀어내다 못해 완전히 두들겨 패 버릴 수 있었을까? 그리고 가장 중요한 질문으로, 이 이야기가 현재의 소프트웨어와 하드웨어 기업들에게 주는 교훈은 무엇인가?

IBM은 개인용 컴퓨터 시장을 너무 오랫동안 외면한 바람에 결국에는 PC를 급하게 내놓으면서 합법적으로 쉽게 복제가 가능한 설계를 사용할 수 밖에 없었다. 그런 후 램프의 요정을 도로 밀어넣고 호환기기 제조사들로부터 시장을 다시 되찾아 오길 원했다. IBM이 PS/2와 OS/2를 발매했을 때 많은 업계 전문가들은 진지하게 그것이 가능할 것이라고 생각했었다.

하지만 불행하게도 IBM은 양 방향으로 잡아당겨지고 있었다. 기존 메인프레임 사업부는 PC가 너무 강력해져서 자신들의 영역을 갉아먹길 원치 않았다. 반면 PC 사업부는 개인용 컴퓨터를 많이 팔아야만 했으며, 목표만 맞출 수 있다면 그 외의 것은 어찌 되든 상관 없었다. 이러한 이해관계가 지속적으로 충돌한 결과 IBM의 하위 제품군인 Aptiva에서는 OS/2가 정상적으로 작동하지 않아 PC 사업부가 Windows를 대신 홍보해야하는 것과 같은 매우 난해한 상황들이 만들어지게 되었다.

IBM은 항상 PC는 자신들이 잘 알고 사랑해 마지않는 메인프레임을 사용하기 위한 터미널 정도의 역할을 하는 것을 최선으로 여기고 있었다. OS/2의 네트워킹 도구들은 Extended Edition에서만 사용 가능했으며, 그 마저도 거의 PC를 주 처리기인 메인프레임에 연결시키는 것을 상정한 것들이었다. 이것이 컴퓨터들간의 연결을 "하향식"으로 바라보는 방식이다. 그와는 반대로 Microsoft는 네트워킹을 서버 역시 Windows를 실행하는 다른 PC와 다름없이 여기는 "상향식"으로 바라보고 있었다. 개인용 컴퓨터의 성능이 향상되고 NT같이 더욱 안정적인 Windows 버전이 발매되면서 이러한 상향식 접근 방식은 더욱 더 접근성이 높아졌다. 비용도 훨씬 더 저렴한 점도 있었다.

IBM은 또한 OS/2를 "DOS보다 나은 DOS, Windows보다 나은 Windows"로서 홍보하는 매우 치명적인 실수를 저질렀다. 제품 자체에서 이 정도로 훌륭한 호환성을 제공하게 되면 OS/2를 위한 전용 프로그램 시장은 성장의 기회조차도 주어지지 않는다. 많은 이들이 OS/2를 구입하긴 했지만, 애무 적은 이들만이 OS/2 전용 프로그램은 구매했다.

"선구자의 딜레마"라는 책은 기존 시장의 지배자적 위치에 있는 기업들이 스스로가 기술 개발을 해 왔음에도 불구하고 제도적인 문제로 새로운 급진적 기술로 이행하지 못하는 아주 좋은 사례들을 소개하고 있다. IBM은 역사상 그 어떤 기업보다도 많은 컴퓨터 기술들을 개발하였으며, 누구보다도 많은 특허를 보유하고 있다. 그럼에도 불구하고 경쟁이 시작되자 메인프레임 시장을 유지하기 위해 개인용 컴퓨터 시장을 버리고 말았다. IBM은 지금도 메인프레임을 판매하고 수익 역시 좋지만, 더 이상 개인용 컴퓨터 시장에서 영향력을 발휘하지 못하고 있다.

오늘날 많은 이들이 Windows가 설치된 개인용 컴퓨터들이 "기존 시장"이 되면서 그에 따라 Microsoft가 기존 컴퓨터 시장의 지배자적인 기업이 된 것을 보았다. 새로운 급진적인 기술은 스마트폰과 태블릿이 되었으며, Apple과 Google이 새로운 지배자적 위치게 놓이게 되었다. 하지만 다행히도 Microsoft는 이를 맞닥뜨렸을 때 최대한 빠르게 반응하려 하였다. 심지어 기존 사용자 인터페이스(그러니까 Windows 데스크탑)를 태블릿에 더 어울리도록 재 설계하기까지 했다.

누군가는 IBM이 그랬듯이 Microsoft 역시 반응이 느리다고 할 것이다. 그 뿐만 아니라 과거 OS/2가 Windows를 이기지 못한 것처럼 Windows Phone과 Surface 태블릿 역시 iOS와 Android로부터 시장 점유율을 뺏어오지 못할 것이라고도 할 수 있다. 하지만 많은 기존 기업들과 Microsoft가 다른 점이 하나 있다. 절대 포기하지 않는다는 것이다. IBM은 OS/2를 포기했으며, 종국에는 PC를 포기했다. Microsoft는 새로운 모바일 시장에서 영향력을 가지기 위하여 수십억을 투자할 용의가 있다. Microsoft는 아직 성공하지 못했을 수 있지만, 그럼에도 계속 시도할 것이다.

OS/2의 두 번째 교훈, 즉 "시작부터 경쟁 운영체제에 대한 호환성을 너무 많이 확보하지 말 것"이라는 교훈은 현재의 휴대전화화 태블릿 제조사들이 매우 진지하게 받아들여야 할 것이다. Blackberry는 한 때 BB10 운영체제에서 안드로이드 프로그램을 쉽게 실행할 수 있다고 홍보하였지만 전혀 도움이 되지 못했다. 대체 휴대전화 운영체제를 만드는 기업이라면 Android 프로그램 호환성을 넣기 전에 매우 신중해야한다. 아니면 OS/2의 전철을 밝게 될 것이다.

OS/2의 이야기는 이제 과거의 한 페이지로 남았다. 오늘날의 급변하는 컴퓨터 환경에서 그다지 유용해 보이지 않을 수도 있다. 하지만 이 이야기는 "어떻게 다국적 초거대 기업이 작고 혈기 왕성한 신생 기업을 없애려 들었다가 패배하여 물러났는가"라는 관점에서 여전히 가치가 있다. 이런 종류의 이야기는 매우 드물며, 그렇기 때문에 더욱 소중하다. IBM이 절대로 약자가 이니었다는 사실을 기억하는 것이 매우 중요하다. 그들은 Microsoft는 부숴버릴 수 있는 자원, 기술, 그리고 능력을 가지고 있었다. 하지만 가지지 못한 것이 있었으니, 바로 의지였다.