페이지

2008년 5월 30일 금요일

노키아의 오픈소스 전략과 활용 사례

노키아 경쟁력의 핵심은 SW기술


노키아(Nokia)는 세계1위의 핸드폰 제조 회사입니다. 국내에는 노키아 폰이 출시가 안되기 때문에 사실 노키아가 어떤 회사인지 왜 세계 1위를 하는지 알기가 힘듭니다.
솔직히 노키아 폰은 삼성, LG폰에 비해 디자인, 기구적인 느낌은 좀 떨어진다고 생각합니다. 하지만 노키아는 소프트웨어 플랫폼 기술을 바탕으로 중저가 핸드폰 부터 고급 컨버전스 핸드폰까지 몇 가지 플랫폼을 기반으로 경쟁사 보다 빠르게 낮은 비용으로 소비자가 원하는 제품을 생산합니다[1]. 특히, 노키아는 스마트폰 시장을 이끌고 있는데, 운영체제와 플랫폼에 대한 기술력 없이는 지금의 성과는 얻기 힘들었을 것입니다.

즉, 노키아 경쟁의 핵심은 바로 소프트웨어 기술입니다.


오픈플랫폼를 통한 SW 중심 회사로의 전환


노키아가 지금과 같이 SW회사로서의 면모를 갖추기까지 많은 노력이 있었습니다. 심비안(Symbian)의 최대 주주가 되어 안정적으로 Symbian OS기반 스마트폰과 S60 플랫폼을 개발하였고, 노키아 폰을 하나의 SW플랫폼 기반에서 개발하기 위해 노력을 기울였습니다. 잠깐 노키아 위기론이 나올 때, 바로 SW플랫폼 구축을 통해 SW중심으로 회사의 체질을 바꾸는 시점이였습니다. 그 이유는 전자기기가 아날로그에서 디지털로 전환되면서 HW기술 격차는 날로 줄어들고 인터넷과 멀티미디어를 중요성이 커지면서 SW역할과 복잡도가 증가되었기 때문입니다.

삼성전자나 모토롤라가 자체 모바일 플랫폼이 없다시피한 상황에서 S60은 노키아 경쟁력의 핵심이 되고 있습니다. 재밌는 사실은 삼성전자와 모토롤라도 경쟁사인 노키아 S60기반의 핸드폰을 만드다는 사실입니다. 그 이유는 S60이 Windows Mobile과 같은 오픈 플랫폼이고 통신사가 원하면 제조사는 S60기반의 핸드폰을 만들 수 밖에 없기 때문입니다. 경쟁사도 쓸 수 밖에 없는 S60플랫폼을 만든 노키아가 그 만큼 시장에서 환영을 받을 수 밖에 없는 것이지요.


오픈소스를 통한 SW 핵심기술 확보


게다가 iPhone 등장으로 Full Browsing이 핸드폰의 핵심 기능으로 등장하였습니다. 노키아는 iPhone출시 이전에 이미 오픈소스인 WebKit을 S60에 포팅하여 경쟁사 보다 앞서 Full Browser를 제공해왔습니다[2]. 현재도 애플과 함께 WebKit 프로젝트에 참여하고 있습니다. 이 때 부터 노키아가 본격적으로 오픈소스 커뮤니티와 협력하기 시작한 시점 같습니다. 웹브라우저와 같이 복잡도가 높고 안정화에 시간이 많이 걸리는 제품을 처음 부터 개발할 수도 없었고, 외부 업체 웹브라우저를 자사 플랫폼에 넣기 어렵습니다(애플도 결국 IE를 버리고 Safari를 개발했지요). 핸드폰에 추가하는 것은 돈만 주면 해결될 문제지만, 플랫폼에 기본적으로 포함시킨다는 것은 비용도 많이 들 뿐만 아니라, 자신들의 전략에 맞추어 브라우저를 수정할수도 없기 때문에 어려운 문제였습니다. 노키아는 이를 WebKit으로 쉽게 해결한 것입니다.

하지만 플랫폼의 중요성을 누구보다 잘 알고 있는 노키아로서는 S60만으로는 안심할 수 없었습니다. S60의 기반인 심비안OS는 Windows Mobile, Linux 만큼 강력한 OS가 아니기 때문에 노키아 차세대 플랫폼을 대신할 수 없었습니다.


오픈소스를 통한 SW 플랫폼 경쟁력 확보


오픈소스 기반 maemo 모바일 플랫폼



노키아는 2005년 5월 25일 독자적으로 리눅스 커널과 다른 오픈소스를 기반으로 Maemo 플랫폼을 발표하고 이를 오픈소스 프로젝트로 운영하시 시작했습니다[1]. 그 후, 2006년 6월 애플은 iPhone으로 지금까지 경험하지 못한 UX를 제공하며 모바일 플랫폼 사업에 뛰어들었고, Google은 2008년 1월 안드로이드라는 오픈소스 모바일 플랫폼을 내 놓으며, 활동영역을 모바일로 넓이기 시작했습니다.

노키아는 경쟁사 보다 1년 먼저 새로운 모바일 플랫폼을 확보할 수 있을 수 있었던 것은 바로 오픈소스 프로젝트를 잘 활용했기 때문입니다. 노키아는 소프트웨어 회사도 아니였고 그렇다고 마이크로소프트(Microsoft)나 애플(Apple)처럼 다양한 소프트웨어 솔루션을 보유한 회사도 아니며, 그와 관련한 SW 인력이 풍부한 회사도 아닙니다. (물론 다른 전자회사보다는 훨씬 많은 2만여명의 SW엔지니어를 확보하고 있습니다.) 비록 Symbian이라는 OS가 있었지만, 애초부터 성능이 낮은 모바일 기기를 대상으로 설계된 OS이므로 이를 개선한다는 것도 쉬운일은 아니였을 것입니다. 그들에게는 시간이 충분하지 않았고 선택은 바로 오픈소스였습니다.

Maemo플랫폼이 처음 적용된 Nokia 770삼성전자의 넥시오(Nexio) 을 보고 충격을 받아 만들어진 제품이라고 합니다. 넥시오는 Windows CE를 사용하였고 키보드 없이 큰 스크린을 가진, 당시로서는 획기적인 모바일 디바이스였습니다. 노키아가 Nokia 770에 삼성전자 처럼 Windows CE를 사용하지 않고 자신들이 주도할 수 있는 오픈소스 플랫폼을 사용한 것은 지금 보면 탁월한 전략이 아닐 수 없습니다. 이것은 단순히 비용 절감 차원이 아닌 노키아 영향력 아래 오픈소스 커뮤니티와의 협업을 통해 오픈 플랫폼을 확보하게 된 셈이니까요.

오픈된 maemo 플랫폼은 당연히 수 많은 오픈소스 개발자, 일반 개발자가 관심을 보일 수 밖에 없고 노키아는 별 다른 노력없이 많은 개발자와 다양한 오픈소스 소프트웨어를 확보하게 되었습니다.

노키아가 자신들의 오픈 플랫폼을 위해 개발자를 양성하고 각 개발자가 품질 좋은 소프트웨어를 만들어 내는 것이 얼마나 어려운 일인지, 아마도 S60 SDK를 만들면서 느꼈을 것입니다. 마이크로소프트나 애플 정도 위치가 아니고서 오픈 플랫폼 사업을 한다는 것은 상당히 어려운 일이죠.

이런 의미에서 리눅스, GTK+, Matchbox 기반의 오픈소스 모바일 플랫폼을 만든 것은 정말 잘한 선택이라고 볼 수 밖에 없습니다.



경쟁사가 maemo 플랫폼에 쉽게 뛰어들 수 없는 이유



maemo 4.x의 소프트웨어 스택. 모든 콤포넌트가 오픈소스 SW로 구성되어 있다[3]

물론 리스크도 있습니다. 경쟁사가 meamo 플랫폼을 오히려 더 잘 활용할 수도 있습니다. 하지만 이것은 파이 전체를 키우는 셈이 되기 때문에 노키아에 득이 되면 되었지, 손해 보는 장사는 아닙니다. 게다가 meamo는 오픈소스이기 때문에 경쟁사가 아무리 잘해도 결국 소스코드는 공개될 것이고 노키아 보다 뒤에 뛰어든 경쟁사가 과연 노키아 만큼 잘 하기는 힘들 것입니다.
대부분의 maemo용 SW는 이미 리눅스에서 개발된 SW입니다. 대충 동작은 할지 몰라도 쓸만한 수준으로 성능을 확보하기란 쉽지 않은 문제이죠. 하지만 노키아는 이런 부분을 잘 해결했습니다. 덩치가 크다는 Mozilla도 잘 포팅하여 microB로 거듭난 것 처럼 말이죠[4]. 성능개선과 최적화에 많은 노하우를 확보했으리라 생각합니다. 이런 이유인지 몰라도 삼성전자와 모토롤라는 maemo가 아닌 LiMo 라는 리눅스 기반의 모바일 플랫폼에 참여하고 있습니다.

Hildon을 커뮤니티로 이양[2]


Hildon은 maemo 플랫폼 중 노키아가 직접 개발한 GTK+ 기반의 모바일 애플리케이션 프레임워크(Mobile Application Framework)입니다. maemo의 핵심 요소였던 Hildon은 maemo 플랫폼의 가장 큰 경쟁력이였고 차별점이였습니다. GTK+기반이기 때문에 오픈소스화되었지만 노키아가 지배하고 있는 오픈소스 프로젝트였습니다. 이를 과감히 GNOME 커뮤니티에게 이양한 것입니다[5].

노키아가 오픈소스를 좋아하고 친 커뮤니티적이기 때문일까요? 절대 아니라고 말씀드리고 싶습니다. 노키아의 선택은 주변환경의 변화와 오픈소스 프로젝트의 생태계를 잘 이해했기 때문이고, 이런 결정이 그들에게 득이 된다고 생각했기 때문입니다. 리눅스 기반의 모바일 플랫폼이 maemo만 있는 것이 아니라 앞서 이야기한 LiMo도 있고 Intel이 참여한 Mobile Ubuntu도 있습니다[6]. 특히, Ubuntu Mobile에서도 Hildon을 안심하고 사용한 것도 노키아의 결정 때문은 아닐까요? 참고로, Hildon이양이 먼저인지, Ubuntu Mobile에서 Hildon을 사용하기로 한 것이 먼저인지 확인을 못했지만, 서로 영향을 준 것은 분명합니다.

GNOME의 일부가 된 Hildon은 인텔의 참여로 더욱 강력한 힘을 얻었고 모바일 플랫폼에서 새로운 표준 애플리케이션 프레임웍으로 떠오를 전망입니다.


개발자와 사용자와의 채널 구축


오픈 플랫폼을 개발할 때, 가장 공을 들이는 부분이 바로 개발자 양성과 응용 애플리케이션 확보입니다. 구글이 안드로이드를 발표한 이후, 큰 상금을 걸고 개발자 대회를 여는 것을 보면 얼마나 중요한지 짐작할 수 있을 것입니다. 마이크로소프트나 애플 처럼 운영체제를 갖고 다양한 개발툴을 제공하는 회사는, 보다 쉽게 개발자를 양성할 수 있습니다. 이를 정말 잘했던 회사가 바로 마이크로소프트이고, 수 많은 윈도 개발자가 바로 마이크로소프트의 큰 자산이라고 할 수 있습니다.

많은 개발자들이 리눅스 환경에 익숙하고 오픈 소스와 오픈 플랫폼을 좋아합니다. 이를 잘 알고 있는 노키아는 maemo를 리눅스 기반으로 오픈 플랫폼으로 만들어 수 많은 개발자를 끌어들이고 있고, 이들의 참여를 적극 유도할 수 있는 개발자 사이트를 구축했습니다. 이곳에서 커뮤니티 주도로 문서화 프로젝트가 진행되어 사용자와 개발자에게 필요한 정보가 공유되어 있고, 오픈소스 프로젝트 호스팅 서비스를 통해 개발자와 사용자가 maemo용 소프트웨어를 함께 개발할 수 있도록 하였습니다.


이 전략은 maemo만 해당하는 것이 아니라, S60플랫폼에도 적용되어 개발자와 사용자를 연결해주는 웹사이트가 구축되어 개발자가 개발한 SW를 사용자들이 쉽게 다운로드해볼 수 있습니다. 심지어 사용자가 직접 생성한 멀티미디어 파일, 벨소리까지도 공유할 수 있습니다.


노키아의 고민


maemo를 잘 살펴보면, 노키아가 한 일은 Hildon이라는 GTK+기반의 모바일 애플리케이션 프레임웍을 개발한 것과 다른 오픈소스 SW를 잘 통합한 일 뿐입니다. 하지만 이것이 단순히 통합이라고 말하기 힘들 것은 앞서 이야기 했듯이, 커뮤니티 양성에 많은 노력을 기울였고, 모바일 기기에서 사용할 만한 성능을 확보했기 때문입니다. 또한 오픈소스 SW를 자기들 전략에 맞추어 주도하는 것이 쉽지 않은 문제이기 때문에 노키아 개발자와 실제 해커들과의 협업을 통해 많은 문제를 해결했을 것입니다.

그럼에도 불구하고 노키아가 Trolltech를 인수한 것은 무엇을 의미할까요?[7] 그 이유를 곰곰히 생각해보면,



  • 오픈소스를 자신들의 영향력 아래 두고 원하는 방향을 이끌기가 어려웠을 것입니다.



  • 모바일 기기에서 X-Window와 GTK+의 한계를 느꼈을 지도 모릅니다.


Trolltech는 QT ebmeeded를 통해 Mobile환경을 지원해왔지만, GTK+는 X-Window가 필요했고 DirectFB가 있긴 하지만 성능에 대한 논쟁은 계속 있어왔습니다.



  • 무엇보다 iPhone과 같이 HW가속 기반의 화려한 그래픽이 가능한 GUI 프레임웍이 필요했을 것입니다.


이는 maemo뿐만 아니라 S60플랫폼에도 중요한 전환점이 될 수 있습니다.


결국, 기업 입장에서 중요한 것은 오픈소스, 오픈 플랫폼이 아니라, 얼마나 빠른 시간에 내가 원하는 기능, 기술을 확보하고 시장을 지배할 수 있느냐에 달려있는 것입니다. 사람을 투입해서 해결할 수 있다면 그렇게 해야하고, 오픈소스를 써야 한다면 과감히 써야하고, 회사를 인수해야 한다면 인수하는 것입니다. 물론 가장 비용이 적게 들고 쉽게 할 수 있는 일이 오픈소스 SW를 사용하는 것입니다.

아직까지 오픈소스를 꼭꼭 숨겨두고 활용하는 회사가 있다면, 이미 경쟁에서 한참 뒤져있다고 생각하면 됩니다. 노키아의 예에서 볼 수 있듯이, 결국 모든 것은 시간과의 싸움입니다. 좀 더 빠른 시간에 제품을 출시하고 고객을 만족시키고 싶다면 오픈소스를 오픈소스답게 활용해야 합니다.

오픈소스를 어떻게 오픈소스 답게 활용해야 할까요? 이 이야기는 다음에 풀어보도록 하겠습니다~





참고문헌


2008년 5월 18일 일요일

Fennec (Mobile Firefox)의 최근 모습

작년 10월 Mobile Firefox의 개발이 발표되고, 현재 커뮤니티에서는 열심히 Mobile Firefox를 개발하고 있습니다.

Mobile Firefox는 Fennec이라는 코드네임을 갖고 있는데, 사막 여우를 뜻합니다. 사막 여우 하면 만화에서도 본 적이 있을 것입니다. 보통 여우보다 작고 귀가 큰 것이 큰 특징입니다.

얼마전 개발 중인 Fennec의 코드와 빌드 방법이 공개되었습니다. 아직 Mozilla mainline에는 반영이 안되어서 빌드 방법이 다소 번거롭기는 합니다.

빌드한 후, 실행하면 다음과 같은 모습을 볼 수 있습니다.

Fennec (Mobile Firefox) on N810

Flock: Editing Bookmark

현재 기본 브라우징에서 즐겨찾기 정도가 구현되어 있습니다. Panning은 속도가 좀 느리고 Zoom기능은 잘됐었는데, 최근 코드에서는 잘 안되네요.

Fennec은 Maemo Scratchbox환경에서 빌드가 가능하고 XUL Runner기반으로 실행됩니다. 현재 X86으로는 빌드가 잘 안되는 것으로 보아,N800/N810이 없다면 실행해보기는 힘든 것 같습니다. 조만간 빌드 방법을 정리해서 올려보겠습니다.

테스트 해보시고 커뮤니티에 피드백을 주면 좋겠습니다.

관련 글