iPhone Developer Program License Agreement의 추가 사항에 대한 또다른 견해를 하나 이야기해볼까 합니다.
크로스 컴파일을 허용함은, 곧 그만큼의 관리 비용 증가를 뜻하는 것은 아닐까요?
이는 '출제자의 의도 파악 문제1'와도 관련이 있을 것이고, 또 앞서 이야기한 'Apple의 사용자 중심 정책2'과도 관련이 있을 것입니다.
iPhone의 Objective-C 기반 API를 A라 하고, Packager for iPhone을 A' 라고 할 때,
- A에 대한 지식이 없는 개발자가 A'를 이용하여 어플리케이션을 개발할 때, A'에서 사용하는 A의 기능들이, 원래 A가 의도했던 범위 내에서만 사용이 될 수 있을까요?
- 이번 iPhone OS 4.0과 같이 A에 수많은 기능들이 추가되었을 때, A'에 그러한 기능들이 모두 적용되려면 얼마나 걸릴까요?
- A의 특정 API의 기능이 일부 변경되었을 때, 이 기능을 사용하는 A'의 모든 API가 적절한 시간과 비용 안에서 변경될 수 있을까요?
- 만약 A'에 문제가 있어, A'를 이용하여 개발된 여러 어플리케이션에서 동시다발적으로 버그가 발생하였을 때, 사용자들은 A'를 탓할까요, 아니면 A를 탓할까요?
- A'를 이용하여 개발된 어플리케이션이 점점 늘어나는 경우, A'의 영향력 또한 강해지기 마련인데, A'의 요구사항이 A에게서 받아들여지지 않을 때, 이 비난의 화살은 누구를 향할까요?
Safari와 Flash Player의 사례
Mac OS의 기본 브라우저인 Safari는 상당히 빠르고 안정적인 브라우저입니다. 하지만, Flash Player의 성능 및 안정성 문제로 인해 Safari 자체의 안정성과 성능이 퇴색되고 있다는 점은, Mac 사용자라면 누구나 인정하실 것입니다.
특히 4항을 예로 들면, Safari의 경우, Crash 등의 문제가 발생하였을 때 그 문제를 Apple에 리포트하는 기능이 있는데, 저의 경우, 하루에 2~3번 정도는 (일반적인 웹 서핑 중) 이 리포트 창을 봅니다. 그런데, 수년간 Mac과 Safari를 사용하면서, Flash Player 외의 문제로 리포트 창이 뜬 적은 거의 없었습니다. 사용자들은 Safari가 느리고 불안정하다고 이야기하지만, Apple은 이 문제를 해결할 수 없습니다.
또한 5항의 예로, Mac용 Flash Player의 마우스 휠 지원, 그리고 3D 가속 문제 등으로, Adobe의 개발자들은 몇 차례 Apple을 비난(?)한 바 있습니다. 그런데, Apple 입장에서는, (Flash Player를 제외하고는) 이러한 기능을 구현할 이유가 없습니다. 오직 Flash Player를 위한 API를 만들어줘야 한다는 것인데, 그 API의 개발 비용 및 향후 수 년간 유지 비용은 Adobe에서 전액 지불하던가요? 당연히 Apple은 이 요구 사항을 받아들이지 않았고, Adobe는 이 문제를 'Apple 지원해주지 않아서'라고 언급하였습니다. Adobe 측 개발자들 중 상당수는, 아직도 이 문제가 Apple의 문제라고 생각합니다.
Mac OS와 Adobe AIR의 사례
2항의 예로는, Trackpad 및 횡스크롤 지원을 예로 들 수 있습니다. Mac은 수년전부터 Trackpad를 메인 포인팅 디바이스로 사용하고 있으며, 360도 스크롤은 그보다도 더 오래되었습니다. 하지만 Adobe의 AIR에서는, 아직 베타 버전인 AIR 2.0에서 이를 부분적으로 지원하기 시작하였으며, 현재 Trackpad를 사용하는 Mac 사용자들은, Adobe AIR로 개발된 어플리케이션에서, 스크롤 시 적지 않은 불편함을 느끼고 있습니다. 더 큰 문제는, AIR 2.0에서도 '부분적'으로 지원한다는 점입니다. 개발자들은 이를 위해 별도의 UI 관련 API를 사용해야하며, 그 기능들은 아직 기존 기술에 적절히 녹아들지 않았습니다. 개발자든 사용자든, 앞으로 한동안은 더 불편함을 감수해야 합니다.
1항, 3항은 현재 적절한 예가 떠오르지 않습니다만, 어떤 내용인지는 쉽게 추측하실 수 있으리라 생각합니다.
정리
위의 5 가지 항목을 한 단어로 요약하면, '파급 효과'라고 요약할 수 있습니다. 또한, 크로스 컴파일러의 허용은, 그러한 파급 효과들에 대한 커다란 관리 비용을 감수하여야 가능합니다.
이제껏 널리 이야기되어온 '사업 모델'의 통제(control)는, 사실 구체적인 예시를 찾기 힘들어, 저는 잘 믿지 않는 편입니다.
Reference
Associate
위 내용은 어제 저녁, 평소 친분이 있던 IT 업계에서 종사하시는 어떤 분과의 대화를 토대로 작성되었으며, 저만의 고유한 생각은 아님을 미리 밝힙니다.
'Issue' 카테고리의 다른 글
| 케빈 린치, "HTML5를 위한 전 세계에서 가장 뛰어난 툴을 만들겠다." (2) | 2010/05/06 |
|---|---|
| Adobe, Flash Player "Gala" preview release 발표 (4) | 2010/04/30 |
| iPhone 정책, 또다른 견해 (0) | 2010/04/11 |
| Apple의 사용자 중심 정책 (7) | 2010/04/10 |
| Flash CS5의 Packager for iPhone은 정책 위배 (6) | 2010/04/09 |
| Flex 4, 출시 임박? (13) | 2010/03/21 |




댓글을 달아 주세요