Friday, June 4, 2010

Linaro?

또 하나 주목할 만한 움직임이 있군요. ARM 제품을 생산하는 주요 하드웨어 업체 즉, ARM, Freescale, IBM, TI, ST, Samsung 이 지원하고 Linux 업체 Canonical이 주도하는 open-source company Linaro가 설립되었습니다. 여기서 Canonical은 Ubuntu를 배포하고 모바일 기기에 이식하는 것을 전문으로 하는 업체입니다.

목적은 ARM에 Linux를 포팅하는 작업을 지원하는 소프트웨어를 개발하여 공개하는 것입니다. 좀 더 자세히 설명하자면 약간의 배경 설명이 필요합니다. 최근 들어서 스마트 폰 시작이 확대 되면서 기존의 작은 시장을 지배하고 있던 소프트 웨어(O/S) 구도가 급격히 바뀌고 있지요. 사실 이미 10년도 전에 기존의 소프트웨어에 불만을 가지고 있던 하드웨어 제조사와 통신 사업자들의 주도로 계획되어 온 것입니다.

마이크로소프트의 모바일용 윈도를 예를 들어 보겠습니다. 이 소프트웨어가 탑재되는 휴대폰은 하드웨어 개발단계부터 마이크로소프트와 협력해야 합니다. 마이크로소프트가 지원하지 않는 기능이나 하드웨어는 독자적으로 설계하기가 거의 불가능했기 때문에 거의 모든 스마트폰의 기능이 카피라도 한 듯이 유사했습니다. 통신사의 입장에서는 타 경쟁 업체와 차별화 되는 서비스를 넣고 싶어도 역시 마이크로소프트가 지원해 주지 않으면 어려웠기 때문에 이런 제약들이 시장 자체를 확대하지 못하게 하는 요인이 되었습니다.

ARM 계열의 코어를 탑재한 CPU들이 모바일 기기에 적용되고 Linux의 채용이 늘어 나면서 소프트웨어 개발사에서 하드웨어 개발사로 무게 중심이 이동하였습니다. 이런 시장 상황의 변화 상황에서 애플의 iPhone은 그 사이를 적절한 순간에 효과적으로 공략하였다고 볼 수 있습니다. iPhone의 경우에는 소프트웨어의 우수성으로 소비자들을 자극하여 나름대로 큰 성공을 거두었지만 언젠가 언급한 대로 애플사가 워낙 탐욕스러운지라 통신사들에게는 iPhone이 삼킬수도 뱉을 수도 없는 계륵과 같은 존재입니다. 따라서 여전히 하드웨어 제조사와 통신사의 희망은 ARM + Linux에 있다고 볼 수 있습니다. 최근 안드로이드의 등장은 이런 움직임이 완성단계에 왔음을 보여줍니다.

그런데 안드로이드의 채용이 시작되면서 Mobile Linux 개발자들에게 난관으로 등장한 문제가 하나 있습니다. 그것은 ARM Core가 다양한 제조사의 다양한 CPU에 적용되면서 middle ware이하의 레벨에서 호환성이 문제되기 시작했습니다. 즉 소프트웨어를 개발하는 입장에서 보자면 소프트웨어 개발(middle ware 이상) 자체보다도 이런 다양한 CPU에 대해 Linux를 CPU에 커널을 포팅하는 단계에 들어가는 노력과 비용이 상당히 증가하게 된 것이지요.

이런 문제가 지속되면 ARM + Linux 모바일 기기의 확산을 더디게 하는 수준에 이르게 될 수 있습니다. 따라서 이제 하드웨어 개발사들이 나서게 된 것으로 보입니다. 다양한 ARM CPU에 대해 통일된 커널과 개발 환경을 제공하자는 것이 목적이지요. Linaro 프로젝트가 진행되면서 이 부분이 해결되면 ARM+Linux의 보급이 더욱 빠른 속도로 이루어 질 것이고 안드로이드와 같은 경우는 강력한 우군을 만난 상황이 되었다고 볼 수 있겠습니다.

처음에 Canonical이 주도한다는 소식이 들렸을 때 많은 사람들은 Ubuntu를 개발하는 Canonical사의 특성상 Android와 경쟁하는 middle ware 하나가 더 등장하는 것 아닌가 생각했는데 뚜껑을 열고보니 결과적으로는 Android를 지원하는 역할이더군요. 아마도 Android는 이제 대세임을 인정받게 된 것 같습니다.