How do I embed a GPL component in an iPhone application?

I want to use a GPL component in an iPhone application that is not there. It is an independent and standalone component, so on any other platform I would compile it as a program and build it with some arguments when I need it.

But if I want to publish my app to the Appstore, I have to execute this section of the iPhone SDK:

3.3.2 The application cannot independently install or run another executable code file in any way, including without limitation by using the plug-in architecture, calling other frameworks, other APIs or others. No interpretable code may be downloaded or used in the Application, except for code that is interpreted and managed by the Apple Documented API and the built-in translator (s).

In my opinion, it seems that Apple forbids me from doing what I want.

Is there any technical and / or legal solution to embed a (standalone) GPL component in an iPhone application without licensing the entire GPL licensed application.

Note. The question is not whether the GPL is compatible with AppStore rules, as elsewhere . I guess it is.

+2


source to share


3 answers


You should ask the author of this component to license it to you under different conditions, possibly in exchange for real money.



When the author chose the GPL for this component, he probably did it exactly so that you also use the GPL in your application.

+4


source


You cannot create a separate process or load plugins, which means that the only way to include something in your application is statically linking it, which in the case of GPL code requires you to get the GPL derived derivative work. This is the intention of the GPL for better or worse.

Aside:



on any other platform, I would compile it as a program and spawn it with some arguments when I need it.

may actually be a violation of the GPL depending on the intent of the author. Typically, wrapping some GPL component with a user interface explicitly to save it from a binary will still result in one "derivative work". Of course, this has not actually been verified in court, and the concept of a derivative work in GPLv2 is somewhat legally ambiguous.

+3


source


On iPhone, you cannot mix closed source and GPL code as all applications are standalone. You cannot use the GPL executable in any other way than with your application.

Since you already plan to use some interprocess communication to use the GPL module without linking, you can put a portion of the GPL on a server and access it over the Internet. I know this is a lot of overhead and doesn't scale enough, but this is the only solution I could think of.

0


source







All Articles