BLOG main image
분류 전체보기 (26)
미국생활 (0)
InfoReview (4)
Industry (16)
잡담 (3)
Resource (3)
Communication (0)
Visitors up to today!
Today hit, Yesterday hit
'2010/02'에 해당되는 글 1건
2010. 2. 6. 11:13
(얼마전 Kandroid 저널에 기고한 글입니다: http://www.kandroid.org/board/board.php?board=kandori&command=body&no=47 )
 
얼마전에 미국 실리콘밸리쪽으로 출장을 다녀왔습니다. 1월 말의 그곳 날씨는 우리나라 가을 정도의 기온인데, 비가 자주 옵니다. 잠깐 비가 그친 틈을 타서 저렴하게 골프 한번 쳐 보겠다고 근처 골프장에 갔습니다. 1번홀 플레이를 마치자마자 우박이 섞인 비가 오더군요. 도저히 지나가는 비처럼 보이지 않아서, 포기하고 프로샵으로 돌아와서 환불 협상을 하는데, 그쪽에서 컴퓨터를 이용해서 실시간 위성 이미지를 보여주면서, 지금 내리는 비가 요 구름인데, 곧 지나갈 것이니 조금만 기다려 보라고 하더군요. 아니나 다를까, 곧 비가 그치고 아름다운 쌍무지개가 떴습니다. 얼른 사진 몇장 찍고 나머지 라운드를 즐겼습니다. 날씨 정보가 아니었으면, 정리하고 돌아가는 길에 날씨가 개는 것을 보고 매우 아까워 했겠죠.
 
두번째 에피소드: 그 다음주에 다들 모여서, 우리 회사의 소프트웨어 테스트 자동화 쪽 신제품을 소개하고 제품 전략을 의논하는 자리에서, 현재 개발중인 기술을 2년 내에 오픈 소스로 전환하겠다는 개발 담당자의 발표가 있었는데, 사장님께서 강력히 이의를 제기하면서 마케팅 부서를 포함한 유관부서가 다들 모여서 오픈 소스 전략에 대해서 다시 한번 타당성을 검토하라고 지시하더군요. 우리 회사 및 제품의 경쟁력에 별 도움이 되지 않을 것 같다는 의견이었던 거죠. 리눅스 기반 비니지스를 해 보신 분들이라면, 오픈 소스 전략의 어려움에 대해서 다들 공감하시겠습니다만, 많은 돈을 들여서 개발한 기술의 소스코드를 공개하고 계속 이끌어 나간다는 것이 보통 일이 아니죠.
 
출장에서 돌아오는 길에 개방의 의미와 경쟁력에 대해서 생각을 하게 되는 계기가 되었습니다. 개방형 시스템의 우월성은 이미 많은 역사적 사실들에 의해서 증명되었다고 생각합니다. 감춰진 것은 공개되고 닫힌 것은 열리게 마련입니다. 자발적으로 하느냐 등을 떠 밀려서 하느냐에 따라서 그 의미와 과정은 다를 수 있어도, 흐름 자체를 막을 수는 없다고 믿고 있습니다. 따라서 개방형 시스템의 채용은 하느냐 마느냐의 문제가 아니고, 어떻게 언제 하느냐의 문제가 되는 거죠. 그럼 개방의 정도는 어떻게 판단을 할 수 있을까요? 그건 소통의 수준으로 보면 되지 않을까 합니다. 인문학에서와 마찬가지로, IT 분야에서도 서로 다른 개체 사이의 의사 소통의 수준을 보면 개방의 정도를 알 수 있습니다.
 
컴퓨터라는 하드웨어에게 어떤 일을 하도록 시킬려면, 프로그램이라는 소프트웨어가 필요합니다. 예전에는 어셈블러라는 언어를 이용해서 프로그램을 만들었는데, 이는 컴퓨터의 기계어에 가까운 수준으로 개발자들이, 일일이 컴퓨터에게 어떤 일을 해야 할지 알려주는 방식이었습니다. 그 후에는, 유닉스라는 컴퓨터 운영체제의 발전과 더불어 C 언어를 이용해서 프로그램을 짰는데, 개발자들이 어셈블러에 비해서 훨씬 더 사람들이 쓰는 언어 체계에 가깝게 프로그램을 만들면, 그걸 중간에 컴파일러라는 녀석이 기계어로 번역을 해 주는 방식이죠. 그 후에는 인터프리터를 쓰는 스크립트 언어라던가 가상 머신을 쓰는 자바라던가 하는 식으로 계속 진화를 하고 있습니다만, 뭐 장기적으로는 우리가 평소에 쓰는 자연어가 곧 프로그래밍 언어가 되겠죠.
 
이 컴퓨터 언어의 진화 과정을 조금 다른 관점에서 봐도 재미있습니다. 예전에 컴퓨터가 처음 나왔을때는, 극히 소수의 제한된 사람들, 아마도 주로 방위 산업이나 과학 분야의 사람들만 쓰는 기계였죠. 그러다가 컴퓨터의 응용 분야가 비지니스쪽으로 확장되면서 사용자층이 조금 더 늘어났고, 개인용 컴퓨터가 나오면서 다시 사용자 층이 더 늘어났고, 인터넷이 나오면서 사용자 층이 더 늘어났고 이제는 스마트폰이 나오면서 거의 모든 일반인들이 컴퓨터를 쓰게 되었습니다. 이 사용자 층의 증가와 정확하게 비례하는 것이 바로 컴퓨터를 이용해서 뭔가 유용한 일을 할 수 있는 프로그램을 만들어내는 개발자의 숫자입니다.
 
제가 지금 쓰는 휴대폰은 블랙베리입니다. 회사 방침으로 쓰는 건데, 뭐 누구는 족쇄라고 싫어하는 분도 있습니다만, 하여튼 이메일을 24시간 언제 어디서든 볼 수 있다는 면은 확실히 업무 효율성을 획기적으로 높여주는 것 같습니다. 근데 이녀석이, 전화기 주제에 이메일 기능은 꽤 좋은데, 막상 본업인 전화 기능이 영 꽝입니다. 난데없이 전화가 끊어지는 현상도 많고 문자 기능도 영 쓰기 불편합니다. 근데 무엇보다 제가 예전 전화기에서 그리워하는 기능은, 바로 4자리 단축 다이얼 기능입니다. 전화 번호를 다 외우진 못해도, 자주 거는 전화번호의 끝 네자리 숫자는 기억하기 쉽다는 점을 이용해서, 끝 네자리 번호만 눌러도 통화가 가능하게 하는 기능인데, 주소록에서 사람 찾아서 전화 거는 것과는 비교가 되지 않을 정도로 편리하죠.
 
이 기능이 혹시 특허가 걸려 있는 것이라면 뭐 어쩔 수 없겠습니다만, 특허가 걸려 있지 않더라도, 이런 일을 해 주는 블랙베리용 프로그램을 제가 찾을 확률은 아마 높지 않을 겁니다. 블랙베리용 어플리케이션 마켓이 활성화 되어있지 않고, 따라서 개발자도 몇명 없을테니까요. 그럼 아이폰은 어떨까요? 아마도 블랙베리보다는 훨씬 확률이 높겠죠. 그 수많은 개발자들 가운데, 이런 생각을 한 사람이 저 혼자만은 아닐테니까요. 하나 좀 걱정 되는 것은, 요 4자리 전화 번호 기능이 의외로 시스템의 전화번호 데이터베이스나 다이얼러 등과 밀접하게 엮여있을 거라는 거죠. 제가 아이폰 개발자가 아니라서요, 아이폰용 응용 프로그램 개발 도구가 이런 기능의 개발까지 가능할 정도로 시스템 깊숙한 곳까지 건드릴 수 있도록 되어있는지 모르겠네요.
 
안드로이드 폰의 경우라면 개발 도구에 관해서라면 걱정이 없겠습니다. 시스템의 전화번호부나 다이얼러의 수정이 자유롭고, 그럴 능력만 있다면 데이터베이스나 미들웨어의 수정을 통해서 뭐든 원하는 기능을 만들어 내면 될테니까요. 또한 다른 사람들이 이미 만들어놓은 기능들을 조합해서 내가 원하는 새로운 기능을 만드는 방식도 잘 정의되어 있는 것 역시 안드로이드의 개방성이 빛을 발하는 부분이라고 생각 됩니다. 물론 이미 이런 일을 해 놓은 응용 프로그램을 찾을 수 있으면 제일 편하겠습니다만, 아직 응용 프로그램의 숫자나 개발자의 숫자가 충분하지는 않은 것 같습니다.
 
즉, 어떤 소프트웨어 플랫폼의 경쟁력은 결국 그 플랫폼을 이용해서 다양한 응용 프로그램을 만들어 낼 수 있는 개발자의 숫자와 비례한다고 볼 수 있는 거고, 이것이 왜 사람들이 블랙베리에 비해서 안드로이드의 미래가 더 밝다고 생각하는 이유입니다. 또한 구글이 안드로이드 플랫폼의 확산보다도 호환성의 확보를 더 중요하게 생각하는 이유이기도 합니다. 개발자들이 만든 응용 프로그램이 다양한 안드로이드 호환 디바이스에서 잘 돌아간다는 것을 보장해야 안드로이드 개발자 커뮤니티가 유지/확산 될테니까요.
 
그러면, 제조사의 입장에서 개방을 통한 경쟁력은 어떤 의미가 있을까요? 예전의 휴대폰은 제조와 마케팅의 승부였다고 생각합니다. 멋진 디자인, 대량 생산을 통한 경쟁력 있는 구매 시스템과 엄격한 품질 관리, 그리고 통신 사업자와의 끈끈한 관계를 통한 유통망 확보및 강력한 판촉 활동이 게임의 룰이었죠. 물론 이 모든 것들은 여전히 중요한 경쟁력이고, 한동안 시장을 지배할 수 있는 힘이 되어 줄겁니다. 하지만 게임의 룰이 빠른 속도로 바뀌고 있죠.
 
PC를 통해서 인터넷의 정보를 자유자재로 활용하는 사람들이 점점 늘고 있습니다. 예전의 골퍼들이, 비가 오면 투덜거리면서 골프장을 떠났다면, 오늘의 골퍼들은 비가 오면 클럽하우스로 돌아가서 PC 앞에 앉아서 실시간 위성 사진을 보면서 이 비가 언제 그칠지에 따라서 다음 계획을 정할 겁니다. 그리고 내일의 골퍼들은 현장에서 즉시 휴대폰으로 위성 사진을 보기를 원할 거구요. 사용자들의 눈높이가 매우 높아져가고 있고, 이런 사용자의 요구를 잘 파악하고 만족시켜주는 소프트 파워를 갖고 있는 애플이나 구글같은 회사가 힘을 얻고 있습니다. 따라서 제조사들도 사용자들의 마음에 드는 제품을 만들기 위해서는 보다 전략적인 소프트웨어 플랫폼 선정이 필요하게 되었습니다.
 
노키아의 심비안이나 애플의 아이폰 그리고 림의 블랙베리는 현재 스마트폰 시장에서 잘나가는 소프트웨어 플랫폼이지만 특정 제조사에 종속되어 있으므로 고려 대상에서 제외하면, 제조사 입장에서는 크게 두가지 선택이 남죠. 이 세 회사들 처럼 직접 만들거나, 혹은 잘 만들어져있는 플랫폼을 가져다 쓰거나 둘 중 하나입니다. 각 플랫폼간의 비교에 대해서는 이미 넘칠만큼 많은 정보가 있으니 제가 여기서 반복할 필요는 없을 것 같네요. 다만, 수많은 경쟁자들에게 공평하게 공개되어있는 개방형 플랫폼을 채택하는 경우, 제조사의 정체성의 확보가 쉽지 않다는 점은 반드시 고민하고 넘어가야 할 부분입니다.
 
예를 들어, 경쟁사가 만든 안드로이드 2.1 기반의 풀 터치폰에 비해서 왜 고객들이 우리회사가 만든 안드로이드 2.1 기반의 풀 터치폰을 사야 하는지에 대해서, 기존 제조 기술의 범주를 벗어난, 조금 더 소프트적인 고민이 필요하다는 점입니다. 그런 면에서 볼때, 이번에 애플에서 발표해서 논란이 되고 있는 아이패드는 시사해주는 바가 많습니다. 애플답지 않게 전혀 혁신적이지 않은 제품 발표였다고 하는 평들이 많고, 실제로 기술적으로도 전혀 새로울 것이 없는 디바이스라고 생각됩니다. 그런데 그런 점이 또한 애플다운 시도가 아닌가 하는 생각도 해 봅니다. 무협지에서 보면, 어설픈 고수는 온갖 똥폼을 다 잡는 울뚝이 불뚝이 스타일인데 반해, 진정한 고수는 오히려 매우 평범해 보이는 것처럼, 온갖 쓸데 없는 기능으로 필요없는 사족을 덕지 덕지 붙이는 기획에 비해서, 정말 사용자에게 필요한 것만 최고의 수준으로 튜닝을 해서 제품으로 내 놓는 애플 특유의 접근이 돋보입니다.
 
조금 더 일반론적인 이야기를 해 보면, 기존의 제조 기술에서 제품의 품질 확보 및 가격 경쟁력이 매우 중요한 경쟁력이었는데, 지금과 같은 패러다임 변화의 시기에서도 역시 그 두가지는 중요한 차별화 포인트가 된다는 점입니다. 경영진과 개발팀, 마케팅 팀과 디자인 팀 그리고 소비자 들 간의 원활한 의사 소통이 제품의 품질 확보에 매우 중요할 겁니다. 비전과 현실 감각을 조화시킨 제품 기획, 기술적인 이해에 바탕을 둔 디자인, 동반자적인 협력 업체 관리 그리고 현실적인 제품 출시 계획 등이 필요한데, 이런 걸 하기 싫어서 안하는 회사는 별로 없을 겁니다. 다만, 이를 이루는데 필요한 수평적인 의사 소통 문화에 다가가기가 힘들 뿐이겠죠. 가격 경쟁력도 마찬가지입니다. 결국은 개발 기간을 단축시키는 것이 관건인데, 이 부서에서 한달동안 삽질해서 해결한 것을, 다른 부서에서도 마찬가지로 한달동안 헤메고 있으면 기간 단축에 도움이 안되겠죠. 혹은 매번 말도 안되는 요구 사항을 말도 안되는 스케줄에 맞추라고 밤샘 작업을 종용하는 것은, 개발자들이 그저 기계적으로 시킨 일만 하게 만들 뿐입니다.
 
마지막으로, 개방형 시스템의 추세에 맞추어서, 오픈 소스 전략에 대한 진지한 접근이 필요한 시점입니다. 90년대 후반 닷컴 버블이 붕괴되면서 오픈 소스 기반 소프트웨어의 경제성이 빛을 발하기 시작했고, 10년이 지난 지금, 모바일 소프트웨어의 주류로 자리매김을 하고 있습니다. GPL이니까 공개를 해야 하고, 아파치 라이센스니까 공개 안하는 그런 초보적인 수준의 정책은, 클라우드와 집단 지성의 시대에 너무 소극적인 접근입니다. 공격이 최선의 방어라고 했습니다. 알량한 소스코드 몇줄보다는, 오픈 소스 전략을 통한 기술 리더십과 아이디어의 독창성으로 차별화를 시도하는 그런 발상의 전환이 필요한 시기입니다.
 
이런 전략을 주도할 몇사람의 천재를 확보하고 있다면 좋겠지만, 그렇지 않을 경우 최선의 대안은 조직내의 수평적인 의사 소통밖에 없습니다. 빠르게 변화하는 개방형 시스템의 세상에서 경쟁력을 갖고자 한다면, 의사 소통의 수준을 한단계 높일 필요가 있습니다.  
 
 
 
 

 

prev"" #1 next