
Leopard vs Vista 5: Development Challenges
Sunday, November 19, 2006
애플의 맥오에스텐 레퍼드와 마이크로소프트 비스타는 사전 마케팅과 제품 위치 선정, 시장 자리 선정, 그리고 통합성에 있어서 다른 전략을 취한다. 본 글에서는 개발 문제에 있어서 레퍼드와 비스타가 얼마나 다를지를 알아본다.
The Difference of Development
"
플랫폼의 역사, 그리고 그 대결"에 나온 교훈 중 하나를 보자. 소프트웨어 제품을 개발할 이상적인 방법은 일단 미리 출하시킨 다음, 정규적이고 발전적인 업데이트를 실시하는 것이다.
이 전략을 성공스럽게 펼친 곳이 마이크로소프트이다. 오피스와 윈도우즈로 마이크로소프트는 소비자용 소프트웨어에 있어서 아마도 제일 강력한 브랜드를 구축하였다.
90년대의 마이크로소프트 윈도우즈는 최초로 PC 하드웨어 업체들이 컴퓨터에 미리 설치시키고, 최초로 '쓸 만 하다'는 평가를 받은 제품인 버전 3.0과 윈도우즈 XP라고도 알려진 버전 5.1 사이에서 대단히 빠른 발전을 보였다.

리눅스와 여타
오픈소스 프로젝트들도 일단 출하한 다음, 여러가지 무료/오픈소스 프로젝트로 새로운 소프트웨어를 매일 매일 내놓음으로써 유사한 성공을 거두었다.
구글과 야후의 Flickr, 여러가지 유명한 다른
Web 2.0 서비스들도 정규적인 업데이트와 새로운 기능으로 사용자들을 끌어들였다.
When Development Stalls
최근 애플도 맥오에스텐에 자주 업데이트를 실시하고, 소프트웨어 제품군을 늘려가고 있지만, 과거 애플을 보면 발표한 계획보다 늦게 나오거나 내보내지 못하는 경우, 그 결과가 얼마나 참혹한지를 알 수 있다.
"
떠오르는 태양, 윈도우즈는 90년대 초반 맥 개발에 있어서 애플이 어떻게 그 주도를 잃었는지, 그리고 마이크로소프트 윈도우즈가 시장 대안으로서 어떻게 자리를 잡아갔는지를 묘사하였다. 결과는 애플에게는 재앙이었다. 마이크로소프트에 비해 데스크톱 상에서 거의 경쟁력을 상실한 것이다.
당시 애플 경영진의 리더쉽은 개선에 기여한 바가 거의 없었으며, 미래에 대한 확실한 길도 제시해 주지 못하였다. 따라서 애플은 크게 뒤쳐졌다. 완전히 사공 없는 배와 마찬가지로, 애플은 그저 떠있기만 했고, 과거의 영광에 의존해 살아갔다.
그래서는 주도권을 유지할 수 없다. 마이크로소프트가 미친듯이 노를 저어서만이 아니다. 마이크로소프트는 시장을 어떻게 만들어서 경쟁자를 공격할지, 그리고 경쟁자의 배를 어떻게 훔쳐낼지 확실한 방향감각을 지니고 있었다.
Deus ex Machina!
1991년에 이미 나이를 빠르게 먹어가고 있던 시스템 7이었다. 그로부터 6년 동안 중요한 업데이트를 제공하지 못한 애플에게 있어서, 마술처럼 갑자기 넥스트가 수호천사로 나타났다. 넥스트는 애플에게 새로운 기술을 채워주고, 애플이 가야 할 방향을 과감히 결정해 주었다.

"
애플 소생시키기"는 넥스트가 허덕이던 애플을 어떻게 살려냈는지, 애플의 단조롭고 폐쇄적인 기술 계획을 어떻게 더 현대적으로, 더 개방형으로 바꾸었는지를 설명하였다.
외부의 오픈소스 프로젝트를 통해 검증이 된 기존의 코드를 활용하면서, 애플은 더 빨라지고, 효율성도 높아졌다. 그리고 이제 한 번 속도를 높여내자, 새로워진 애플은 전략적인 방향으로 움직인다. 소프트웨어 개발에 대해서는, "
애플은 어째서 되살아났을까"에서, 효율성에 대해서는 "
애플의 소매 사업 모험"에서 설명하였다.
The Shadow Stalker
그 이후 마이크로소프트에게는 수상한 사건이 연속으로 일어났다. 애플에게 드리웠던 죽음의 그림자가 이번에는 마이크로소프트 쪽으로 기운 것이다. 정확히 10년 후에 상황이 이렇게 변하였다.
- 90년대 중반, 마이크로소프트는 MS-DOS로 일군 성공을 바탕으로 재빠르게 윈도우즈 제국을 광범위하게 구축하였다. ...애플이 애플 II를 발판으로 80년대 중반, 맥을 발족시킨 것과 마찬가지다.
- 1995년부터 2001년까지 마이크로소프트는 데스크톱 윈도우즈 제품군을 급속도로 개선시켰다. ...1985년부터 1991년까지 맥 시스템 소프트웨어를 빠르게 버전업시킨 것과 마찬가지다.
- 2001년, 마이크로소프트는 Longhorn, 그리고 나중에는 Blackcomb의 일부가 될 기술 발표를 시작하였다. ...10년 전, Copland와 Gershwin용 신기술을 발표하던 애플과 동일하다.
- 2002년부터 2006년까지 마이크로소프트는 기능을 제외시키고 계획을 변경시켰으며, 나중에는 Longhorn을 출하시키기 위해 노력을 질질 끌었으며, 몇 번이고 완전히 재시작하기도 하였다. ...10년 전, Copland때문에 애플이 시도했던 바와 일치한다.
- 2006년이 되자, 마이크로소프트 Longhorn이 광고에 미치지 못하리라는 사실이 분명해졌다. 게다가 기존의 윈도우즈 XP를 약간 개선시킨 것과 매한가지라는 점도 명확해졌다. ...1996년 Copland에서 쓸 만한 기술을 빼내가지고 Mac OS 8로 낙관적ㅇ니 이름을 붙인 것과 같다.
- 마이크로소프트는 Blackcomb을 허풍으로서 포기하였다. ...Gershwin이 10년 후의 목표 목록에 불과했다는 점을 애플이 인정했던 것과 동일하다.
What's Next?
오늘날 애플과 마이크로소프트가 다른 점이 한 가지 있다. 2006년 말, 애플을 살리기 위해 등장한
1996년의 넥스트의 존재가 마이크로소프트에게는 없다는 사실이다.
마이크로소프트는 향후 5년간 다시금 개발을 흐트러뜨리지 않겠노라 약속한다. 그러나 어떻게 무엇을 막을 계획인지는 전혀 신뢰성 있기 얘기하지 않았다. 2001년 당시 마이크로소프트 또한 어떠한 것도 제공하지 않은 채 5년을 묵히겠노라는 계획을 세우지는 않았었다.

구원을 위해 뛰어 나올 기술 회사가 따로 있다면서도, 마이크로소프트는 실제로 어떻게 난국을 타개할지, 옛날 기술을 어떻게 현대적인 아이디어로 바꿀지,
보안 오류와
구조적 결함은 어떻게 수정할지 거의 설명하지 않고 있다.
리눅스가 올 겨울 PC를 통제한다면 이러한 상황은 마이크로소프트가 장외로 몰고, 윈도우즈도 이제
집어 넣게 될 것이다. 그렇다면 새로운 개발은 모두 POSIX 상에서 이뤄지게 되어 있다. 필자의 추측(단순히 10을 더했다)에 따르면 2012년이면 그렇게 된다.
The Copland Syndrome
10년 전을 기억하는 사용자와 개발자라면, 맥오에스 7.5에서 맥오에스텐까지 걸린 5년간의 이주 기간도
순탄스럽지 못하였고,
불확실했음을 아실 것이다.
심지어 넥스트가 애플을
제자리로 돌려놓은 이후에도, 애플은 새로와진 애플이 분명한 방향을 세우고, 능력있는 선원들을 태워 힘찬 출발을 보이기 전까지, 어려운 시기를 거쳐야 했다.

2002년, 애플은 맥오에스텐 Jaguar를 내놓으면서 윈도우즈 XP를 따라잡기 시작했다. 그로부터 1 년 후, 애플은 Panther를 선보였고, 그로부터 1 년 반 후, Tiger가 나왔다. 그러는 동안 마이크로소프트는 이제는 비스타라 불리우는 Longhorn을 위해 지속적으로 계획을 바꾸고, 기술을 제외시켰으며,
출하일자를 연기시켰다.
이 자체로도 레퍼드와 비스타를 비교하기란 복잡해진다. 레퍼드는 꾸준히 발전을 거듭한 맥오에스텐의 최신 버전일 따름이다. 반면, 비스타는 계속 나오지 못한 5년 동안의 실패를 드러내기 때문이다.
Totally Quarked
때문에, 마이크로소프트는 초기부터 열등한 부분을 안게 되었다. 시간이 부족한 것이다. 5년간 애플이 거둔 업적을 마이크로소프트가 따라 잡을 방법은 없다. 문제 없이 커다랗고 복잡한 제품을 제공하기란 말 그대로 불가능이다. 게다가 크기와 복잡성이 커질 수록, 버그와 취약성도 커진다.
비스타는 잃어버린 5년을 되찾는 데에 오히려 방해가 될 복잡성의 문제를 안고 있다. 지난 해, 필자는 이미 "
마이크로소프트와 쿼크, 닮았다"에서 마이크로소프트와 쿼크를 이렇게 비교하였다.
쿼크처럼, 마이크로소프트도 새로운 경쟁자들을 맞이하고 있다. 마찬가지로 쿼크처럼, 마이크로소프트도 자신이 자초하여서 직면한 위험을 심각하게 평가절하하고 있다.
Real Artists Ship
마이크로소프트 개발 자원이 제아무리 막대하다 해도 도움이 안 된다. 오히려 제품 관리가 실질적으로 복잡해질 따름이다. 실제 사용자 테스트를 위한 비스타를 제공하기 위해, 마이크로소프트는 오랜 기간동안 퍼블릭베타로 될 수 있는 한 많은 버그를 잡으려 하였다. 이 기간동안 개발작업은 계속 이루어졌고, 중요한 제품 변화가 일어났다. 비스타의 주요 기능은 연기되거나 사라졌다.
그와 반면, 애플은 2001년 이래 정기적으로 실질적인 제품을 선보였다. 매년 나오는 애플의 일정은 너무나 공격적이어서, 개발자들이 운영체제 출하일정을 좀 늦추라 요구할 정도였다. 레퍼드는 메이저급 맥오에스텐 출하 사이 기간 중 제일 긴 기간 이후에 나오게 된다. 거의 2 년이다.
지난 5년간 실질적으로 수백만 명의 사용자들이 맥오에스텐을 사용하게 되었다. 즉, 애플은 계획대로 제품과 정기 업데이트, 보안 패치를 제 때에 내놓는다는 사실을 증명해냈다.
Leveraging Open Source
또한 애플이 이렇게 계획대로 출하일정을 맞추게 된 큰 이유가 있다. 오픈소스 개발자들과의 협력이다. 오픈소스와의 협력덕분에 애플은 검증받은 고품질의 코드는 물론 핵심 운영체제 기술을 깔끔한 인터페이스에 통합시킬 수 있었다.
마이크로소프트는 외부 프로젝트의 코드를 끌어오기보다, 자기 자신의 코드를 유지하였다. 이런 폐쇄적인 개발은 외부의 발전된 기술의 도입을 막을 뿐더러, 소수만이 코드를 볼 수 있기에, 문제점이나 수정을 하는 이들도 소수라는 단점이 있다.
즉, 애플로서는 레퍼드와 비스타와의 비교에 있어서 또 하나의 우위를 차지한다. 레퍼드는 베타 테스팅으로만 5 년을 채운 옛 것의 새 포장이 아니다. Tiger 이후 최신 발전이 가미되어, 비스타와의 비교에 있어서
이미 호감을 받는 운영체제이다.
The Difference of the Challenges Faced
기존의 맥오에스텐 Tiger를 수 백만 명의 할머니와 전문가, 학교의 어린이들, 분자과학자들이 거의 2년간 써 왔다.

레퍼드는 꼭 수정해야 할 엄청난 분량의
보안 오류나
하방호환성의 부담,
구조적 오류 목록을 갖고 있지 않다. 게다가 공개된 베타만 보아도 이미 소문이 꽤 좋다.
반면, 비스타는 상대해야 할 점이 많다. 기존의 윈도우즈 XP는 이제까지 나온 어떠한 운영체제보다 비싼 파괴적인 뿌리이다.
Severely FUBAR
윈도우즈의 결함때문에 윈도우즈에서는 직접적으로 수 십억 달러를 날려버리는
바이러스와 보안툴 시장이 형성되어 있으며, 매년 그로 인한 생산성 손실액이
수 십억 달러에 이른다.
과거 엔지니어링이 허술하게 되어있기 때문에, 이 또한 비스타에게는 부담이다. 초기 기술적 제한때문인 경우도 있지만, 심지어 마이크로소프트조차 인정하는,
무책임하고 무절제한 개발의 결과인 탓이 크다.
마이크로소프트 스스로 자초한 이러한 문제점 외에, 마이크로소프트가 통제하지 못하는 써드파티들의 문제도 크다. 마이크로소프트의 퍼블릭 API를 우회하면서 오래된 API 사용을 고집하는 개발자들 때문에 마이크로소프트는 옛 기술도
지원할 수 밖에 없다. 이 때문에 마이크로소프트 코드기반은 발전을 하기가 어려우며 복잡해져만 간다.
Out of Control
만약 마이크로소프트 스스로가 자신의 운명을 결정지을 수 있다면, 윈도우즈 개발의 발목을 잡는 옛 하드웨어 지원은 빠르게 철수하고, 새로이 API를 깔끔하게 하며, 오래된 방식을 없앴을 것이다. 미래로 개발자들을 이끌었으리라는 의미다. 하방호환성은 마치 마이크로소프트 호의 항해를 막는 수 백만 개의 닻과 마찬가지다.
발목을 잡는 하드웨어 협력사가 없는 더 작고 민첩한 애플은 자신의 미래를 스스로 개척할 수 있으며, 비난받을 무릅쓰고 옛날 문제를 일소하였다.
애플에는 바이러스나 스파이웨어가 없다. 설치된 기반이 작아서이기도 하지만, 더 간단하고 깔끔한 소프트웨어 디자인, 그리고 결정적인 이주를 단행하고 불필요한 짐을 줄이고, 쓸모 없는 닻을 없앨 줄 아는 회사의 능력덕분에 그러하다.
따라서 애플은 레퍼드와 비스타와의 비교에 있어서 또 하나의 우세를 갖는다. 레퍼드에서는 잘 알려지고
제한적인 하드웨어 간에 이루어진 견고한 통합성덕택에, 신기술의 채택과 채용이 빠르게 일어날 수 있다. 정확히는 애플 맥에서만 돌아가서 그러하다.
마이크로소프트 비스타는 기존의 여러가지 하드웨어를 지원해야 할 뿐만 아니라, 허술하게 작성한 소프트웨어도 대량으로 지원해야 한다.

과거의 상황은 마이크로소프트에게 유리했다. 하방호환성 덕택에 PC 운영체제 시장에서 경쟁사들의 노력을 무력화시킬 수 있어서이다. 하지만 애플에 대해서는 하방호환성이 마이크로소프트에게 있어서 단점일 수 밖에 없다. 더군다나 애플이 목표로 하고 있는
소비자 시장에서는 더욱 더 그러하다.
하방호환성 개발 문제는 결국 레퍼드와 비스타가 제공할 수 있는 우아함, 즉, 그 기술이 어떠하느냐와 관련을 갖는다.
Next:
Leopard vs Vista 6: Technology
Tech: WWDC & Mac OS X Leopard
Put RoughlyDrafted Magazine on your Dashboard and be the first to see the latest articles! Also, I gain a lot of my new readership from Digg.com, an article listing service that rates submissions. If you like seeing my articles, Digg them! I also appreciate
blog links, social networking postings such as deli.cio.us, and readers who share articles via emails or newsgroups. Thanks!
What do you think? I really like to hear from readers. Leave a comment or email me with your ideas.
http://www.roughlydrafted.com/RD/Q4....16E93DC7F.html