2009-08-22 17 views
2

私はそうでないiPhoneアプリケーションでGPLコンポーネントを使いたいです。それは独立したスタンドアロンのコンポーネントなので、他のプラットフォームでは、プログラムとしてコンパイルし、必要なときにいくつかの引数を付けてコンパイルします。iPhoneアプリケーションにGPLコンポーネントを埋め込む方法は?

しかし、私は、AppStoreに私のアプリを公開したい場合は、私はiPhone SDKのこのセクションを遵守しなければならない:

3.3.2アプリケーションは、いずれかにより、他の実行可能 コードを自分自身をインストールしたり、起動しない場合があります他の フレームワーク、他のAPIまたはそれ以外のものを呼び出すことによって、 プラグインアーキテクチャの使用を通じた制限を含むことを意味する。 をダウンロードしたり、 コードを除いてアプリケーションで使用すると、 Appleの文書化されたAPIと組み込みの インタープリタによって解釈され、実行されるコードは解釈されません。

私の理解によれば、アップルは私が欲しいものをするのを禁じているようです。

iPhoneアプリケーションに(スタンドアロンの)GPLコンポーネントを埋め込むための技術的および/または法的ソリューションはありますか?アプリケーション全体にGPLライセンスをライセンスしないでください。

注:この質問は、すでにasked elsewhereというGPLライセンスがAppStoreルールと互換性があるかどうかについてのものではありません。私はそれを仮定します。

+3

**これは、プログラミングやソフトウェア開発ではなく、ライセンスや法律上の問題**のために、このトピックをオフトピックとして閉じるよう投票しています。詳細については[こちらをご覧ください](http://meta.stackoverflow.com/a/274964/1402846)、[help/on-topic]を参照してください。 –

答えて

4

実際のお金と引き換えに、そのコンポーネントの作成者に別の条件でライセンスを与えるように依頼する必要があります。

作者がそのコンポーネント用にGPLを選択したとき、彼はアプリケーションでGPLを使用するように正確に行ったかもしれません。

0

すべてのアプリは自己完結型なので、クローズドソースとGPLコードを混在させることはできません。含まれているGPL実行ファイルは、アプリケーション以外の方法で使用することはできません。

GPLモジュールをリンクせずに使用するために、いくつかのプロセス間通信を使用する予定があるので、GPLパーツをサーバーに配置し、インターネット経由でアクセスできます。私はそれがオーバーヘッドの大部分であることを知っていて、うまくスケールされませんが、私が考えることができる唯一の解決策です。

3

別のプロセスを作成したり、プラグインを読み込むことはできません。つまり、アプリに何かを含める唯一の方法は静的にリンクすることです.GPLコードの場合は、結果の派生した作業をGPLする必要があります。それがGPLの目的です。余談として

他のプラットフォーム上で、私はそれをプログラムとしてコンパイルし、私はそれを必要とするとき いくつかの引数でそれを生むだろう。

実際には、著者の意図に応じてGPL違反になることがあります。一般に、GPLのコンポーネントをバイナリから外すために、カスタムインターフェイスで明示的にラップすると、結果として1つの "派生的な作業"が行われます。もちろん、これは私の知る限り、実際には裁判所でテストされていません.GPLv2での派生した作業の概念は、法的に多少あいまいです。

+0

私の特別なケースでは、カスタムインターフェイスを開発していないので、GPLコンポーネントで使用可能なプログラムのみをデフォルトのパラメータで使用します。私は何も修正していない、私は自分の議論でそれを生成するだけです。 – math

関連する問題