You are here: Home - Studio Post - iPhone OS 4.0, 조항 3.3.1이 수정되다.

1004131616

iPhone OS 4.0, 조항 3.3.1이 수정되다..

아이폰 OS 4.0에서 특이할 만한 부분은 바로 iPhone Developer Program License Agreement의 3.3.1 항입니다.

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. (원래 요기까지만 있던 조항이) Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). (이만큼 더 늘어났습니다.)

대충 요약하면 애플의 API를 Obj-C, C, C++로 만든 코드 이외의 것으로 컴파일하거나 링크하여 어플을 만드는 것을 금지한다는 이야기인데요, 이거 완전 RANN 엔진을 위한 조항이 아닌가 싶은 느낌이 들 정도입니다. 유후~!

그래서 관련 글들을 찾아보다가 읽어볼만한 글을 하나 발견해서 옮겨적어 봅니다.

원문 링크는 http://daringfireball.net/2010/04/why_apple_changed_section_331 입니다.

================================================================================

우리는 PC의 시대에서 모바일의 시대로 전환되는 초기 단계에 있다. 현 시점에서의 승자는 애플이다. 다른 승자들도 물론 존재한다. 림은 여전히 성장하고 있고, 안드로이드는 지난 한 해 동안 비약적으로 성장했다.

앱스토어는 장기적으로 사실상의 표준 플랫폼으로 자리잡을 수도 있을 것이다. 그게 바로 마이크로소프트가 지금의 마이크로소프트가 된 방법이다. 어느 시점부터 개발자들은 너도나도 윈도우용 어플을 개발하기 시작했는데, 셀 수 없이 많은 유저들이 윈도우를 쓰고 있었기 때문이다. 그리고 유저들은 모든 어플들이 윈도우로 나오는 판국이니 윈도우용PC를 구입할 수 밖에 없었다. 이게 바로 돈을 찍어내는 보증수표가 생겨나는 시점쯤 된다.

애플이 마소와 같이 모바일 시장에서의 윈도우의 위치를 꿈꾸리라고는 전혀 생각하지 않는다. 마소의 (현재에도 유효한)좌우명은 “어디에서나 윈도우를” 이다. 애플은 “어디서나”를 원하지 않는다. 단지 어디서나 훌륭하기만을 바랄 뿐이다. 이러한 애플의 의도는 또한 Cocoa Touch API와 앱스토어가 수많은 유저와 개발자들이 사용하는 사실상의 표준이 되도록 만드는 것이다.

따라서 애플은 다른 어떤 회사가 Cocoa Touch 윗단에 사실상의 표준이 될 수 있는 플랫폼을 구축하는 것을 바라지 않는다. 플래시도 안 되고 닷넷도(MonoTouch)도 안 된다. 위와 같은 일이 일어난다면 플랫폼의 종속(Lock-in)에 따르는 이점이 사라지게 된다. 만약에 여러 하위 레벨의 플랫폼을 포괄하는, 아이폰, 안드로이드, 윈모7, 블랙베리에서 모두 돌아가는 모바일 플래시 플랫폼이 있다고 가정해 보자. 이러한 상황에서는 굳이 사람들이 아이폰 앱스토어를 선호하지 않을 것이다.

그리고 이러한 메타 플랫폼은 명백히 애플의 통제를 벗어나는 것이다. 애플이 아닌 다른 회사가 만든 크로스 컴파일러 툴킷이 널리 사용되고 있다고 가정해 보자. 애플이 아이폰 OS의 새로운 버전을 내놓았지만, 다른 회사가 만든 툴킷이 이를 느리게 반영할 수 있다. 이 시점에서 서드파티 어플리케이션이 새로운 버전의 아이폰 OS의 기능을 사용할 수 있도록 제어하는 것은 툴킷을 제작한 회사가 되어버린다.

따라서 애플의 관점에서는 플래시 CS5나 모노터치 등을 사용하여 아이폰 어플을 만드는 것을 금지하는 쪽으로 개발자 규약을 바꾸는 것이 전적으로 말이 되는 것이다. 이러한 애플의 정책에 우리가 기뻐해야 한다고 말하는 것은 아니다. 무자비한 경쟁에 불과하다거나 (현재 시점에서)애플에만 이득이 되는 행동이라고 말하려는 것도 아니다. 난 단지 애플의 관점에서 이같은 결정이 말이 된다는(make sense) 점을 이야기하고 싶다. 그리고 이것이 애플이 한 결정이다.

플래시 CS5와 모노터치는 메타 플랫폼만큼 크로스 플랫폼은 아니다. 어도비의 목표는 개발자들이 아이폰 어플을 개발하는걸 도와주는데에 있지 않다. 어도비는 개발자들이 아이폰에 특화된 어플을 만드는 대신 아이폰(혹은 다른 플랫폼)위에서 돌아가는 ‘플래시’ 어플을 제작하도록 밀어주는 것이 목표이다. 애플은 이런 어도비의 목표에 단호한 입장을 취하고 있다. ㅡ 어도비를 방해하는 것이 애플의 주된 관심사인 것이다.

그러면 이러한 변화가 관련된 이해 당사자들에게 어떤 영향을 끼치는지 생각해 보자.

애플: 좋은 상황이다. 네이티브 아이폰 어플리케이션 개발에 대한 완전한 제어권을 유지하게 된다.

어도비와 기타 모바일기기용 크로스 컴파일러 메타 플랫폼 제작사: 최악이다. 지금의 1위 플랫폼에 대한 대응을 전혀 할 수 없기 때문이다. 그리고 아이폰 어플을 제작하기 위한 툴을 만드는데 엄청난 노력을 들여 삽질을 하게 된 셈이다.

웹 개발자들: 바뀐 건 없다. 아이폰은 웹 어플에 대해서는 여전히 완전 개방되어 있다. 플래시같은 네이티브 아이폰 어플의 경쟁자로서의 웹과는 다르게, 여기서 말하는 웹이란 특정 주체가 컨트롤하지 않는 웹을 뜻한다. 이러한 웹에 플랫폼 벤더는 존재하지 않는다. 그리고 애플은 웹을 구현할 수 있는 웹킷에 대한 완전한 통제력을 가지고 있 다.

아이폰 개발자들: 변화 없음. 당신이 만약 아이폰 개발자이고 애플의 말을 충실히 따르고 있다면, 이러한 규칙의 변화를 느끼지도 못할 것이다. 이미 당신은 Xcode, Obj-C, 웹킷을 쓰고 있다. 당신이 아이폰 개발자이고 애플의 조언에 따르지 않을 경우 결국은 망하게 될 것이다. 플랫폼 벤더의 말을 따라야 하는 플랫폼 위에서 개발하는 것이 영 내키지 않는다면 아이폰 OS는 당신을 위한 플랫폼이 아니다. 과거에도, 미래에도 그럴 것이다. (그리고 한편으로는 기존의 아이폰 개발자들에게는 좋은 소식이다. 이들의 개발 기술은 수요가 더 커졌다.)

플래시와 C# 개발자들: 아이폰 앱스토어를 타겟으로 하고 있다면, 안 좋은 소식이다. 이제 아이폰 OS용 소프트웨어를 만들기 위해서는 어도비나 마이크로소프트가 아닌 애플의 말을 들어야 한다.

아이폰 유저들: 두 가지의 관점이 있다. 하나는 이러한 변화가 어플 퀄리티의 향상을 가져온다는 관점이다. 크로스 플랫폼 소프트웨어 툴킷으로는 지금까지 절~~대로 최고 수준의 애플 Native 플랫폼 어플을 만들 수 없다. 옛날 MAC이나 OSX, 아이폰 OS에서 절대 못 만든다. 이러한 툴킷으로 만든 어플은 보통 기대 이하의 수준이었다. 다른 한편으로는 아이폰 유저들이 이러한 변화가 없었더라면 릴리즈되었을 좋은 어플들을 사용할 기회를 잃게 된다고 볼 수도 있지만, 그럴 것 같지는 않다. 아이폰 유저들이 크로스 컴파일 툴킷으로 만들어진 어플들을 그리워할 것이라고는 생각하지 않는다.

내 생각에 아이폰 유저들은 이러한 규정 변경에 많은 혜택을 받을 것 같다. 앱스토어의 타이틀 수가 줄어들 일도 없을 것이다. 일례로 아이폰 OS와 Mac OSX용 아마존 킨들 어플을 생각해 보자. 아이폰 OS용 킨들 어플은 애플의 iBook과 비교해서도 손색이 없을 정도로 훌륭하다. 하지만 맥용 킨들 어플은 진짜 맥용 어플처럼 보이지도, 느껴지지도, 동작하지도 않을 정도로 쓰레기이다. 아이폰 OS용 킨들 어플은 Cocoa Touch로 구현된 아이폰 OS native한 프로그램이다. 반면 맥용 킨들은 크로스 플랫폼인 Qt 툴킷으로 만들어진 프로그램이다.

================================================================================

RANN은 저 Cocoa Touch 윗단에 존재가 가능한 합법적인 플랫폼이 되어 막강한 힘을 가질 수도 있을 거라는 생각이 자꾸 드네요. ㅎㅎ

김병선

Re : 박홍관
We ain’t enough time, have to move hurry.

Leave a Reply

Back to top