
Apple's Open Source Assault
Friday, February 9, 2007
지난 10년간
사업을 다시 세운 뒤, 스티브 잡스 휘하의 애플은 엄청나게 강력한 무기를 손에 쥐게 된다. 다름 아닌, 오픈소스다. 애플은 오픈소스를 활용하여, 데스크톱 운영체제 개발에 있어서 마이크로소프트를
크게 앞질렀고, 업계 내에 파트너쉽을 형성시켰다. 곧 애플은 오픈소스의 힘을 풀어서 마이크로소프트 사업의 주요 부분을 새로운 방식으로 노리게 된다.
The Pros and Cons of Proprietary
오픈소스 개발의 힘은 이전까지 애플 전략에 있어서 제일 뼈아픈 약점을 채워주는 데에 도움을 준다. 80년대 애플은
매킨토시를 선보이는데, 맥은 당시 고도로 세련된 소프트웨어를 사용하여 컴퓨팅의 복잡성을 크게 줄였다. 맥은 또한 고유의 소프트웨어로 복잡한 방식을 직관적인 방식으로 교체하였다.

하지만 단 5년 만에, 애플이 유지해야 할 엔지니어링이
기하급수적으로 늘어났다. 특히 서버와 이메일, 네트워크 분야에 있어서 대규모의 증설이 필요했다. 맥이 유닉스 호스트와 DOS PC와 네트워킹을 이루게 되면서, 컴퓨팅의 고질적인 복잡성 문제가 다시 고개를 든 것이다.
또한 대중 시장의 이윤이 소프트웨어가 아닌, 하드웨어에서 나온다는 사실도 이미 분명해진 바였다. 업계에서 제일 복잡한 데스크톱 소프트웨어를 개발하던 애플이다. 애플에게는 맥에 가치를 추가시켜주는 것 말고는 돈을 벌 구석이 없었다.
CEO인 존 스컬리는 애플이 맥 시스템 소프트웨어를 소매상품으로 팔아야 할 때가 왔다고 판단내린다. 하지만 판매가 인상적이지 못하였다. 맥 시스템 소프트웨어가 이미 무료로 번들됐기 때문이다. 이런 상황에서 제값 받고 팔기란 매우 어려운 일이었다.
따라서 애플의 위치는 매우 힘들어진다. 애플은 세련된 맥을 포기하고, 윈도윙 소프트웨어를 유닉스나 DOS PC로 포팅시키는 전략을 채택할 수도 있었다. 아니면 그저 폐쇄적인 세계를 유지하여, 유닉스와 DOS 컴퓨터로 가득찬 세상에서 하나의 섬을 이룰 수도 있었다.
Try Everything
애플은 모든 선택을 고려해 보았다.
- 맥 시스템 소프트웨어를 인텔 PC에 포팅시키려 했던 스타트렉(StarTrek) 프로젝트가 성공하였지만, 이 경우 모든 써드파티 소프트웨어를 완전히 재작성해야 했다. 맥툴박스가 모토로라 68k 프로세서에 워낙에 긴밀하게 통합되어 있어서였다. 인텔 486과 펜티엄 프로세서는 맥 프로세서를 빠르게 에뮬레이트할 수가 없었고, 개발자들도 PC-기반의 맥용 버전을 완전히 재작성해야 한다는 데에 전혀 관심을 나타내지 않았다.

- 맥 환경을 UNIX 시스템상에 포팅시켰다. 처음에는 애플 고유의 A/UX로, 나중에는 MAE와 MAS로 여러가지 유닉스 웍스테이션용으로 포팅을 하였다.
- Pink와 Copland로 고유 플랫폼을 유지해보려고도 하였다. Pink는 후에 Taligent가 되었으며, IBM과의 협력으로 여러가지 현대 시스템에서 돌아갈 크로스 플랫폼 환경을 기대했었다. 그러나 코플랜드와 탈리전트는 실패하고 말았다.
- IBM과 협력하여, 새로운 PowerPC를 개발하였다. PowerPC라면 당시 맥 68k 환경용 소프트웨어를 에뮬레이트하기 충분했다. 게다가 극도로 복잡해져가는 소프트웨어를 버틸만큼 충분히 빨라서 문제를 일단 가릴 수 있었다.
이 모든 노력은 복잡한 소프트웨어 개발 때문에 해결이 어려워진다.
본질적으로, 애플의 핵심 경쟁력은 하드웨어를 팔리게 만드는 세련된 폐쇄형 소프트웨어였다. 하지만 아이러니컬하게도, 복잡한 소프트웨어 확장과 유지의 높은 비용은 애플의 경쟁력을 무너뜨리고 있었다.
이와 동시에 여러 회사들이 애플의 아이디어를 더 저렴하게, 더 간단하게 복제하거나 빼갔다. 이들은 유지도 더 간편했기에, 보다 더 경쟁력이 있었다.
The Parallel Process of NeXT
스티브 잡스는 적어도 대중 눈으로 보기에 통제력을 분명히 잃기 전에 애플을 떠난다.
넥스트 사에서 잡스는 차세대 컴퓨터를 만들기 위해 하드웨어와 소프트웨어 전문가 그룹을 결성한다. 이 새로운 컴퓨터 시스템은 과거 맥이 IBM PC와 애플 II라는 텍스트 기반의 시스템을 뛰어 넘었던 것처럼, 맥을 뛰어 넘을 새 시스템이었다.
게다가 넥스트는 애플이 맞이하고 있던 문제의 성격을 분명히 알고 있었다. 게다가 잡스가 넥스트를 세웠고, 애플에서 넥스트로 넘어온 애플 직원들도 많았다. 즉, 넥스트는 처음부터 컴퓨터를 구축하려 노력하기보다, 기존의 오픈소스 소프트웨어를 넥스트라는 독특한 기술을 빠르게 만드는 수단으로 활용하였다.

달리 말해서, 넥스트는 단순히 완전히 새로운 컴퓨터를 만들지 않고, 고유의 가치 전달에 집중하였다. 그 결과, 넥스트스텝은 오픈소스의 힘을 활용한 90년대 최초의 상용 운영체제가 된다. 짧은 시기 안에 넥스트가 기술 업계의 새 바람을 일으킨 것도 그런 이유에서였다. 넥스트는 말그대로 애플과 마이크로소프트가 하던 것, 훨씬 이상이었다.
넥스트가 일단 자신을 보여주자, 역시나 마이크로소프트는 몇 년 안에 똑같은 시스템을 보여주게다며
카이로를 약속한다. 애플과 IBM 또한
탈리전트로 넥스트를 따라잡겠노라 발표한다.

그러나 카이로도, 탈리전트도 나타나지 않았다. 두 회사 모두 내부적으로 비밀리에 소프트웨어를 만들고야말겠다는 광기에 사로잡혀 있어서였다. 애플과 마이크로소프트 모두 당시 외부 코드를 사용하지 않았다. 하지만 사실 이런 경향은 컴퓨터 업계에 비일비재(非一非再)하였다. 오죽하면 NIH(
Not Invented Here)라는 말까지 등장했을까.
Example: PowerTalk
"
1990-1995, 기업시장에서의 애플 대 마이크로소프트"는 애플의 경우를 들어보았다. 다름 아닌 파워톡(PowerTalk)이다. 개념적으로 파워톡은 단순했다. 애플톡을 파일과 출력 공유, 이메일, 주소록 디렉토리, 메세지 기능으로 확장시킨 것이다. 맥을 네트워크 상에 끼우면, 모든 것이 그냥 돌아갔다.
애플은 1993년부터 파워톡을 내보내기 시작했지만, 파워톡은 RAM과 디스크를 대용량으로 요구하였고, 초기 맥에서는 실용적으로 쓸 수 없었다. 또한 써드파티 개발자들로부터의 복잡한 지원이 필요했다.
하지만 파워톡의 급소를 찌른 장본인은, 당시 원칙적으로 공개된 간단한 이메일 시스템이었다. 파워톡도 하나의 컴퍼넌트였던
Apple Open Collaboration Environment같은 것이 아니었다.
1996년, 애플은 이미 Apple Open Collaboration Environment 전체를 포기하기로 결정내린다. 코플랜드의 나머지 부분도 마찬가지였다.
어떻게 보면, 그 때 사람들은 실제보다 더 어리석어보이기도 한다. 당시 파워톡 전략은, 대단히 쉬운 네트워크인 애플톡의 단순한 확장이라는 인상이었다. 미래가 어떻게 될지에 대한 다른 컴퓨팅 노력도 기대만큼 이루어지지 않았던 것도 사실이다.
Bureaucratically Open
파워톡에 대한 마이크로소프트의 대답은 애플이 AOCE를 포기한 이후에 등장한다. 카이로 계획에 두 가지 요소, 즉, 이메일 메시지서버와 디렉토리 서버가 있는데, 이것이 빠져 나와 1996년, Exchange Server로 등장한다.
마이크로소프트는 익스체인지 서버를 공개 프로토콜상으로 만들기로 하였다. 따라서 마이크로소프트는 이메일 메시지에 있어서, 당시 업계 표준이었던
X.400을, 디렉토리 서비스에 있어서는
X.500을 채택하였다. 공개표준이 일반적으로는 좋긴 하지만, 세상이 공개표준을 따라 주어야 효력을 발휘한다.

X.400과 X.500 표준 모두 세계적인 업계 표준 기구
ISO가, 전화통신 국제표준 기구인
ITU와 함께 디자인하였다. 이 기구들은 네트워킹과 디렉토리 서비스, 메시징의 공통 표준을 제작하려 하였지만, 실제적으로는 완성될 수가 없고, 정치적으로
혼란스러운 복잡한 결과를 낳았다.

상아탑 표준 디자인의 완벽성과 공개 표준이라는 환상을 실제로 이루기는 어렵다.
A More Practical Kind of Open
파워톡을 실제로 죽이고, 익스체인지 서버를 다시 고려하게끔 만든 원인은 유럽인들의 정부 지원이 들어간 표준기구가 아니라,
IETF(Internet Engineering Task Force)였다. 원래 IETF는 미국 정부가 전적으로 자금을 대는 연구자 협력 기구였다.
IETF는 팀을 결성하여, 인터넷 표준의 합의를 만들어내려 하였다. 단, 애플의 AOCE/파워톡처럼 단일 프로젝트로서 모든 것을 관장하는 방식이 아니었다.
OSI나 X.400, X.500처럼 ISO 방식도 아니었다. IETF는 상호운용성을 위한 개별 프로토콜 작업을 하였다.
IETF는 업계 전체의 필요에 따라 돌아가기 때문에, IETF는 법률처럼 무엇이 어떻게 돌아가야 한다고 정하는 것이 아니라, 상호운용성과 합의에 기초한다. 따라서 IETF의 표준이 더 유용하고 실질적이어서, 어떤 조직이 정하는 표준보다 더 널리 퍼지는 때가 종종 있다.
유럽과 일본은 ISO가 관료주의적으로 정한, 복잡한 OSI 네트워크 프로토콜을 사용하려 할 때, 미국은
DARPA로 TCP/IP 네트워크를 세워 두었다.
고어 법의 지지를 받는 IETF를 통한 개발은 미국을 인터넷의 종주국으로 만들어 주었다.

OSI 프로젝트는 1996년 실패로 끝난다. 이 때문에 네트워크 컴퓨팅에 있어서 유럽과 일본은 미국에 뒤떨어지게 된다.
마이크로소프트도 ITU X.400과 X.500 표준을 IETF의 SMTP와 LDAP로 바꿔야 했다. 마이크로소프트가 화상회의와 칠판, 데스크톱 공유용으로 채택한
ITU H.323과 T.120 프로토콜 또한 광범위한 채택을 받는 데에는 실패하였다.
How an IETF Draft Becomes an Internet Standard
IETF는
Request for Comments로 검토를 받고 출판되는 Internet Draft로 처음 시작하였다. 이 RFC는 여러가지 단계를 밟게 된다.
- 제안 표준: 검토가 이루어진, 실제적인 사양을 설명한다.
- 초안 표준: 적어도 두 가지 독립적이면서 상호 운용 가능한 구현 사양이 정해진다.
- 인터넷 표준: 승인을 받은 뒤, 기술적으로 성숙해진다.
TCP/IP 네트워킹이나 SMTP 이메일, LDAP 디렉토리 서비스와 같은 인터넷 표준은 모두 IETF의 승인을 받고, 시업들 간에 상호운용이 가능한 합의를 이끌어내게 된다.
오픈소스 개발도 보통은 소프트웨어 프로젝트 개발 계획 단계에 있어서 비슷한 합의를 거친다.
Open vs. Secret
공개표준은 IETF와 같은 단체에서 합의로 나오건, ISO나 ITU, 혹은
IEEE와 같은 단체가 승인을 내리건, 모두 상호운용성을 만들기 위해 정보를 공개한다.
즉, 공개표준에는 비밀이란 것이 없다. 이 때문에 "상호운용 가능한 DRM"과 같은 이상한 표현을 생각할 이유도 없다. DRM 자체가 폐쇄적이기 때문에 논리적으로 안 맞는 단어 조합이다. 오히려
운용성 제한이 더 의미에 가깝다.

DRM은 DVD 포럼의
CSS나 마이크로소프트의
Janus-PlaysForSure와 같은 폐쇄적인 시스템처럼, 비밀리에 단체가 관리할 수 밖에 없다.
애플이 FairPlay를 광범위하게 라이센스 내린다면, 이것은 공개표준이 아니라, 또다른 비밀 시스템이 될 수 밖에 없다는 의미다. 공개적으로 가능한 열쇠를 갖고 닫는 것처럼 쓸모 없는 일이기도 하다.
공개표준으로는 DRM의 문제를 해결할 수 없다. 공개표준은 비밀이 아닌, 상호운용성을 위해 있기 때문이다.
이윤과 시장이 존재하는 세상에서 폐쇄형 기술이란 언제든지 존재한다. 오리지말 맥이 왜그리 통합적이면서 "그냥 돌아간" 이유가 바로 그것이다. 한 회사가 폐쇄형 디자인으로 만들어서이다.
Licensed vs Franchised
애플이 기본 맥 디자인을 만들어서 광범위하게 라이센스 내렸다고 생각해 보자. 어떤 머신이 어떻게 개발될지 애플이 일일이 간섭할 수가 없게 된다. 여러 기업에서 나오는 맥은 분명 잘 돌아기는 했겠지만, 윈도와 비슷한 세상을 만들어냈을 것이다. PC 간에 하드웨어와 컴퍼넌트 품질이 마이크로소프트의 계획을 좌절시키는 그런 세상이다.
결과를 좋게 하려면, 기술을 라이센스하기보다 애플이 모든 제품을 똑같이 잘 디자인하여, 그 디자인을 프랜차이즈화시키는 편이 낫다. 달리 말해서, 결국 완제품 디자인을 한 다음 그것을 다시 재판매하라는 의미다. HP와 함께 아이포드에서 이러한 전략을 성공적으로 구현한 바 있다. 하지만 HP는 스스로 HP 브랜드의 아이포드 판매에 위험이 크다고 결정내린다.
그러나 디자인 자체를 프랜차이즈화시키는 것도 문제가 없지 않다. 대부분의 기업은 돈을 벌고 싶어하기 때문에, 단순한 디자인 재판매와 로열티가지고서는 자신을 시장에서 차별화시킬 수가 없다. 회사들은 스스로의 혁신으로 돈을 벌고 싶어 한다.
The Trouble with Collaboration: Pippin, PlayStation, 3DO
폐쇄형 디자인을 갖고 업체들 간에 협력을 하기란 어려운 일이다. 애플은 90년대 초반, 맥을 라이센스화시켜서, 맥오에스를 재판매하는 것은 물론, 표준 맥 하드웨어도 라이센스하려 하였다. 하지만 맥클론으로는 애플 마음대로 되지 않았다.

맥 컴퓨터 디자인을 추가하는 대신, 애플은 반다이ㅏ와 함께 1995년, 로우엔드맥을 게임콘솔화 시킨 피핀을 작업하기도 하였다. 이
피핀은 컴퓨팅과 인터넷을 텔레비전으로 전해주고, 게임용 플랫폼을 의도로 하였다. 피핀은 너무나 일반형 컴퓨터 하드웨어였으면서, 게임콘솔과 경쟁하기에 너무 허술하게 만들어지기도 하였고, 거기다가 고가였다.

1993년, EA Games의 창립자, 호킨스(Trip Hawkins)도
3DO라는 비디오게임콘솔로 유사한 프랜차이즈를 시도하였다. 3DO는
ARM-기반의 콘솔로서, 파나소닉과 산요, LG와 계약을 맺었다. 가격문제와 써드파티 게임 플랫폼 관리의 어려움 때문에, 업체들의 3DO 하드웨어 모델은 1996년 끝나게 된다.
Super Nintendo 라이센스의 소니 판매를 갖고 닌텐도와 갈등을 겪은 소니는 아예 자체적으로 게임 플랫폼을 만들기로 나선다. 그렇게 해서 나온 것이 1994년의
플레이스테이션이다. 처음부터 게임을 위한 디자인이었던 플레이스테이션은 피핀과 3DO를 재빠르게 물리친다. 당시 플레이스테이션은 더 나은 디자인에 마케팅도 더 좋았다.
폐쇄적인 제품으로, 혹은 소니만의 제품으로 만든 것이 플레이스테이션의 성공비결이었다. 이러한 맥락에서 플레이스테이션은 애플의 오리지말 맥과 닮아 있다. 둘 다 모두 꽤 단순하면서 다른 시스템과 상호운용성을 절실히 필요로하지 않았다.
Use the Source
그런데 폐쇄형 디자인이 불리해질 때가 있다. 기기가 점점 더 복잡해져서, 네트워크와의 통합성이 필요할 때 그러하다. 파워톡이 바로 좋은 사례이다. 좋은 애플 맥 소프트웨어가 문제화된 것이다.
넥스트는 자신의 폐쇄적인 프레임웍과 디스플레이 기술 등을, 표준이면서 공개적이고, 이미 당시 최고의 기술을 제공한 성숙한 운영시스템상에 심어 놓음으로써 줄타기를 시도하였다.

넥스트의 폐쇄적인 특수 기술과 공개표준과의 합체는 잡스가 애플을 넥스트 기술로 휘어잡으면서, 1997년 이래 애플로 흘러들어가게된다.
애플이 회복을 거두자, 애플은 이제 자신의 폐쇄형, 고유 기술을 오픈소스 프로젝트에서 나온 새로운 진보와 결합할 채비를 갖출 수 있게 되었다. 애플은 GNU와 OpenBSD, NetBSD, FreeBSD의 코드를 맥오에스텐에도 집어 넣었다.
애플이 만약
Be를 인수했더라면, 애플은 완전히 폐쇄형인 BeOS 기반에서 여전히 폐쇄적인 맥 환경을 유지하려 노력했을 것이다. 넥스트와는 달리 Be는 80년대 맥의 정신을 갖고 만든 운영체제였다. 마이크로소프트처럼 내부적으로 처음부터 끝까지 개발한 운영체제이기도 하였다.
폐쇄형의 장점과 공개형의 장점을 합친 덕분에, 애플은 오픈소스와 공개표준의 힘을 활용하면서 동시에 자신을 차별화시킬 수 있었다. 애플은 하드웨어로 돈을 벌기 때문에, 애플은 마이크로소프트처럼 상호운용성을 숨기지 않아도, 구현을 잘 해낼 수 있다.
Apple vs Microsoft in Interoperability
애플과 마이크로소프트는 상호운용성을 각기 다른 시각으로 보고 있다. 사업 방식이 달라서이다. 맥이 상호운용성을 더 갖출 수록, 구매할 만한 매력도 증가한다. 하지만 마이크로소프트의 소프트웨어가 상호운용성을 더 갖춘다면, 무료 대안을 써야 할 이유가 더 많아질 뿐이다.
공개 소프트웨어의 사용과 상호운용성 구현은 애플에게 유리하게 작동한다. 하지만 공개 소프트웨어의 사용과 상호운용성의 구현은 마이크로소프트에게는 독약이다.
즉, 이제까지 별 진전이 없던 영역에 있어서, 애플은 위의 원칙을 갖고 마이크로소프트에게 큰 타격을 입힐 수 있다. 다음 기사는 그것이 구체적으로 무엇일지 알아보겠다.
마이크로소프트에게 있어서 공포의 기술이 바로 오픈소스인지는 추측하셨는가? 그렇다면 제품은 과연 무엇일까!
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/RDM...3889B1B35.html