아이폰 4.0 공개와 함께 변경된 이용 약관 3.3.1 조항에 대한 논란이 거쎄다. 원래 이 조항은 문서화 되지 않은 Private API 의 사용을 금지한다는 내용이었는데 4.0 에서 아래와 같은 세부 사항이 추가됐다.

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).

3.3.1 – 문서화 되지 않은 Private API 의 사용을 금지한다. 어플리케이션은 반드시 C/C++/Objective-C 또는 아이폰 OS 웹킷 엔진으로 실행되는 자바스크립트로 작성해야 하며 API 접근은 반드시 C/C++/Objective-C 로 작성한 코드로 컴파일한 형태가 직접 접근해야 한다.(중간 단계 번역, 호환 레이어, 도구등을 사용한 API 접근을 금지함)

참고: 스티브잡스는 IT 업계의 양아치

이른바 Section 3.3.1 변경으로 아이폰 4.0 에서는 지난 번 소개한 플래시로 iPad 앱 만들기를 할 수 없게 됐다. 또한 플랫폼으로써 플래시가 위협받는 반면 개발툴로써 플래시의 위치는 공고하다는 말도 이제는 장담할 수 없게 됐다. 뿐만 아니라 MonoTouch(C#, .NET 을 이용한 아이폰 앱 개발 도구) 같은 VM 을 이용하는 개발툴도 마찬가지로 사용할 수 없게 됐다. 다행히 PhoneGap 같은 자바스크립트를 이용한 플랫폼은 가능하다고 하지만.

이 일로 플래시 에반젤리스트인 Lee Brimelow 도 화가 났다. 자신의 블로그에 애플을 강하게 비난하고 나섰다. 충분히 그럴만 하다. 플래시로 아이폰 앱을 개발할 수 있는 뛰어난 개발도구를 만들고 이제 막 출시를 앞두고 있는데 애플이 갑자기 약관을 바꾸며 제한하고 나선 것은 황당한 일이다. 그 보복으로 혹시나 맥에서 어도비의 Creative Suite 제품군 개발이 중단되는 것 아니냐며 많은 이들이 걱정했지만 다행히 그럴 일은 없을거라고 한다.

Greg Slepak 이 이 일로 잡스에게 메일을 보냈다. 답신이 왔는데 처음에는 John Gruber 의 글을 추천했고, 두번째는 “We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.” 라고 했다. 즉, “플랫폼과 개발자간에 중간 레이어가 있으면 수준 미달의 앱들이 양산되고, 플랫폼의 발전을 방해한다.” 수준 미달의 앱들이 양산되는 것을 지켜보지 않겠다는 명목상 이유를 내세웠다.

하지만 예전에도 언급했듯 수준 낮은 것을 골라내는 것은 소비자가 판단할 문제이지 플랫폼 제공 업체가 약관을 바꿔가며 까지 제한할 일이 아니다. 플래시로 만든 앱이 수준이 낮으면 자연히 사람들은 플래시 앱을 찾지 않게 될 것이고 앱스토어 순위도 자연스럽게 내려가는 것이지 그걸 원천 봉쇄하는 것은 정당한 게임의 룰이 아니다.

사용자를 위한 애플의 철학, 스티브 잡스의 고집은 때때로 감동스러울때가 많지만 이렇게까지 플랫폼을 폐쇄적으로 운영하는 애플의 소식을 접할때마다 걱정스럽고 우려가 된다.

* 이 글은 Adobe RIA 후원으로 작성한 글입니다.