애플의 아이폰에 대해 사람들이 지적하는 단점중 하나가 바로 그 폐쇄성이다. 그와는 반대로 안드로이드는 개방되어 있다는데에 그 장점이 있다고 이야기한다. 그런데 아이폰OS도 공개되어 있다니 무슨 소리인가 하는 사람들이 있을것이다..

아이폰OS는 OSX에 그 기반을 두고 있다. 하지만 OSX도 폐쇄적이라는 인식이 강하다. 그런데, OSX의 핵심인 커널은 Darwin이라는 이름으로 공개되어 있다. 즉 맥OSX의 경우 공개되어 있는 Darwin에 애플만의 프레임워크와 UI를 올린 것이다. 그리고 애플만의 프레임워크와 UI는 공개되어 있지 않다. 하지만 우리가 일반적으로 운영체제라고 부르는 커널은 완전히 공개되어 있다. 즉 아이폰OS도 커널은 공개되어 있다. 아이폰OS도 공개된 Darwin에 애플의 Cocoa Touch 프레임워크와 UI를 올린것일 뿐이다.

사람들이 공개되어 있다고 이야기하는 안드로이드의 경우 UI는 각 제조사별로 제작하고, 커널과 프레임워크가 공개되어 있다. 애플의 아이폰OS에서 프레임워크 하나 더 공개했을 뿐이다. 물론 프레임워크가 매우 중요한것은 사실이다. 하지만 아이폰OS가 오픈되어 있지 않다고 이야기하는것은 분명히 무리한 지적이다. 애플은 OSX로 이주하면서 계속 Darwin 커널을 공개해 왔다.

프레임워크가 폐쇄적인것은 플랫폼을 폐쇄적으로 만든다. 하지만 그 근간이 되는 커널은 공개되어 있다는 것은 그 기반이 오픈소스에 있다는 것을 의미하고 다른 사람이 원한다면 애플과 마찬가지로 그 커널 위에다 프레임워크를 쌓을수 있다. 예로 PureDarwin같은 프로젝트는 Darwin 위에 자신들 만의 UI를 올려서 사용할수 있도록 하고 있다.


애플은 공개된 OS 커널 위에서 사용자들이 제일 편리하게 사용할수 있는 UI를 제공함으로써 자신들의 제품인 맥과 아이폰을 돋보이게 하고 있다.

애플이 공개한 소스는 http://www.opensource.apple.com/ 에 가면 받을 수 있다.

  • 지나감 2010.03.03 20:12

    http://kldp.org/node/27285
    쓰레드에도 있듯이 코어 코드를 공개해도 의미가 없죠.. 쓸모가 없는데...
    맥을 사용하는 이유가 UI때문인데..
    윈도우에서 어플로 OSX을 따라하는게 더 쉽고 빠릅니다.-_-

    • BlogIcon drzekil 2010.03.03 23:40 신고

      리눅스 역시 커널을 의미합니다. 리눅스가 한때 윈도의 대항마로 각광받았던것을 생각하면 Darwin이라고 다를바 없겠죠.. 리눅스 커널 위에 다양한 UI를 올림으로써 사용자의 입맛에 맞게 사용할수 있는것 같습니다. 그리고 그 기반은 커널이구요.. Darwin도 리눅스 커널이라고 생각하면 아무런 의미가 없지는 않습니다. 다만 그 위에 UI등을 올릴 생각을 아무도 안할 뿐이죠..

  • 지나가며 2010.03.03 23:02

    윗 분도 지적하셨듯이 커널이 공개되어 있다는 것 자체만으로 아이폰이 공개되었다고 하는 것은 어불성설이죠. 실제로 아이폰이 폐쇄적이라는 것은 운영체제 소스가 오픈소스가 아니라는 것이 아니라, 애플의 앱스토어에 대한 폐쇄적인 정책 때문에 그런 것이 아닌가요? 핵심 api를 사용하지 못하도록 한다거나, 애플만의 이해할 수 없는 기준을 가지고 앱스토어에 앱 등록을 거부한다거나 하는 것 말이죠. 그런 의미에서 애플의 아이폰 OS는 확실히 폐쇄적인 것 맞습니다.

    • BlogIcon drzekil 2010.03.03 23:43 신고

      앱스토어의 폐쇄적인 정책에 대해서는 다시 포스팅을 할 일이 있을것 같습니다.
      사람들이 애플에 대해 폐쇄적이라는 이야기를 할때 많은 부분이 OSX를 애플 하드웨어에서만 사용 가능하다는 이야기를 합니다. 그런데 그 핵심인 커널은 공개되어 있다는 이야기를 하고 싶었습니다..

  • BlogIcon Xenic 2010.03.04 01:28

    I see your point. But the title is misleading. It is true the kernel is the core of the OS, but saying that a OS is open just because the kernel is is a bit too far fetched. Mac OS is locked down to Apple hardware, the App store is "censored" by Apple itself. In some sense, I think Mac OS is even more closed than Microsoft Windows. I think the overall "openess" should be judged by the freedom the OS allows to its users. In that measure, I think Mac OS is one of the most closed OS in the market.

    • BlogIcon drzekil 2010.03.04 09:57 신고

      와우.. 영어군요.. 저는 한글로 답변 드리겠습니다. 맥OSX가 폐쇄적이라는 의견에는 일부 동의할수 있습니다만, 완전히 동의하기는 힘듭니다. 리눅스도 처음에는 커널의 소스를 공개하는데에서 시작했습니다. 그후 사람들의 연구와 노력에 의해서 지금까지 발전했지요. Darwin의 경우도 PureDarwin과 같은 프로젝트를 통해 비슷한 길을 가고 있다는 생각이 듭니다. 윈도의 경우 학계에 소스를 공개하고 있지만 정작 중요한 부분은 모두 비공개여서 껍데기만 볼수 있습니다. 사람마다 관점이 다를수 있다고 생각합니다.. 저는 학계에 있어서 그런지 윈도보다는 Darwin이 더 오픈되어 있다는 생각입니다.
      한편, 아이폰이 애플 앱스토어에 묶여 있는것은 OS 보다는 플랫폼이 닫혀있다는 표현이 더 정확할것 같습니다.

    • BlogIcon xenic 2010.03.09 01:06

      Yes, I agree on your point. I guess if you distinguish the OS and the platform what you are saying is very accurate and true. I just want to emphasize that for a normal user being open is not about reading the source code of the kernel. It's more about the freedom the OS gives to the user. Apple in that sense is a closed OS, in your expression a closed platform. I agree that Linux started off as opening the source code of the kernel. But I don't think that Apple will allow people to make a "open" version of Mac OS that is compatible with the current Mac OS. It's open only on the kernel level. Does that give freedom to the average user in anyway? I don't think so. It does give a great excuse to call Mac OS "open". I would rather say the Pure Darwin project is open.

      PS. Sorry for the English. I am not in Korea and this computer is a public terminal. :-)

    • BlogIcon drzekil 2010.03.09 10:03 신고

      대다수 일반 유저들에겐 애플이나 안드로이드나 별로 차이가 없습니다. 어차피 다른 누군가 만들어놓은 어플리케이션을 다운로드 받아 사용할 뿐이죠.. 오히려 애플의 단일화된 창구인 앱스토어가 더 편할것 같습니다. 여기저기 찾아다니지 않아도 한군데에서만 찾으면 되니까요..
      또한 Darwin을 기반으로 한 PureDarwin과 같은 프로젝트는 리눅스 배포판을 떠올리게 하는 프로젝트입니다. 별로 다른바를 모르겠습니다. 물론 맥OSX와 똑같지는 않습니다. Darwin을 기반으로 맥OSX와 똑같이 만든다는것은 애플의 기술을 침범하는 부분이 아닐까 싶습니다. 커널은 오픈되어 있지만, 프레임워크가 폐쇄적이기 때문에 생기는 현상이라 생각이 됩니다.
      그런데 말이죠.. 완전히 Open 되어 있는, 사용할만한 OS가 리눅스 말고 또 있는지도 궁금합니다.

    • BlogIcon xenic 2010.03.09 19:03

      Well, I do use OpenSolaris and BSDs. But practicality-wise I think Ubuntu triumphs all. I think you are right that in a users point of view, installing through one app store is easier. But I want to point out that this potentially restricts user freedom. That is partially why there is jailbreak. Users want freedom. It is concerning that Apple has a ridiculous iPhone developer agreement.

      http://www.eff.org/deeplinks/2010/03/iphone-developer-program-license-agreement-all

      I personally think Apple's policy on the app store is *almost* evil as the Chinese government censoring the internet. Apple censors applications.

      Android on the other hand gives freedom to the developers and indirectly to the users. You don't even need to go through the official Android Marcketplace.

      I wonder how you think about this issue. Do you think Apple's censorship on the app store is justified? Do you think the developer license agreement (linked above) is fair for the developers and users? Would you agree that Android is more open than the iPhone?

    • BlogIcon drzekil 2010.03.10 10:35 신고

      사용자의 선택에 관한 문제나 탈옥에 관해서는 일부 공감합니다. 사용자는 자유롭길 원하지요.. 한편으로 사용자는 통제되길 원하기도 합니다. 사용자는 자기가 원하는 서비스만 받으면 만사 OK라는 생각을 갖기도 합니다. 전자는 Geek나 젊은 사람들일테구요, 후자는 좀 나이가 있으신 분들이나 전자 기기에 익숙하지 않은 사람들이 아닐까 싶네요..

      애플의 앱스토어 검열은 그 방향이 바르다면 좋다고 생각합니다만, 바른 방향을 유지하기가 쉽지 않으리라 생각합니다. 요즘 나오는 성인물 검열이나 무선랜 프로그램에 대한 제제, 그리고 이해가지 않는 등록 거부등이 잘못된 방향의 좋은 예가 될것 같습니다. 한편으로는 검열로 인해 앱스토어에 올라오는 앱의 기본적인 품질이 보장된다는 장점도 있는것 같습니다.
      앱스토어의 라이센스에 저런 문제가 있었군요.. 예전같았으면 분명히 잘못이라고 이야기했을텐데요.. 얼마전 외국 저널에 논문을 게재하고 나니 조금은 생각이 바뀌었습니다. 논문을 게재할때도 비슷하게 저작권을 저널측에서 가져가더군요..ㅡㅡ 조금더 고민이 필요한것 같습니다.
      안드로이드가 아이폰보다 더 오픈인건.. 당연하죠..ㅡㅡ 안드로이드는 오픈의 극단에 가깝다는 생각을 하고 있습니다.. 저는 애플이 극단적으로 폐쇄적이라고 생각하는 사람들이 많아서 반드시 그렇지만은 않다는 점을 지적하고 싶었습니다.

  • BlogIcon cmario 2010.03.04 01:35

    그 공개가 정확히 어떤식이죠
    예를들어 내가 아이폰의 커널을 수정해서 재배포 할 수 있는건가요
    그리고 사용자들이 수정된 커널을 받아서 아이폰에 깔 수 있는건가요

    • BlogIcon drzekil 2010.03.04 09:59 신고

      모든 라이센스를 확인해보지 못해서 정확히는 모르겠습니다만..
      OSX의 커널인 Darwin을 이용한 많은 프로젝트들이 있는걸로 보아 커널 수정 및 재배포는 어느정도 가능한것 같습니다.
      수정된 커널을 아이폰에 설치는 당연히 안될것 같네요..
      자신이 커널을 수정해서 폰에 설치 가능한 기종이 얼마나 있나요? 제가 알기론 거의 없을겁니다..

  • voider 2010.03.04 15:14

    OS X 는 freeBSD 인가 netBSD 인가(헤깔리네요, 요새 이런쪽에 관심을 좀 끈었더니) 의 커널로부터의 folk(분할?) 입니다. 따라서 라이센스는 GPL 아니면 BSD 라이센스일테고 대충 가져다가 지지고 볶고 맘대로 하셔도 된다라고 생각하심 됩니다(유료로 팔아도 될겁니다, 공개원칙하에). 그런데 apple 이 예전부터 아주 폐쇄적인 기업입니다. 원래부터 그래와꼬 아프로도 그럴거미다 ㅋ

    • BlogIcon drzekil 2010.03.04 15:51 신고

      애플이 폐쇄적이라고 많이들 생각하시지만, 제 의견은 조금 다릅니다. 의외로 애플이 이런저런 표준화에 앞장서고 표준 장비를 사용함으로써 장벽을 없애는 모습도 많이 보입니다. 그에 관해서 다시한번 포스팅 할 계획입니다만.. 언제가 될지는 미지수네요..ㅡㅡ

  • 으잌 2010.03.04 15:27

    위의 지적대로 애초에 BSD의 folk인 OSX는 애플이 원해서가 아니라 어쩔 수 없이 커널을 오픈해야 하는 상황입니다. 강제성이 애초에 없는 코드를 오픈했다면 지킬님의 말씀도 일리가 있지만 이런 상황에서 애플이 커널 오픈으로 아이폰이 돋보이게 한다고 하긴 좀 그렇죠.^^;; 애플의 폐쇄성에 관해서 굳이 부정하거나 그래도...라는 표현을 할 필요는 없어보입니다. 굳이 새삼스러울 것도 없고...이런 시도가 궁극적으로 성공하느냐 아니냐가 중요할 뿐이죠. 모바일 분야는 현재 한창 시장이 커지면서 진행되고 있으니 흥미롭게 지켜볼 수 있을 것 같습니다. 스마트폰의 시장 점유율이 1/3을 넘어가는 시점이 되면 대충 결론이 나지 않을까 생각해봅니다.

    • BlogIcon drzekil 2010.03.04 17:00 신고

      애플도 나름 이해를 따져봤겠죠.. 프레임워크 등을 개발한 애플의 모습을 보면 새로 개발도 가능하지 않았을까 생각합니다만, 어쨋든 라이센스에 의해 오픈된것은 맞는것 같습니다. 애플의 소스코드 오픈이 애플을 돋보이게 하는것은 물론 아니지요. 다만 애플이 인식만큼 폐쇄적이지는 않은것 같습니다. 각종 표준화에 참여하고 가장 먼저 적용하는 회사중 하나가 애플이지요..

  • BlogIcon 풀리비 2010.03.13 14:40

    이제야 이 기사를 봐서 늦게 댓글 올립니다.
    OS가 폐쇄적이라는 것과 소스코드 공개는 다릅니다. 저는 애플의 OS가 MS의 OS보다 폐쇄적이라고 생각합니다. MS의 OS는 호환만 되면 누구나 하드웨어를 만들 수 있습니다. 하지만 애플의 것은 그렇지 않다고 알고 있습니다. 이 차이는 엄청나서 지금과 같은 IBM 호환 PC(Personal computer: 고유명사인 건 아시죠? 매킨토시라 불리는 애플의 개인용 마이크로 컴퓨터는 엄밀히 말하면 PC가 아닙니다)의 전성시대를 만들었습니다. 이러한 비슷한 예는 쉽게 찾을 수 있죠. 다양하고 싼 선택을 사용자에게 많이 주는 것을 개방적이라고 합니다. 그에 따른 문제점도 많습니다. 검증이 안된 소프트웨어나 하드웨어에서 발생하는 문제들과 호환성같은 것이죠.
    요약하면, 소스 공개했다고 개방적인 것이 아니라 사용자의 선택권을 제한하지 않아야 개방적입니다. 윈도우 비스타가 욕처먹었던 가장 큰 이유중 하나가 바로 폐쇄적인 보안 정책때문이었습니다. 각종 보안 문제나 안정성 문제 때문에 강구한 정책이었는데도요. 개방성이 사용자에게 자유를 준다지만, 문제도 많습니다. 개방성을 제한하는 이유는 다양합니다. 회사의 이익을 극대화하기 위한 것일 수도 있지만, 예전의 애플처럼 망해버릴 수도 있습니다. 또 다른 이유는 보안과 안정성 때문입니다. 아이폰에 앱스토어에 등록된 소프트웨어만 설치할 수 있게 한 정책의 다른 이유이기도 하죠.

    • BlogIcon drzekil 2010.03.15 18:27 신고

      사실 이 글을 쓰면서 비슷한 의견이 쏟아질줄 알았는데, 의외로 그에 대한 이야기가 없어서 좀 의아했습니다..
      상당히 정확한 지적이라고 생각합니다. 제가 쓴 글은 조금은 말장난같은 조크가 포함되어 있는 것이었습니다. 소스가 공개되어 있는 공개소프트웨어 기반이라는 것이죠.. 사람들이 보통 이야기하는 공개/폐쇄적이라는것과는 조금 다른 이야기입니다.. 좋은 지적 감사합니다.. ^^

  • 부재중 2010.04.10 15:28

    헛ㅎㅎ 아이폰 os 소스코드 검색하다 형 블로그에 들어와서 찾게되네요ㅋ

  • 브렉 2011.01.10 18:59

    포스팅 잘보고 갑니다.

    운영자님 혹시 아이폰쓰시면 케이스 구경하러 오세요~

    네이버에서 '고애플' 이라고 치면 애플전문 쇼핑몰 나옵니다.

    쿠폰등록하시면 전품목 천원 할인 까지 가능합니다.

    쿠폰번호 : 5B8K-4STO-AMH6-9NPA

    그럼 좋은 하루 되세요^^