마이크로소프트는 아직 기억하고 있다

윈도우를 여러 환경에서 사용할 수 있게 해 주는 앱 출시를 보며 마이크로소프트는 분명 먼 옛날에 있었던 오싹한 일을 아직도 기억하고 있다는 생각을 했습니다.

마이크로소프트는 아직 기억하고 있다

어느 날 밤 평소와 같이 주의력이 부족한 사람의 일상 기록에 소개한 제 행동을 기록하는 소프트웨어의 눈을 최대한 피해 내가 살아남은 이유의 앞부분처럼 빠르게 타임라인의 글을 훑다가 이번에는 마이크로소프트가 원격에서 실행되는 윈도우를 편안하게 사용할 수 있는 애플 플랫폼에서 동작하는 소프트웨어를 발표했다는 소식(Windows is now an app for iPhones, iPads, Macs, and PCs)을 봤습니다.

마이크로소프트는 이미 윈도우 프로페셔널 버전 이상에 한해 원격에서 접속해 사용할 수 있는 소프트웨어를 제공하고 있지만 사실 실제로 사용해 보면 여러 환경에서 윈도우를 사용할 수는 있지만 아주 훌륭하지는 않습니다. 코비드 국면이 한창일 때 당시 회사에서는 원격 업무를 위해 VPN을 통해 회사 기계에 mstsc.exe를 통해 접속할 수 있게 했는데 윈도우 환경에서 원격 기계의 윈도우에 접속해 사용하는 경험은 훌륭했습니다. 프레임이 조금 떨어지는 문제를 제외하면 가끔 로컬과 원격을 헛갈릴 정도로 훌륭했고 프레임이 중요한 부서에서는 좀 더 본격적인 원격 접속 소프트웨어를 사용했습니다. 이 원격 환경은 훌륭하게 동작했지만 원격 윈도우를 가장 잘 사용할 수 있는 환경이 윈도우라는 점은 개인적으로 좀 아쉬웠습니다.

마이크로소프트에서 새로 출시한 앱은 여전히 홈 버전의 윈도우에는 사용할 수 없지만 마이크로소프트에서 직접 제공하는 클라우드 기반 윈도우 환경과 회사에서 제공하는 원격 환경을 사용할 수 있다고 합니다. 여기까지만 봐서는 이전까지 윈도우 환경에서 훌륭하게 동작하던 mstsc.exe와 별로 다른 점이 없어 보이지만 이 앱이 애플의 주요 플랫폼인 아이폰, 아이패드, 그리고 맥에서도 돌아간다는 점은 이전과는 완전히 다른 점입니다. 이 글을 작성하는 2023년 겨울 현재 안드로이드 앱은 아직 준비되지 않은 모양이지만 이런 기세하면 애플 플랫폼 뿐 아니라 안드로이드 플랫폼을 지원하지 않을 이유가 없습니다. 아마 어떤 이유로 내부에서 안드로이드용 앱 개발이 늦어져 동시 런칭이 늦어진 것일 뿐이라고 생각합니다. 사실 이 앱을 당장 사용할 일이 일어나지는 않았는데 지금은 회사의 업무 환경 대부분이 클라우드에 올라가 있어 원격 윈도우를 직접 사용할 필요가 적고 또 집에서 게임하는데 쓰는 기계 사양이 아주 낮지는 않아 빌드를 집 기계에서 직접 돌릴 수도 있기 때문입니다. 하지만 마이크로소프트의 이런 앱 발표가 어떤 의미를 가지는지 생각해 보다가 이 소식은 그냥 그런가보다 하고 넘어가기에는 과거에 일어났던 아주 오싹한 역사의 연장일 수 있겠다는 생각이 들었습니다. 어쩌면 마이크로소프트는 수 십 년 전에 일어난 그 오싹한 일을 아직도 또렷하게 기억하고 있을 지도 모릅니다.

아주 먼 옛날 마이크로소프트는 복제의 달인이었습니다. 마치 컴팩이 법적으로 문제가 없는 IBM 호환 PC를 만들어냈던 것처럼 마이크로소프트 역시 IBM에 맙품할 소프트웨어를 개발하며 그 소프트웨어에 대한 IBM의 독점 권한 부여를 거절하는 세기의 의사결정을 통해 서기 2023년 현재까지 이어지는 엄청난 제국을 건설할 수 있었습니다. 초기 마이크로소프트는 그 스스로 역사상 최초의 소프트웨어나 서비스를 개발해 내지는 못했습니다. 그들은 도스 운영체제를 발표했지만 이는 그들이 온전히 개발한 것이 아니었으며 윈도우 운영체제를 개발했지만 이 역시 최초의 GUI 운영체제는 아니었습니다. 물론 이는 맥킨토시 역시 마찬가지이기는 합니다. 또한 그들은 다이렉트X API를 개발했지만 이는 이미 윈도우에서 동작하던 다른 그래픽 API를 대체하기 위해서였으며 한때 세계를 지배하던 인터넷 익스플로러 역시 넷스케이프 브라우저가 먼저였습니다.

그들이 발표한 소프트웨어의 초기 버전은 경쟁사 제품을 아무렇지도 않게 모방했고 또 그 결과가 그리 훌륭하지도 않아 항상 비난 받아 왔습니다. 윈도우 운영체제는 버전 3 이전에는 딱히 시장에서 의미를 가지지 않았고 이는 다이렉트X나 인터넷 익스플로러도 마찬가지여서 사람들은 마이크로소프트에서 새로 출시한 소프트웨어는 버전 3이 되기 이전에는 관심을 가질 필요가 없다는 이야기를 하기도 했습니다. 그런데 그렇게 별 것 아니라고 생각한 소프트웨어를 포기하지 않고 개발을 계속하는 불굴의 의지를 가지고 있었는데 시장에서 아무리 욕을 하든 말든, 또 사람들이 소프트웨어를 사용하든 말든 개발을 계속해 버전이 올라갔고 처음 출시되었을 때 욕을 먹게 만들던 여러 문제들이 수정되고 몇 년에 걸친 개발 끝에 어느 순간 경쟁사 제품보다 더 나은 상태에 도달합니다. 윈도우 운영체제는 버전 3에 도달하며 의미 있는 멀티태스킹 환경을 제공하기 시작했고 인터넷 익스플로러 역시 버전 3에 도달하며 이 브라우저에서만 동작하는 신기한 기능을 제공하기 시작했습니다. 또 다이렉트X는 버전 5에 이르러 이를 지원하는 게임이 폭발적으로 늘어났고 또 엑셀은 버전 4에서 경쟁 제품인 로터스 123 파일로 저장하는 기능이 추가되며 시장을 지배하기 시작합니다.

한편 이런 불굴의 의지가 크게 두드러져 보이기 전 시대에는 윈도우 운영체제는 아직 도스 운영체제와 경쟁하는 관계였는데 아직 윈도우 운영체제는 도스 기반에서 실행되는 일종의 운영 환경에 더 가까웠지만 윈도우에서 실행되는 도스는 네이티브 도스와 비교하기 어려운 답답한 환경이었습니다. 윈도우를 실행한 다음 그 안에서 실행한 도스는 네이티브 도스 운영체제와 비슷하게 생겼지만 당시의 여러 기술적 제약 때문에 도스 운영체제에서 시스템을 끝까지 쥐어 짜며 동작하던 소프트웨어의 요구사항을 만족할 수가 없었고 그런 도스 운영체제에서 동작하는 소프트웨어를 구동하기 위해서는 윈도우 운영체제를 종료해야만 했습니다. 그런데 이 시대에는 이런 불편함을 파고든 OS/2라는 운영체제도 있었는데 이들은 애플의 맥킨토시나 마이크로소프트의 윈도우와 같이 그래픽 유저 인터페이스를 제공하는 또 다른 운영체제였습니다. 이들은 자신들의 네이티브 인터페이스를 제공했지만 동시에 도스 운영체제와 윈도우 운영체제에서 동작하도록 개발된 소프트웨어를 구동할 수도 있었습니다. 그래서 도스나 윈도우 운영체제를 구입하고 그 위에서 동작하는 소프트웨어를 별도로 구입한 상태이더라도 이들을 더 잘 구동하는 OS/2라는 운영체제를 구입해 이전에 사용하던 소프트웨어 대부분을 똑같이 구동할 수 있었고 이 점은 OS/2 운영체제의 대단한 세일즈 포인트였습니다.

이론적으로 윈도우 운영체제 기반에서 작업하다가 윈도우를 종료하고 도스 환경으로 돌아가 다른 소프트웨어를 구동하고 또 윈도우로 돌아오거나 윈도우로 돌아올 수 없는 상태가 되어 시스템을 재시작 해야 하는 등의 불편함 없이 도스, 그리고 윈도우용 운영체제용으로 작성된 소프트웨어를 편안히 구동할 수 있다면 굳이 마이크로소프트 운영체제를 구입할 필요가 없습니다. 또한 이론적으로 OS/2 전용으로 작성된 소프트웨어는 기존 윈도우용으로 작성된 소프트웨어에 비해 훨씬 더 안정적이고 또 빠르게 동작했습니다. 그래서 윈도우 운영체제를 위해 작성된 소프트웨어와 이를 구동하는 OS/2 운영체제를 가지고 있으면 미래에 나타날 OS/2 전용 소프트웨어마저 구동할 수 있는 편안한 환경을 구축할 수 있었습니다. 하지만 이로부터 수 십 년이 흐른 미래의 우리들은 이런 대단한 운영체제가 완전히 사라졌다는 사실을 잘 알고 있습니다. 대충 생각해봐도 마이크로소프트의 두 가지 운영체제 모두에서 동작하는 소프트웨어를 시스템 재시작 없이 더 편안하고 안정적으로 구동할 수 있는 환경은 왜 현대에 이르지 못했을까요.

OS/2는 도스 운영체제용 소프트웨어와 윈도우 운영체제용 소프트웨어 양쪽 모두를 훌륭하게 구동했는데 아이러니하게도 이 장점이 오히려 OS/2 네이티브로 동작하는 소프트웨어를 개발할 동기를 줄였습니다. 개발사 입장에서 한정된 자원으로 최대한 많은 사용자를 확보할 소프트웨어를 작성해야 한다면 윈도우 운영체제를 타겟으로 개발하면 됐습니다. 그러면 윈도우 사용자, 그리고 OS/2 사용자 모두가 사용할 수 있었습니다. 만약 OS/2 네이티브에서 동작하는 소프트웨어를 개발한다면 이론적으로 윈도우에서 동작할 때보다 훨씬 빠르고 안정적으로 동작할 수도 있겠지만 윈도우 운영체제 사용자들을 위한 별도 버전을 개발해야만 합니다. 반대로 윈도우 운용체제용 버전 하나를 만들면 윈도우 운영체제에서는 당연히 잘 동작할 것이고 OS/2 운영체제에서는 일단 잘 동작할 뿐 아니라 상황에 따라서는 멀티태스킹 환경에서 윈도우 운영체제 자신보다도 더 잘 구동 되는 사례도 있었습니다. 이쯤 되면 개발사 입장에서 OS/2 전용 소프트웨어를 개발할 이유가 별로 없었습니다. 이런 시장 상황이 결정적인 원인이라고 말하기는 조금 어렵지만 OS/2는 결국 여러 상황 끝에 시장에서 선택받지 못하는 상황을 계속해서 겪었고 윈도우 95가 출시될 즈음에는 윈도우 95가 현대 관점에서 그리 안정적인 멀티태스킹 환경을 제공하지 못했음에도 불구하고 OS/2는 시장에서 의미 없는 존재가 되어 버렸습니다.

보다 폭넓은 고객을 확보하기 위해 여러 운영 환경을 지원하는 의사결정은 그 자체만 놓고 볼 때 꽤 훌륭해 보입니다. 시장에서 가장 널리 사용되는 두 가지 운영체제에서 동작하는 소프트웨어를 거의 비슷하게, 때로는 그보다 더 훌륭하게 구동 시키는 환경을 개발하자는 의사결정은 훌륭할 뿐 아니라 기술적으로 이를 달성했다는 사실 자체가 대단하기도 합니다. 하지만 근본적으로 이런 결정은 경쟁 제품 사용자들이 새 운영체제를 고민할 이유를 만들지 못했을 뿐 아니라 개발자들 역시 새 운영체제 전용 소프트웨어를 개발할 이유 역시 만들지 못했습니다. 윈도우 운영체제를 타겟으로 개발하면 마이크로소프트와 IBM 양쪽 모두의 환경에서 잘 동작하는 마당에 소수의 사용자들이 기대하는 더 빠르고 안정적인 멀티태스킹 환경을 위해 윈도우 사용자들을 포기하는 결정을 할 수는 없습니다.

이런 사건 끝에 현대에는 운영체제를 개발하는 회사들은 서드파티 제작사가 한 운영체제에서 다른 운영체제를 위해 개발된 소프트웨어를 구동할 수 있는 환경을 제공하는 행동을 막지 않지만 절대 그들 스스로 그런 환경을 개발하지는 않습니다. 가령 맥OS에서 구동되는 훌륭한 소프트웨어가 있다고 해서 이를 윈도우에서 직접 구동하는 환경을 스스로 제공하지 않으며 이 반대의 경우도 마찬가지입니다. 물론 최근 애플에서는 윈도우용 게임을 맥에서 구동되도록 하는 개발환경을 제공했지만 이는 윈도우용 소프트웨어를 직접 구동하는 환경을 제공했다기 보다는 윈도우용 소프트웨어 개발사에게 같은 코드 베이스로 맥에서도 동작하는 소프트웨어를 개발할 수 있음을 어필하는 수준이라고 봐야 합니다. 지난 OS/2의 역사로 미루어 서로 경쟁사 제품에서 구동되는 소프트웨어를 함부로 지원할 때 무슨 일이 일어나는지 모두들 잘 알고 있고 마이크로소프트는 특히 이 사건의 당사자 중 하나였기에 이 사실을 여전히 잊지 않고 있는 것 같습니다.

이제 현대로 돌아와 마이크로소프트가 애플의 여러 운영 환경에서 원격 윈도우를 편안하게 사용할 수 있는 앱을 발표한 소식을 생각해 보겠습니다. 마이크로소프트는 더 많은 사람들이 윈도우용으로 개발된 소프트웨어를 구동하도록 하기 위해 맥에서 윈도우용 소프트웨어를 구동하는 환경을 직접 개발하거나 안드로이드용 앱을 아이폰으로 쉽게 포팅할 수 있는 환경을 개발할 수 있었을지도 모릅니다. 하지만 이들은 그런 행동이 어떤 결과를 가져오는지 이미 먼 옛날 경험한 적이 있습니다. 그래서 이들은 절대 다른 운영환경에서 윈도우 운영체제 자체, 또는 윈도우용 소프트웨어를 직접 구동시킬 수 있는 환경을 그들 스스로는 절대로 개발하지 않습니다. 여러 VM 개발사들의 소프트웨어를 통해 윈도우에서 맥을 구동하고 그 반대도 가능하지만 이를 결코 적극적으로 지원하지 않습니다. 대신 원격에서 온전히 동작하고 있는 클라우드 기반 윈도우나 회사에서 사용하던 VPN 기반의 윈도우 환경에 접속해 이를 맥에서도 편안하게 사용할 수는 있게 해 주지만 이 환경에서 동작하는 윈도우용 소프트웨어는 결코 로컬 맥에서 동작하지 않으며 원격의 온전한 윈도우 기반에서만 동작합니다. 아마도 마이크로소프트는 절대로 이 뚜렷한 경계를 넘으려 하지 않을 겁니다.

마이크로소프트가 먼 과거에 이런 오싹한 사건의 당사자 중 하나가 되던 시대에 애플은 이 사건으로부터 조금 떨어져 있었던 것 같습니다. 하지만 그들도 시장에 무슨 일이 일어났는지 똑똑히 봤을 겁니다. 그래서 마이크로소프트가 맥에서 원격 윈도우에 접속해 훌륭하게 동작하는 환경을 제공하는 행동을 막지는 않지만 그들 스스로 그런 환경을 제공하지는 않습니다. 반면 최근에 윈도우용 게임을 맥에서 직접 구동 시키는 환경을 제공하는 행동은 그들이 마이크로소프트에 비해 게임 쪽에서 얼마나 뒤쳐져 있는지, 또 이 차이를 극복하기 위해 얼마나 혈안이 되어 있는지 이해할 수는 있지만 또 한편으로는 과거 이들이 저 오싹하고 무서운 사건의 당사자 중 일부가 아니었기에 그런 행동의 무서운 결과를 충분히 인지하지 못하고 있는 것이 아닌가 하는 짐작을 하게 만듭니다.

물론 현대는 과거와는 많이 다르고 게임을 바라보는 마이크로소프트와 애플의 관점은 서로 다를 수 있습니다. 그래서 애플이 윈도우용 게임 구동 환경을 그들 스스로 제공한다고 해서 꼭 과거에 일어났던 오싹한 결과가 재현되지 않을 지도 모릅니다. 하지만 마이크로소프트가 애플 플랫폼에서 동작하는 원격 윈도우에 접속하는 편안한 소프트웨어를 제공하는 행동은 마이크로소프트는 여전히 과거에 일어났던 저 무시무시한 사건의 교훈을 아직 잊지 않고 있다는 사실을 간접적으로나마 알 수 있게 해 줍니다.