편집자 주: 아래의 기사는 프랑스 최대의 도서, 음반 유통회사인 라 프낙사와의 인터뷰 내용이다. 이 인터뷰 기사는 라 프낙사의 홈페이지에 불어로 번역되어 올라가 있다.
Fnac.com: 윈도우 XP, 윈도우 2000, 맥 OS X 시대에 리눅스가 어떤 역할을 하게 될 것이라고 생각하십니까?
팀: 좀더 정확한 질문은 "갑자기 주목 받기 시작한 인터넷 운영체제 시대에 기존(traditional)의 운영체제가 어떤 역할을 하게 될 것이냐"가 될 것 같은데요. 현재 많은 회사들이 데스크탑과 서버 운영체제를 시장 통제 중심점으로 인식하고 있어 현재 직면하고 있는 심원한 변화는 간과하고 있습니다. 모든 단일 디바이스 운영체제는 "실제" 운영체제와 관련된 디바이스 드라이버의 고 수준으로 간주될 수 있습니다. 그리고 그 실제하는 운영체제는 상호운영성과 인터넷으로 연결된 디바이스와 서비스간의 의사소통을 위한 규칙을 정의하는 시스템이 될 것입니다.
차세대 운영체제를 위한 기술선도 품목은 현재의 데스크탑이나 서버 운영체제가 아니라 새로운 네트워크 중심 운영 체제 층으로 통합 되어질 웹, 인스턴트 메시지, XML과 같은 고 수준 애플리케이션 프래임워크가 될 것입니다.
문제는 누가 이제 막 주목 받기 시작한 인터넷 운영 체제를 통제하게 될 것이냐죠. 마이크로소프트는 데스크탑 시장을 독점했던 것과 똑같은 방식으로 인터넷 운영체제 시장을 장악하겠다는 의사를 확실히 표현함으로써 가장 분명하면서 야심찬 계획을 발표했습니다. 사실상 .NET으로 모든 사람들에게 도전장을 던진 셈이죠. 그들은 다양한 통제 방법을 시도하고 있으며 그 방법이 현재 시장 점유율에 영향을 미치게 된다 하더라도 상관없다고 생각합니다. 마이크로소프트는 인증과 아이덴티티가 다양한 네트워크 서비스의 핵심이 될 것이라고 예상했습니다. 예를 들어 윈도우 XP를 작동시키려면 사용자들은
Passport 서비스를 반드시 거쳐야 하고 이렇게 함으로서 사용자를 통제(lock-in)하게 되는 것이죠. 그러나 고객과 개발자 모두 또다른 마이크로소프트 통제(lock-in)에 대해 신중한 자세를 취하고 있기 때문에 마이크로소프트가 과거보다 더 개방적이고 포괄적이어야 한다는 압력이 크게 작용하고 있습니다(그러나 마이크로소프트는 계속적인 유럽 공동체로부터의 독점금지 압력에도 끄떡없었다). 우리는 Passport가 마이크로소프트만의 서비스가 아닌 "연방차원"의 다중 발행 서비스화 되려는 계획에 대해 희망을 가지고 있습니다. 그리고 그렇게 되는 것이 좋은 것이죠. 게다가 마이크로소프트는
SOAP(Simple Object Access Protocol), 웹 서비스라고 불릴 XML 기반의 프로토콜과 그 이외의 다양한 오픈 프로젝트와 관련된 표준 개발에 계속적인 작업을 해왔습니다.
오라일리는
.NET에 대단한 흥미를 가지고
『닷넷 프레임워크 에센스(.NET Framework Essentials)』(한빛미디어, 2001) 에서
『Programming C#』과 『Programming Visual Basic .NET』에 이르기까지
이 분야를 다루는 작업을 꾸준히 진행해 왔습니다(이 책들 중『Programming Visual Basic .NET)는 인터뷰를 했을 당시에는 아직 출간되지 않았다).
.NET관련 서적의 엄청난 출판 부수에서 보듯이 마이크로소프트 이외에도 많은 회사들이 웹 서비스를 위한 프래임워크를 구축하고 있습니다. 특히 아직까지는 미미한 존재이지만 앞으로 의미심장한 영향을 줄 수도 있는 혁신적인 소프트웨어를 만들어낼 작은 회사와 독립적인 개발자들이 많습니다. 그러나 이러한 프로젝트 중에 대다수는 아직 컴퓨터 서적으로 출간되기에는 이른 것 같습니다. 네트워크 운영체제의 또 다른 상대자는 당연히
자바 입니다. 그리고 자바는 오라일리의 핵심 출판 부분입니다.(
여기를 클릭하시면 오라일리의 핵심 출판 부분인 자바 관련 서적 목록을 보실 수 있습니다)
한빛미디어의 한빛 네트워크
ON JAVA에 오시면 자바관련 기사 및 기술동향을 보실 수 있습니다.
마이크로소프트보다 더 장기적인 네트워크 컴퓨팅 비전을 가지고 일해온 회사로는
썬 마이크로시스템즈가 있습니다. 그리고 썬에서 개발한 자바는 이미 많은 네트워크 서비스에 제공되어 사용되고 있습니다. 나는 자바가 단번에 보편적인 크로스 플랫폼 가상 기계가 되지는 못할 것이라고 생각합니다. 그 대신 우리는 인터넷 운영체제 사이에 느슨하게 연결된 비전을 보았습니다. 서비스는 그와 같이 느슨하게 연결된 인터넷 운영체제 안에서 기계에 독립적인 코드에 의해서는 제공되지 않습니다. 다른 운영체제를 구동하는 과도한 디바이스는
XML-RPC와 SOAP와 같은 XML기반의 프로토콜을 사용하는 고 수준에서 커뮤니케이션을 하게 될 것입니다. (자바
RMI 또는 원격 메소드 호출 그리고
JMS나 자바 메시지 서비스와 같은 원시 자바 커뮤니케이션 메소드를 위한 영향력이 많이 있다.)
『자바와 XML(Java & XML)』과
『Java and XSLT』가 오라일리 베스트셀러라는 증거에서 보듯이 자바와 XML은 이미 잘 사용되고 있습니다. 오라일리는 또한 2001년 12월까지 핵심 자바 XML 프로그래밍 도구 중 하나인
SAX2(Simple API for XML)에 대한 도서를 출판할 계획입니다. 물론 리눅스 커뮤니티가 자바를 싫어한다고 표현을 계속해서 하고있는 동안 다른 여러 오픈 소스 커뮤니티(그 중 가장 유명한 것은
아파치)는 상당한 언어 지원을 해왔습니다. 아파치는
아파치 자카르타 프래임워크 이외에도
OpenEJB와
NetBean같은 프로젝트를 가지고 있습니다.
자바에서 SOAP와 XML로 거슬러 올라가 봅시다. 오픈 소스 커뮤니티에서 SOAP와 XML-RPC에 대한 엄청난 지원이 있었습니다.
SOAP::Lite와 같은 펄 모듈은 펄 프로그래머들이 SOAP와 XML-RPC를 간단하게 사용할 수 있게 해놓았습니다. 이곳에서 파이썬도 이용할 수 있죠. 물론 웹 중심의 서버 플랫폼(서비스 하기에 무리가 있는 지역)은 아파치 상에서 구동될 것입니다 (
『Programming Web Service with SOAP)와 같은 책이 2001년 12월 미국 오라일리에서 출간될 예정이다). 잘 알려진 사실은 아니지만 XML 핵심 파서(XML을 번역하는 프로그램)는 오픈 소스이지만 상업용 제품에서도 사용된 바가 있습니다.
아직 리눅스에 대해서는 언급하지 않았죠. 사람들은 리눅스가 기존의 운영체제 패러다임과 가장 가깝기 때문에 다른 오픈 소스 프로젝트보다 리눅스에 더 초점을 맞추려는 경향이 있는 것 같습니다.
마이크로소프트의 성공으로 인한 토대로서 현재는 윈도우가 가장 중요한 운영체제이기 때문에 사람들은 유추하여 리눅스가 가장 중요한 오픈 소스 프로젝트라고 생각하는 것 같습니다. 그렇지만 진짜 중요한 사실은 오픈 소스 소프트웨어 스택이 규모에 있어서 훨씬 더 크다는 것이며 리눅스는 그러한 컴포넌트 중에 하나라는 사실이지요.
서버측에서 볼 때 기본적인 운영체제로 아파치, MySQL이나 PostgreSQL, 펄, 파이썬, PHP, 다양한 오픈 소스 XML 도구와 함께 운영되는 리눅스, FreeBSD, 심지어 솔라리스까지 들 수 있습니다(솔라리스 및 다른 상업용 유닉스 변종이 오픈 소스가 아니라고 하더라도 그러한 것들은 주요 오픈 소스 컴포넌트를 가진 솔루션의 일부이기 때문에 오픈 소스의 범주에 들어간다고 간주한다)
오픈 소스 소프트웨어 스택
XML 및 웹 서비스 | 프로그래밍 언어와 도구 | 웹 서버 및 데이터베이스 | 운영체제 |
SOAP | 펄 | 아파치 | 리눅스 |
XML-RPC | 파이썬 | MySQL | BSD |
재버(Jabber) | PHP | PostgreSQL | 유닉스 |
기타 XML 도구 | 오픈 소스 자바 프로젝트 | | |
리눅스에 대해 좀더 자세하게 말하자면 저는 리눅스의 미래가 아주 밝다고 생각합니다. 아직까지는 리눅스가 클라이언트 운영 체제를 주도하고 있고 서버측에서 영향력을 넓혀가고 있지만 이제 리눅스는 서버 운영체제로서 거대한 영향력을 미치고 있으며 비PC 디바이스에서 내장형 운영체제로서 윈도우를 상당히 앞서고 있는 것으로 보입니다.
TiVo와 같은 소비자 디바이스는 엄청난 비용 절감 효과로 인해 일반적으로 리눅스 기반 위에서 구축되고 있습니다. 그리고 이제 윈도우를 보는 일처럼 점점 더 작은 디바이스에서도 리눅스를 보는 일이 매우 흔한 일이 되어버렸습니다.
마이크로소프트는 데스크탑 시장에서의 독점 지배로 인해 많은 장점을 가지고 있습니다. 그러나 소비자로부터 점점 더 많은 수입을 끌어내려고 함에 따라 그에 부가되는 가치가 떨어짐으로써 몇 가지 치명적인 약점을 가지고 있다는 것도 사실입니다. 오픈 소스 소프트웨어는 수익 창출 모델과는 거리가 멀기 때문에 하나의 회사가 아닌 여러 개의 회사에 의해 발전되어 왔습니다. 따라서 오픈 소스는 새로운 서비스와 다양한 시장에서 첨단을 걷고있는 디바이스를 이용하는 개발자들에게 엄청난 비용상 이득이 있습니다. 이런 의미에서 리눅스는 임베디드 시스템 플랫폼으로서 주의를 요하는 기술로 인식되어가고 있습니다.
Fnac.com: 오픈 소스가 자바와 .NET의 시대에 어떤 역할을 하게 될 것이라고 생각하십니까?
팀: 그 대답은 이미 첫번째 질문에서 대답한 것 같은데요. 그렇지만 다시 한 번 말할 기회를 주신다면 썬이 자바를 조금 더 개방하는 자세를 보이고 리눅스 커뮤니티는 썬에게 조금만 덜 적대적인 자세를 취했으면 합니다. 전반적으로 오픈 소스와 자바는 모두 유닉스 개발환경을 전승하고 있다는 것과 유닉스 네트워크 중심의 세계관을 지니고 있다는 점에서 공통점이 많습니다. 그러나 서로에 대한 신뢰의 결여로 인해 그 두 커뮤니티는 마땅히 좋은 관계를 유지해야 함에도 불구하고 서로 협조하지 못했습니다.
이점은 꼭 말하고 싶습니다. 나는 네트워크 애플리케이션에 대한 지배적인 프래임워크로서 자바와 .NET간의 싸움에서 우승자를 결정할 중추적인 역할을 할 실력자는 오픈 소스라고 봅니다. 다시 말해 마이크로소프트나 썬이 다른 곳으로부터 전략적인 이득을 볼 수 있는 방법을 오픈 소스가 쥐고 있다는 것입니다. 그들이 만들어 내는 제품과 제품구조를 오픈 소스 커뮤니티 입맛에 맞게 만들어 내는 것 이것이 중요한 관건이 됩니다.
Fnac.com: 바이러스 및 기타 악성 모바일 코드에 대해 독점 시스템이 취약하기 때문에 오픈 소스 시스템이 엔터프라이즈에 더 매력적으로 보이게 될까요?
팀: 바이러스나 기타 악성 모바일 코드때문에 오픈 소스 시스템 보다 독점 시스템이 더 취약하다고 보는 것이 전적으로 공정한 것인지는 잘 모르겠습니다. 결국 윈도우는 보안상 허점때문이 아니라 가장 널리 사용되는 운영체제라는 점 때문에 자연스럽게 공격하기에 매력적인 대상으로 보입니다. 따라서 바이러스나 기타 악성 모바일 코드가 가장 많이 공격하는 대상이죠. 마이크로소프트가 보안상 허점을 발표하는데 아주 허술한 기록을 갖고 있다고 말할 수도 있습니다.
일반적으로 마이크로소프트는 보안에 아주 낮은 전략적 우선권을 두어왔습니다. 그리고 몇 가지 해명할 수 없는 이유로 고객들조차도 그런 불만을 참고 견뎌왔죠.(마이크로소프트는 고객의 소리에 정말 귀 기울이는 회사이다. 만약 소비자가 항의를 좀더 많이 했었더라면 윈도우는 지금보다는 훨씬 안전할 것이다)
오픈 소스 벤더들도 발표를 하는데 분명 취약점이 있습니다. 그들도 보안에 대한 노력을 기울여왔으나 리눅스 및 다른 오픈 소스 프로그램들이 윈도우처럼 널리 사용되게 됨에 따라 그들도 바이러스 공격 대상으로 매력적으로 보이게 되기 시작했죠. 이런 점에서 리눅스나 기타 오픈 소스 프로그램 또한 언젠가는 공격 대상이 될 가능성이 있습니다. 그래서 나는 리눅스 옹호자들이 마이크로소프트의 보안상 허점을 지적하느라 너무 많은 시간을 쓰지 않기 바라고 있습니다.
마이크로소프트의 전략에서 보안은 고객 우선 리스트에서 높은 위치를 차지하고 있지는 않기 때문에 제 생각에 보안이 아니라 독점 시스템의 비싼 가격이야말로 마이크로소프트웨어의 아킬레스건일 것입니다. 저가의 상용 PC가 다양한 시장에서 플랫폼 선택을 할 수 있도록 만들어 주었듯이 저가의 상용 소프트웨어는 다양한 시장에서의 소프트웨어 선택을 가능하게 해줄 것입니다.
Fnac.com: 운영체제 설계나 구축시 예상되는 엄청난 변화나 혁신에는 무엇이 있을까요?
팀: 글쎄요… 제가 운영체제 설계자가 아니라서 세밀한 기술적 부분을 짚어가면서 말씀해 드릴 수는 없지만 몇 가지 역사적인 부분에 대해 생각해보라고 부탁드리고 싶군요.
지난 20여년간 운영체제 설계 부분에서는 엄청난 진보가 있어왔습니다. 결국 유닉스 및 리눅스 설계도 십 여년간 계속되어 왔으며 여전히 강세를 보일 것입니다.
이러한 것들을 진정으로 추진시키는 것으로는 잠재적인 운영체제에 대한 요구사항 및 역할을 바꾸는 새로운 애플리케이션입니다. GUI 기반 시스템은 예전의 문자 기반 운영체제의 상위에 해당하는 층으로 부가적인 것이 아니라 패러다임의 핵심이 되는 층이었습니다. 비슷한 방법으로 인터넷 특징들도 처음에는 운영체제의 최상위 층으로서 부가되는 것으로 시작했지만 결국에는 설계의 중추적인 부분이 되었습니다.
종종 클레이턴 크리스텐슨의 경영서인
『The Innovator"s Delemma』에서 언급되는 것처럼 모든 것에 변화를 가져올 새로운 시스템은 처음부터 잘 작동하지는 않을 것입니다. 최초로 광범위하게 성공한 GUI 기반 시스템인 512K 맥킨토시는 이제 장난감이 되어버렸으며 윈도우 최초버전의 작동성은 형편없다고 할 수 있습니다. 마찬가지로 월드 와이드 웹(www)이 처음 소개되었을 때 많은 사람들은 웹 기반의 인터페이스가 원래의 GUI에서 구축할 수 있었던 것과 비교해보았을 때 세련되지 못하고 항의하는 GUI 애플리케이션 문화에 빠져들었죠. 그러나 그러한 것은 지난 6년 간의 가장 흥미로운 새로운 애플리케이션(전자 상거래에서부터 지도와 방향을 제공할 뿐만 아니라 온라인 음악 배달을 해주는 사이트에 이르기까지)이 더 열등한 디자인 프레임워크의 구문에서 최초로 발생하는 것을 막지는 못했습니다.
진짜 흥미로운 것은 새로운 세대의 개발자들 즉 새로운 환경에서 성장한 개발자들이 그들이 가지고 있는 충만한 잠재력을 사용해 새로운 특징을 사용하고 작동시키는 방법을 고안해 냈으며 이러한 사상이 낡은 가설에 영향을 미치기 시작했습니다. 온라인 음악을 예로 들어봅시다.
엠피쓰리닷컴과 같은 사이트의 개발자는 구 시대의 클라이언트-서버 패러다임을 유지하고 중앙으로부터 파일을 다운받기 위해 파일을 첨부해 올려놓았습니다. 반면에
냅스터의 창립자인 대학생 션 파닝(Shawn Fanning)은 네트워크 중심의 세계에서 성장했기 때문에 다른 사람의 컴퓨터에도 충분히 파일이 올라갈 수 있을 것이라 보고 파일을 직접 다른 곳으로 전송했습니다. 냅스터가 법정 싸움에서 패소하기는 했지만 분산 파일 공유 패러다임은 냅스터에 대한 여론을 불러일으켰으며 이제 이 패러다임은 다른 프로젝트와 제품의 기본을 형성하고 있습니다.
아직까지 나는 당신의 질문에 정확한 대답을 한 것은 아닙니다. 소프트웨어와 디바이스로부터 예상할 수 있는 새로운 특징들에 대해 진짜 알고 싶다면 아래의 세 가지가 그 대답이 될 것입니다.
- 메시지 지향적인 패러다임의 개발. 우리는 단지 애플리케이션 보다는 플랫폼 소프트웨어로서 인스턴트 메시징을 보기 시작했습니다. 상당수의 사람들이 "웹 서비스"로서 새로운 패러다임을 선호하는 동안 마이크로소프트의 .NET은 인스턴트 메시징을 계승하는 것과 많은 영향을 가지고 있습니다.
비동기 통지, 현재 관리, 버디 리스트, 해제된 디바이스의 동기 등과 같은 메시징 특징들은 여러 종류의 애플리케이션에서 이제 중요해지고 있습니다. 『Jabber』의 저자인 DJ 애덤즈는 그의 책에서 오픈 소스 IM과 XML 라우팅 프래임워크인 재버를 핸드폰으로 인스턴드 메시지를 보냄으로써 엔터프라이즈 SAP 소프트웨어를 통제하는 방법에 대해 설명하고 있다. 메시지는 꼭 사람간에 교환되어야 할 것은 아닙니다. 프로그램간에 교환 될 수도 있죠. 그리고 상당수의 .NET 서비스는 이러한 IM 특징에 명시적으로 기반을 두고 있습니다.
- 보급형 컴퓨팅. 우리는 애플리케이션을 부분적인 것 어떤 일부분을 복사한 데이터 정도로만 생각해서는 안됩니다. PC, 휴대폰, PDA, 공항과 쇼핑몰의 간이 매점, 게임 콘솔과 가전 제품을 이제는 접속 장치로 생각해야 합니다. 우리는 그러한 제품들을 서비스로 연결시키고 우리자신을 파악하며 네트워크의 연결 속에서 우리가 누구 인지 알려주며 우리가 원하는 애플리케이션과 데이터 환경으로 전환시켜줄 정보를 사용할 수 있는 장치로서 그것들을 사용하게 될 것입니다.
곧 도래하게 될 세계에서는 다음과 같은 핵심 기술들이 있습니다: 단순한 네트워킹이 아닌 데이터 베이스(거대한 양의 데이터 관리를 하게될 것이므로), 캐싱 기술, 복제(데이터가 일장적으로 다중 액세스 디바이스 사이에 동기화 되어감에 따라), 보안(디바이스의 물리적 보안이 쉽게 달성될 수 없을지도 모르며 여러 개의 디바이스가 공유될 것이므로) 등등…
여러분도 알다시피 오라일리는 MySQL과 PostgreSQL과 같은 오픈 소스 데이터베이스는 물론이고 오라클 관련 서적에서도 보다시피 데이터베이스 출판 프로그램에 주력하고 있으며 보안쪽에도 관심이 많습니다. 그렇지만 개인적으로 저는 네트워킹 개발과 관련된 부분에 관심이 많습니다.
『차세대 인터넷 P2P』의 출간과 Peer-to-Peer and Web Service Conference와 같은 세미나는 오라일리에게 지금 무엇이 중요한 것인지 시사해주는 것들입니다. 우리는 이제 막 거대한 변화의 시기에 발을 들여놓았습니다. 오라일리의 핵심 사업은 차세대 개발자들이 그들의 작품을 구축할 수 있게끔 첨단 기술을 선도하는 사람들의 지식을 확보하는 것입니다. 우리는 P2P 및 다양한 네트워크 컴퓨팅 프로젝트와 같은 경이로운 작업에 대한 경각심을 불러 일으키고자 많은 노력을 하고 있습니다.
- 음성 인식에서부터 고품질의 그래픽과 음성 출력과 같은 풍부한 입력 및 출력 메소드. 개발자들이 껴안아야 할 핵심 개념 중 하나는 다중 형식 애플리케이션입니다. 예를 들면 출력 장치에 따라 애플리케이션을 선택해야 할 지도 모르기 때문이죠. (지도로 제공되는 것은 그래픽 인식, 방향제시를 해야할 때는 음성인식 애플리케이션을 써야 한다. 때로는 이 두 가지 모두가 사용되기도 하지만…) 따라서 우리는 여러 종류의 디바이스에 대한 출력 지원을 하기 위해 데이터가 한 형태에서 다른 형태로 어떻게 전환되는지 생각해 보아야 합니다.
그리고 물론 이러한 변화는 애플리케이션 및 운영체제 인터페이스의 설계에 대한 새로운 사고에 대한 필요성을를 선도할 것입니다. 간단히 말해 우리는 우리를 앞서고 있는 거대한 변화를 받아들여야 합니다.
이상과 같은 모든 사실로 미루어 컴퓨터 책을 사야한다고 강조한 것은 아닙니다. 사용자 수준의 책은 감정에 호소하기를 멈추어야 합니다. 컴퓨터가 더욱 친숙해지고 어디서나 볼 수 있을 정도로 널리 보급됨에 따라 모든 사람들은 이미 그 기초 정도는 이해하고 있습니다. 그렇지만 개발자와 시스템 관리자가 우리가 직면하기 시작한 새로운 환경에 대한 기술을 갈고 닦을 필요가 있음에 따라 기술의 진보와 관련된 주제를 다루는 책에 대한 수요는 계속해서 성장할 것입니다.
언급할만한 가치가 있다고 생각하는 주제가 한 가지 더 있다면 그것은 생명정보학(Bioinformatics) 및 기타 응용 과학과 관련된 분야입니다. 컴퓨터는 유전자 조사, 신약 개발 등과 같은 첨단 과학 기술을 선도하는데 사용되고 있습니다. 과학과 컴퓨터의 결합은 생명정보학에서의 혁명적인 상업적 기회를 만들어 냈으며 매우 유망한 분야로 보입니다. 생명정보학에 대한 오라일리의 서적으로는
『바이오인포메틱스(Developing Bioinformatics Computer Skills)』와
『Beginning Perl for Bioinformatics』가 있습니다. 분야 자체가 워낙 생소해 서점에서도 어느 코너에 비치해 두어야 할 지 모를 정도였지만 독자들의 반응은 폭발적이었습니다. (이 두 책은 눈에 아주 잘 띄는 곳에 전시되어 오프라인 서점에서도 굉장한 반응을 보였으며 새로운 분야의 정보에 대한 관심이 많은 개발자들로 인해 온라인 서점에서도 반응이 좋았다.)