views:

40

answers:

1

I'm about to write an iPhone / Android app to have a nice GUI on my mobile devices for an Open Source project which is mainly a web software with html frontend. The server is licensed under the terms of the GPL 2.

There will be an JSON API which I will implement in the server code. I will release the API on server side under the GPL 2 too.

But whats about the mobile app? I think it is a new product. It uses an API of the open source project. But it is an standalone app isn't it? So I can choose an properitary license for this app and let the users pay for it, right?

Thanks!

+1  A: 

Short answer: no.

Longer answer: simple use of an application does not make the product of that application GPL.GPL says:

The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work.

what this means is that a website (output from running a covered work) running on a GPL server is GPL only if the website is GPL for other reasons.

So even your website/web service and JSON API need not be GPL. But.. since your website uses a GPL covered JSON API then it must be released under GPL. Unless.. you can contact the author of the JSON API (yourself) to give you permission to use the library under a non GPL license (in this case, the JSON API is dual-licensed). In which case.. you can actually have even your website/web service be properitary.

This is not even considering the mobile app. The website itself need not be GPL. There is certainly no necessity for the mobile app to be GPL. Unless.. you happen to use a GPL covered library in developing the mobile app. Or.. your mobile app downloads and executes a javascript file that is GPL licensed.

GPL does not cover a simple processing of GPL covered material. For example you can freely use a non GPL compiler to compile GPL code, GPL allows this. This would be the same as your mobile app downloading GPL covered data from a GPL covered web service.

Notice again that even here GPL does not cover any JSON data your website generates even if you declare that the website is GPL. In order for the JSON data to be GPL you would need to specify it explicitly to users of your website/web service or have the JSON data itself include a copyright notice:

{
  "copyright" : "this data is copyright of krymel and is licensed under the GNU General Public License as specified at http://www.gnu.org/licenses/gpl.html",
  "data" : "real data here"
}

So, most probably your mobile app isn't even consuming GPL data. And even if it did, it wouldn't force the app to have a GPL license.

In the case of your app downloading and executing a GPL covered script. GPL only covers any other script you have that runs in the same environment as the GPL script. The script interpreter itself need not be GPL. Unless of course if by interpreting a script requires the interpreter to load the script in the same memory space as the interpreter. Which in the case of javascript is not true.

The summary of all this is: use of a GPL covered product does not require you to adopt GPL. Including GPL code in your own code requires you to use GPL.

Then again, I am no lawyer.

slebetman