苹果改了最新iPhone OS 4 开发者协议后,开发者可说历经五阶段的悲哀。根据Kubler-Ross模式,五阶段的悲哀包括:否定、愤怒、讨价还价、沮丧、接纳。
此事爆发后,显然愤怒与否定已经在网路上发酵,后续讨价还价与沮丧也已经有些征兆,最后的结果会是大家默默接受,还是引发开发者集体出走至Android或其他平台?
事情的始末是苹果上周发布了iPhone OS 4版的软件开发工具(SDK)。一开始使用新版SDK时,开发者得先按下“I agree”按钮表示接受里面一堆条款,没人会认真去看那些文字,不过偏偏Daring Fireball的John Grober就真的仔细阅读了,并把里面一段很有趣的文字贴出来给大家看,现在苹果可说面临App Store 开台以来最大的争议事件。这个引发争议的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 (eg, Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
(摘要重点:不得使用私有API、程序必须以 Objective-C、C、C++、JavaScript写成,严禁通过中介层转译的方式来连结iPhone OS的API。)
光是这段文件,苹果就已经把许多已经上市或还在开发的应用程序宣告判了死刑,同时也摧毁了一写跨平台开发工具(可桥接iPhone、Android与PC编程的缺口)的新兴公司。到底谁是最大输家?
Adobe无疑最倒楣,但绝非唯一受影响者。苹果原本就禁止在iPhone上使用Flash,但Adobe却在新版CS5另辟蹊径,可把Flash程序转译成原生iPhone程序。而在iPhone OS 4中,这就行不通了。这也是为何会有Adobe主管在自己部落格里大骂苹果混蛋的主因。
Novell 有赞助Mono计划,目前正开发一个称为MonoTouch的系统,可让你用C#语言写程式(或从Windows与Linux把既有程序转出来),编译成原生iPhone 应用。苹果新规定看来应该也是不准这种作法,不过Novell 目前还处于否定阶段,不认为有受到苹果影响。
当然,网络上的炮轰,大家或许认为苹果应该会倾听平民的心声,把这个引发众怒的条款移除,但你错了。 Tao Effect的Greg Slepak公布他与Steve Jobs老大通信的内容,结果相当有趣,显然苹果与Jobs是刻意变更条款,避免在Cocoa Touch之上又跑出一个实质的标准软件平台来。
Jobs在这封信里提到:“这种作法我们以前玩过了,这种位于平台与开发者之间的中介层只会产生劣质程序,阻碍平台的进步。”
假设苹果硬挺不退,或许开发者会开始往其他如Android 或Windows Mobile 平台移动,但也或者他们最后还是会留下来,毕竟iPhone、iPad与iPod Touch市场已经大到难以忽视。
这跟苹果多年前坚持不允许出现 Mac clones 是一样的,最终Mac只流行于小众市场,在个人电脑市场占有率不曾突破10%,苹果不介意这种结果,但还要养家活口的开发者或许就没那么开心了。(陈?璁译)
来源:eNet硅谷动力

