iPhone OS 4の発表と前後して明らかになった「iPhone アプリ開発の制限強化、Flash他から変換を締め出し」の続き。制限強化とはアップルが開発者規約を変更し、「最初からC / C++ / Objective-C (または JavaScript )で書かれたアプリケーション 」以外、つまりFlash や C# など他言語からクロスコンパイルされたアプリや互換レイヤーを介して動作するアプリを禁止したこと。発売直前のFlash CS5の目玉機能として iPhoneアプリへの変換を挙げていた Adobe はもちろん、開発言語・環境を選ぶ自由を奪われた開発者たちが不満の声を挙げているという話題でした。

規約変更の意図については分かりやすい「Adobe つぶし」からあいまいな「品質維持のため」、あるいは出所不明の「マルチタスク対応のため」説までがまことしやかに囁かれていましたが、開発者 Greg Slepak 氏はアップルのスティーブ・ジョブズCEOに抗議のメールを送って直接回答を得ています。Slepak 氏の最初のメールは、多くの開発者がアップルの規約変更に憤慨していることをニュースサイト や Blogなどを挙げて伝える内容 (続きに掲載)。「ジョブズの大ファン」である John Gruber (この件を扱った Daring Fireball の著者) でさえ肯定的ではないとしたうえで、 結びは「製品は大好きですが、SDKの規約は知らないうちに増殖するガンのようです」。

対するジョブズからの回答は、例に挙げられた Gruber の別のポストを示して:
We think John Gruber's post is very insightful and not negative
(優れた洞察であり否定的ではないと考えている):
http://daringfireball.net/2010/04/why_apple_changed_section_331

Steve
と答えたのみ。ジョブズが very insightful と評する内容はリンク先で直接読めますが、要約すれば:PCからモバイルという大きな転換のなかで、アップルはマイクロソフトがWindowsに開発者とユーザーを集中させて「カネを刷ってるような」状況を作りだしたように、App Store プラットフォームをデファクトスタンダードにすることを狙っている。そのために望ましいのはアップルが支配するプラットフォームに開発者を囲い込むことであり、望ましくないのは iPhone OS の上でアップルの力が及ばない「メタプラットフォーム」が動くことである。たとえばひとつのプロジェクトを元に iPhone でも Android でも Windows Phone 7でも動くアプリが作れる環境を他社が成功させてしまえば、囲い込み利益は得られない。「これを歓迎すべきとも、なりふり構わない競争手段以外のなにかであるとも、またアップル一社以外のだれかが得をするとも主張するつもりはないが」、アップルの立場からは完全に筋が通るという内容です。(下に続きます)。

Gruber のポストの続く部分は、3.3.1節変更による各陣営の損得を推察するもの。Adobeほかにとっては当然悪影響、Flash や C# 開発者にも悪い報せ、従来の iPhone開発者 や Web開発者には影響なし。iPhone ユーザーにとっては二つの考え方があり、クロスプラットフォームツールキットで書かれたアプリは最良のネイティブアプリに敵わないからアプリ品質が平均的 に上がって好影響か、または iPhoneアプリの選択の幅が減って悪影響か。Gruberが私見として述べているのは、すでに App Store はアプリの数に不自由していないため iPhone ユーザーにとっては悪くないだろうとの判断です。ジョブズが「否定的ではない」と評したのはこの部分も含むと思われます。

さて、どう考えても黙っていない Slepak 氏の返信は (また要約すると):それでもこの方針はアップル自身にダメージを与えると思う。iPhoneはこの規約がなくてもここまで成功してきた。こんなことをすれば逆に開発者があなたへの敬意を失い、逃げ出す動機になる。(Gruber 記事へのコメントを引いて) 「良い製品を作り、正直に宣伝する」以外の方法で競争に勝とうとするのが悪の定義なら、このやり方はアップルを「邪悪な」企業にしてしまう。またクロスプラットフォームのフレームワークで書かれたソフトウェアにはFirefoxをはじめ多数の成功例がある。「アップルが 3.3.1節(の変更) で得るものは多くないどころか、多くを失うと考えています」。

これに対して、ジョブズからの返信は:
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.
(それは以前にも経験した。プラットフォームと開発者のあいだに中間レイヤーを置けば、結局は水準以下のアプリを生みプラットフォームの進歩を妨げる。)
" there before" の thereが正確に何を指しているのかはジョブズに聞かないと分からないものの、プラットフォームの変更でネイティブアプリと非ネイティブの混在が続いたMac OSの事情か、あるいは Mac でたまにある、(クロスプラットフォームツールキットを使った) 「なんとなく他所から持ってきたようなアプリ」を示しているのかもしれません。

Slepak氏はジョブズが引いた Gruber 記事とその推測に意見するかたちで、Blog上でまたまた猛然と反論しています。短くまとめれば:
  • Macの歴史を例に挙げるというのなら、クロスプラットフォームの Firefox や、あるいは Python, Java, Ruby ほかの言語がないMacなど考えられないし、Macプラットフォームの進歩を妨げてきたとは思えない。
  • 品質が問題というのなら、ネイティブで書かれたアプリでもクロスプラットフォームでもひどいものはあり得る。すでにApp Store という審査の仕組みがあり、言語で一律に区切るのは意味がない。
  • 「影響なし」に分類されていた既存 iPhone 開発者でさえ、競争相手を潰すためだけに突然規約を変更して、露骨な囲い込みで開発者を手駒扱いする企業を良くは思わない。iPhoneが成功したのは開発者もユーザーも製品に魅力を感じたからであって、無理に囲い込まれたからではない。
  • あらゆる開発者に恐れられているのは、プログラミングのことなど分かっていないくせに言語はあれを使え、開発環境はこれを使えと命じる上司。(3.3.1節で) これまで独立していたはずの iPhone 開発者全員がこの上司の下で働かされるも同然になった。しかもこのボスとは意思の疎通もできなければ、開発者が取り組んでいるプロジェクトの存在すら知らない。
  • (一般読者のよくある誤解として) クロスプラットフォーム開発ツールを使ったからといって、かならずしも 一般のiPhone アプリと作法やルックアンドフィールが変わるわけではない。ネイティブアプリとおなじUIキットを使ったアプリは見分けがつかない。また OpenGLベースのゲームではよくクロスプラットフォームの開発環境が使われており、ロジックが Luaのようなスクリプト言語で書かれていることも多い。3.3.1節はこれも禁じる。
Slepak 氏からの(いまのところ最後の) 返信は、上記の点をごく短い3段落にまとめた内容。結びは:
わたしの考えでは、3.3.1節はまっとうな開発者にとって iPhone プラットフォームの魅力を損ね、競合するプラットフォームにソフトを書く理由を与えるものでしかありません。

ご考慮いただき感謝します。
現在のところ、ジョブズからのさらなる返答はありません。
やりとりの原文はこちら。

Greg:
Hi Steve,

Lots of people are pissed off at Apple's mandate that applications be "originally written" in C/C++/Objective-C. If you go, for example, to the Hacker News homepage right now:

<http://news.ycombinator.com/>

You'll see that most of the front page stories about this new restriction, with #1 being: "Steve Jobs Has Just Gone Mad" with (currently) 243 upvotes. The top 5 stories are all negative reactions to the TOS, and there are several others below them as well. Not a single positive reaction, even from John Gruber, your biggest fan.

I love your product, but your SDK TOS are growing on it like an invisible cancer.

Sincerely,
Greg
Steve:
We think John Gruber's post is very insightful and not negative:
http://daringfireball.net/2010/04/why_apple_changed_section_331

Steve

Greg:
Sorry. I didn't catch that post, but I finished it just now.

I still think it undermines Apple. You didn't need this clause to get to where you are now with the iPhone's market share, adding it just makes people lose respect for you and run for the hills, as a commenter to that article stated:

"So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe's Flash. Not .NET (through MonoTouch). If that were to happen, there's no lock-in advantage."

And that makes Apple evil. At least, it does in the sense that Google uses the term in "don't be evil" – I believe pg translated "evil" as something along the lines of "trying to compete by means other than making the best product and marketing it honestly".

From a developer's point of view, you're limiting creativity itself. Gruber is wrong, there are plenty of [applications] written using cross-platform frameworks that are amazing, that he himself has praised. Mozilla's Firefox just being one of them.

I don't think Apple has much to gain with 3.3.1, quite the opposite actually.

Sincerely,
Greg
Steve:
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.

Greg:
The Mac has only been helped by the fact that Firefox, Ableton Live, and hundreds of other high-quality applications can run on it thanks to the fact that developers have a choice as to what tools they can use on it.

Crappy developers will make crappy apps regardless of how many layers there are, and it doesn't make sense to limit source-to-source conversion tools like Unity3D and others. They're all building apps through the iPhone developer tools in the end so the situation isn't even comparable to the Mac where applications can completely avoid using Apple's frameworks by replacing them with others.

In my opinion, 3.3.1 only serves to make the platform less attractive to legitimate developers, giving them reason to write their software for competing platforms instead.

Thanks for considering this.

Sincerely,
Greg
ジョブズ、iPhoneアプリの開発制限について直メールで回答
広告

0 コメント

広告