2010年04月14日

iPhone OS SDK 4.0 のライセンス問題

Gauche (Scheme 処理系) のチャットルームtwitterなどで話題になっていたのですが、Apple の iPhone OS SDK 4.0 のライセンスの条項 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).」

アプリケーションはiPhone OS WebKit engineで処理される為、Objective-C, C, C++または JavaScriptによって書かれなくてはならず、またObjective-C, C, C++または JavaScriptで書かれたコードだけがコンパイルされ、Documented APIにリンクされなくてはならない。(例えば、アプリケーションがintermediary translation(中継の為に変換されたコード)やcompatibility layer or tool(互換性を目的とするレイヤーやツール)を通じてDocumented APIにリンクすることは禁止されている。)

この文章の解釈によっては、Adobe Flash Professional CS5や、NETを利用してiPhoneアプリを開発できる開発環境「MonoTouch」などは禁止という事になるかもしれないようです。

Appleの開発キット以外でアプリを開発するのであれば、Webアプリで開発するように説明してる内容のようです。
Macお宝鑑定団Blog[羅針盤] 2010/04/09 (Fri)
AppleがiPhoneデベロッパライセンス規約を変更し、Adobe Flash Professional CS5などのクロス・コンパイラを禁止に?

(via ただのにっき 2010-04-09(金)■ iPhoneを捨ててAndroidにするよ)



これに対して、「どうせ互換レイヤーの有無や、自動生成されたコードかどうかなんて区別できっこない。」というような意見を述べている人が何人か見受けられましたが、これは SDK のダウンロード時に必ず同意しなければならないライセンスなので、区別できるかできないかは本質ではなく、ソフトウェア開発者のモラルの問題でもあるのだと思います。極論ですが、たとえば GPL のコードを、矛盾するライセンスのプロダクトに組み込んだとしても、バイナリのみの公開ならば、まず発覚することは無いのと同じです。
(しかし、心ある開発者ならば、そのようなことはけして良心が許さないでしょう。)

以前から、AppStore から成人向けコンテンツが一掃されたり、セカイカメラなどの有名アプリケーションが非公開になったりと言ったことが起こっていましたが、このようなことが続くようだと、開発者に不信感をもたれてしまうと思います。

ハッカーと画家」などのエッセイや ANSI Common LisponLisp などの技術書で有名な Paul Graham 氏は、去年の段階で以下のようなエッセイを書いています。

2009年12月09日(水)ポール・グレアム「アップルの失敗」(原題:Apple's Mistake)

あるいは Apple Computer 社は、本心ではサードパーティー製のアプリケーションを歓迎していないのではないか ? というのは穿ち過ぎでしょうか。

もちろん、いわゆる「アタリショック」を防ぐために、粗製乱造のアプリケーションを排除するための規制や審査は必要だと思います。

一般的に、互換レイヤーやライブラリ、ツールを使用し、例えば同じソースコードから Android と iPhone の両方で動くアプリケーションをビルドできるようにすると、両方の環境の共通部分の機能しか使えないので、中途半端なクオリティのアプリケーションになりがちです(もちろん、必ずそうなるわけではありませんが)。また、純正では無い開発環境を使用したアプリケーションには、生成バイナリにウイルスやバックドアが仕込まれる可能性が存在します。

そのような意味では、iPhone に特化させクオリティを高めるために、互換レイヤーを禁止し、Apple 純正では無い(信頼できない)言語処理系を排除するということは、マーケット的・セキュリティ的には正しい判断なのかもしれません。

いずれにせよ、まだドラフト段階のようなので、今後の経過を見守りたいところです。

トラックバックURL

コメント一覧

1. Posted by hik   2010年05月09日 23:52
米連邦取引委員会と米司法省が調査の検討に入ったそうです。

という情報を見かけました。元情報はたどっていませんが、

コメントする

名前
URL
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード