NekoNeko’s blog

August 2, 2006

왜 개발자는 맥을 쓰지 말아야 하는가

Filed under: IT — NekoNeko @ 9:17 pm

글 제목이 조금 낚시성(?)이 강하지만 중요한 주제라 트랙백으로 연결을 해 봅니다.

왜 개발자는 맥을 쓰지 말아야 하는가?

1. 겉만 아름다운 UI

OSX의 아쿠아 인터페이스는 미학적으로 상당한 가치가 있는 것은 사실입니다. 그러나 아쿠아 인터페이스 구성의 기반이 되는 오에스텐의 코코아 나 카본 API는 철저히 매킨토시에 종속적입니다. 즉, 맥 어플리케이션은 아무리 좋은 어플리케이션을 개발해 보아야 오에스텐에서 밖에 돌릴 수 없습니다.

더욱 큰 문제는 오에스텐이 BSD기반인데도 불구하고 매킨토시 하드웨어에서만 돌아간다는 점입니다. 물론, 핵을 통해 일반 피씨에서도 오에스텐을 재주껏 돌릴 수는 있지만 이것은 어디까지나 “비공식적”인 해킹을 통하지 않고서는 불가능한 일입니다. 또한, 애플의 매출은 여전히 하드웨어 판매에 많이 의존하고 있고 따라서 델과 같은 피씨업체들이 자사의 피씨에 윈도우즈 대신 오에스텐을 장착해서 판매하는 일은 거의 불가능한 일이라고 보아도 타당합니다. 즉, 오에스텐은 절대 소수 매킨토시 플랫폼을 벗어나지 않을 것이며 애플은 피씨 시장을 독점하는 제 2의 마이크로소프트가 되지 않는 이상 오에스텐을 범용으로 풀어놓을 가능성이 없습니다.

따라서 오에스텐용 어플리케이션을 개발하는 것은 개발자를 스스로 매킨토시라는 소수 플랫폼에 가두어 버리는 결과를 초래하며 이 매킨토시 플랫폼은 소프트웨어 뿐만 아니라 하드웨어까지 독점적이라는 부분을 주의깊게 보아야 합니다. 윈도우즈는 매킨토시 플랫폼에 비하면 이런 면에서 훨씬 개방적입니다. 적어도, 개발자가 윈도우즈 어플리케이션을 개발하면 그 어플리케이션은 윈도우즈에서만 작동하겠지만 하드웨어의 제한은 받지 않습니다. 하드웨어가 델이든 컴팩이든 용산 조립품이든 뭣이든 상관없는 것이지요. 하지만 개발자가 공들여 개발한 매킨토시 어플은 매킨토시 외의 하드웨어에서는 절대 돌아가지 않습니다.

2. BSD의 유혹

열혈 맥 광신도(!)들의 바램과는 달리 실상 매킨토시로 쉽게 switch 할 수 있는 사람들은 윈도우즈 사용자가 아닌 리눅스나 유닉스 사용자들입니다. 이들에게 매킨토시는 거의 리눅스 박스나 별반 차이가 없습니다. 처음 켜자마자 바로 터미널이 뜨고 모든 유닉스 명령어들이 다 먹습니다. gcc가 깔려있고 perl, python 등등 친숙한 도구들이 모두 기본 제공입니다. 오에스텐이 BSD기반이기 때문이지요.

그러다보니 리눅스 박스에서 친숙하게 쓰던 모든 어플들이 맥에서는 완벽하게 돌아갑니다. 이들 오픈소스 어플리케이션들은 재컴파일 한방이면 바로 오에스텐용 실행파일이 생성되며 이미 오에스텐 방식으로 패키징이 된 어플들이 대부분입니다. 게다가 그 중 상당수는 적절한 GUI frontend까지 따라오니 오에스텐 데스크탑은 리눅스나 유닉스 사용자들에게 친숙함과 새로운 매력이 공존하는 컴퓨팅 환경으로 느껴질 수 밖에 없습니다.

하지만 편리함은 여기까지입니다. 오픈 소스 소프트웨어들은 맥에서도 리눅스에서도, 최근들어서는 윈도우즈 환경에서도 맘껏 편히 쓸 수 있지만 오에스텐 전용 어플들은 그렇지 않습니다. 간단한 예로, 맥에 기본으로 제공되는 애플의 Mail이나 파워포인트보다 더 예쁜 프리젠테이션 자료를 만들어 준다는 Keynote, 특히 애플의 i 시리즈 어플리케이션은 매킨토시가 아닌 환경에서는 절대로 작동하지 않습니다. 처음에는 이런 어플들의 장점이 맥에 기본 제공되는 오픈소스 어플리케이션의 편리함에 플러스 알파로 다가오지만 조금만 지나면 이들 어플이 맥에서만 작동한다는 단점은 사용자를 맥 플랫폼에 가두어버리기 마련입니다.

3. 애플 제품의 높은 고장 빈도

매킨토시는 베이지색 G3 시피유 이전의 과거 제품들은 상대적으로 성능 좋은 부품과 내구성 높은 부품들을 많이 사용했습니다만 지금의 매킨토시는 그렇지 못합니다. 간단히 appledefects.com을 방문해보아도 최근 등장한 macbook, macbook pro 제품들의 문제를 열거한 긴 리스트를 접할 수 있습니다. 구글의 검색결과도 마찬가지이고, maczoo나 appleforum과 같은 국내 동호회의 게시판을 잠깐만 훑어 보아도 애플 제품의 품질관리는 편차가 상당히 심하며 a/s 문제가 심심찮게 발생하고 있음을 금방 알 수 있습니다. 특히, 과열로 인해 커널 패닉이 발생하는 케이스까지 보고되고 있는 모습은 상당히 당혹스러울 정도입니다. 맥북 프로와 맥북의 경우 배터리의 팽창으로 노트북 케이스가 변형되고, 배터리의 오동작으로 노트북 전원이 나가는 문제는 이제 애플에서 공식적으로 결함을 인정하고 있습니다만 이런 문제는 경쟁이 심한 피씨 노트북 시장에서는 찾아보기 힘든 결함입니다. 또한, 개인적으로 매킨토시와 델 피씨가 함께 설치되어 있는 컴퓨터 랩을 관리해 본 경험에서도 맥의 불량률은 델을 확실히 웃돌았는데 맥의 고장은 주로 메인보드의 문제가 많았고 그 불량률이 델 피씨보다 높았다는데 문제의 심각성이 있습니다.

게다가,전통적인 맥 사용자들은 애플에 대한 충성도가 높은 편인데 그러한 이유 때문인지 애플 제품의 결함에 대해 지나친 호의를 보이는 경우가 많습니다. 그러다보니 매킨토시 제품에 대한 구매정보는 맥의 장점들이 지나치게 부각되고 단점들은 주목받지 못하는 문제가 자주 발생하고 있습니다.

그런 까닭에 매킨토시를 구매할때는 피씨에 비해 상대적으로 높은 고장 빈도 정도를 감안하고 구매를 하는 것이 좋습니다. 분명, 매킨토시는 데스크탑 모델들은 확연히 중가 용산 조립피씨에 비해 내구성이 떨어지며 특히 매킨토시 노트북 모델들은 a/s 입고를 각오하고 구매하는 것이 좋습니다. 과연 이렇게 신뢰성 떨어지는 하드웨어가 중요한 소스코드와 자료들이 저장되어야 하는 개발자의 컴퓨터로 적합한지는 의구심이 생길 수 밖에 없습니다.

그렇다면 대안은?

대안은 간단합니다. 맥이 아닌 다른 오픈소스 BSD나 리눅스, 혹은 다른 유닉스 계열 플랫폼을 쓰면 됩니다. 혹은, 맥을 쓰더라도 오픈소스 계열의 어플들을 주로 사용하면서 맥중독(!)을 최소화 하는 방법도 괜찮습니다.

물론, 리눅스 박스들은 매킨토시만큼 매력적이지는 않습니다. 그러나 Gnome과 KDE 양대산맥이 버티고 있는 리눅스 데스크탑은 충분히 완성도가 높으며 무엇보다도 오픈소스 환경이라는 점에서 개발자들을 플랫폼에 가두지 않는다는 장점이 크게 작용합니다. 오픈소스가 개발자들에게 제공하는 장점, 특히 오픈소스 리눅스가 오래된 유닉스의 전통을 계승하면서 개발자들에게 제공하는 자유에 대해서는 따로 언급하지 않겠습니다.

개발자들은 사용자와는 달리 개발 플랫폼의 선택이 무엇보다도 중요한 요소입니다. 사용자들은 새로운 운영체제나 어플리케이션에 적응하는 비용만 지출하면 그만이지만 개발자들에게는 이것이 짧게는 몇개월, 길게는 몇년의 세월을 의미합니다. 윈도우즈는 많이 쓰이는 관계로 플랫폼에 개발자가 종속되더라도 플랫폼의 지속성이 안정적으로 보장되고 사용자층니 넓기 때문에 잠재적 시장이 넓다는 장점이 있습니다만 맥오에스텐은 그렇지 못합니다. 그렇다면 차라리 시장은 작지만 기반 지식들이 쉽게 공유되고 개발자가 특정 플랫폼에 종속될 필요가 없는 오픈 소스 플랫폼을 선택하는 것이 개발자들에게 유리할 수 밖에 없습니다.

비록 애플은 소수 플랫폼이기는 하지만 매킨토시라는 플랫폼이라는 범주를 놓고 생각해보면 애플은 매킨토시 하드웨어와 매킨토시 운영체제 두 분야 모두에서 독점권을 행사하고 있습니다. 비록 마이크로소프트가 독점기업이라는 오명을 많이 듣습니다만 그래도 마이크로소프트는 피씨 운영체제만을 독점하고 있지 피씨 하드웨어 시장은 독점하고 있지 않다는 특성이 있습니다. 플랫폼 독점이라는 측면에서는 애플이 마이크로소프트보다 개발자들에게는 더 위험한 것이지요. 결국, 개발자가 매킨토시를 선택할 때는 이러한 애플의 독점적인 속성과 맥 플랫폼의 잘 알려지지 않은 문제들을 주의깊게 심사숙고한 뒤 결정을 내리는 것이 타당하다고 봅니다.

Blog at WordPress.com.