최근 몇년동안 지속된 애플의 승승장구가 IT 업계의 화두다. 매킨토시는 잘 몰랐던 일반 사용자들도 아이팟, 아이폰이 도입되면서 애플에 대해서 인지를 하기 시작했다. 그러면서 애플의 성공에 대해서 너도나도 이야기하며, 왜 우리나라에서는 아이폰을 못만드냐... 라는 제목의 글들이 넘쳐난다. 이 식상한 주제에 대해서 소프트웨어 프로그래머의 시각에서 잠깐 썰을 풀어보자면..
* 애플은 하드웨어 업체인가 소프트웨어 업체인가? 둘 다 하는 업체이다. 물론 MS도 하드웨어를 만들기는 하지만 MS를 하드웨어 업체라고 생각하는 사람은 없다. 아이리버도 소프트웨어를 만들기는 하지만 아이리버를 소프트웨어 업체라고 생각하는 사람은 없다. 애플은? 둘다이다. 최상의 하드웨어와 최상의 OS, 최상의 애플리케이션을 동시에 만들수 있는 정말 흔치 않은 회사이다.
애플의 하드웨어는 뛰어나다. 그 디자인 때문에 열광한다는 사람들도 있지만, 그 디자인 뿐만이 아니라 하드웨어의 성능 - 가격 대비 - 이 뛰어남을 인정하지 않을 사람은 없을것이다. 문제는 뛰어난 하드웨어를 만드는 회사는 국내에도 많다는 것이다. 핸드폰은 삼성도 잘만들고 LG 도 잘만든다. MP3P 는 아이리버도 잘만든다. 그런데 차이점은? 소프트웨어이다.
애플은 맥OS 를 직접 만들고, 아이폰 OS 를 직접 만들고 - 아 물론 커널은 가져다 쓰는거 알고 있다 - 아이튠을 만들고, 기타 그 위에 올라가는 소프트웨어를 다 만든다. 사파리의 엔진은 웹킷이다. 필요하면 오픈소스를 가져가서 - 물론 라이선스에서 허용하니까 가져다 쓰는거다. 불법적인 부분은 전혀 없다 - 만들고 없으면 만들어서 쓴다. 즉 소프트웨어 개발 능력도 최상이다.
* 하드웨어를 만드는것으로 시작한 회사는 하드웨어에 강하다. 소프트웨어를 만드는 것으로 시작한 회사는 소프트웨어에 강하다. 해당 분야에서 성공했기 때문에 회사의 경영진과 중간 관리자에는 해당 분야의 강자들이 많다. 하드웨어로 성공한 회사에는 소프트웨어를 업신여기기 쉽다. 소프트웨어로 성공한 회사에는 하드웨어를 업신여기기 쉽다. 실제로 소프트웨어에 대해서 "그냥 만들면 되는거 아냐?" 내지는 "그거 외주 주면 되지" 라는 식의 마인드를 가진 사람들을 종종 보아왔다. 반대로 소프트웨어 만드는 사람 입장에서는 "하드웨어 그거 부품사서 레퍼런스 보드대로 만들면 되지" 라고 생각하기 쉽다. (이건 내가 실제로 그렇게 생각하고 있다. 그리고 실제로 그렇게 허접하게 만든 제품도 많이 봐 왔다)
* MP3P 를 보자. 애플은 아이튠이라는 소프트웨어를 만들었다. COPY&PASTE 로 MP3 를 MP3 플레이어로 옮기는것이 일반적이던 시절 - 지금도 마찬가지기는 하지만 - 아이튠이라는 새로운 개념의 음악파일 관리 프로그램을 만들었다. MP3P 를 더이상 USB 드라이브로 인식하지 않게 되는것이다. 음악 파일을 DB로 관리하게 되는것이다. 기존 MP3P 는 매번 부팅하면서 메모리의 MP3 파일들을 스캔하면서 DB를 구축해야 되지만, 아이튠은 동기화할때 이미 DB 를 업데이트 하기 때문에 이런 과정이 필요없다. 이로 인해서 생기는 잇점은 수도 없이 많다.
여기서 끝이 아니다. 아이튠은 멀티 플랫폼이다. 윈도우와 맥용 두 OS용 제품이 동시에 나온다. (요즘은 혹시 바뀌었는지 모르겠지만) 우리나라 MP3P에 딸려 나오는 MP3 관련 소프트웨어는 윈도우 전용이다. MFC 를 쓰고 IE 컨트롤을 쓰기 때문에 맥용으로 포팅하는것 자체가 불가능하다. 포팅할 방법이 없다. 미국에서 맥 사용 비율을 생각하면, 미국 수출시 상당수의 사용자는 포기해야 된다는 이야기 이다.
외국 게임은 보통 엑박과 플스용 동시에 나오니까 포팅이 쉬운줄 아는 사람도 있을것이다. 멀티 플랫폼에서 돌아가게 만들려면 처음부터 멀티플랫폼을 고려해서 라이브러리를 선택하고 개발을 시작해야 되고, 개발속도도 더딜 수 밖에 없다. 디버깅도 힘들고 너무나 고통스러운 작업이다. 블라 블라~
* 결론... 소프트웨어가 중요하다. 인재들이여 소프트웨어 개발자가 되자.
아 씨발 글 쓰기 귀찮아 코딩이나 해야지