Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am developing an application for Android in JAVA which calls GPLed C-code via JNI.

I have modified & capsulated a GPL-software under a JNI-interface and compile it as a shared library (.so) which I can use via JNI from my JAVA-part (the commercial part with closed source).

Because I have stripped the original GPL-software from everything which is not needed by my software, that GPL-software has no more other GPL-dependencies which explicitly forbid using it as a shared library in a closed-source software (like SecretRabbitCode for example forbids it).

I have no problem to set my modified version of the GPL-software online, but I cannot do this with my commercial software.

Because I need the modified version of the GPL-software in my software, I have to bundle it in one package (a APK-file in Android).

Sadly, the GPL-software has 1 or 2 more dependencies to GPL-code (just C-files like aes.c), so it's not as easy as just ask the author of this GPL-software.

Because the Android-way of "packing JAVA and .so-files together, bundle it and distribute it" is quite new, it's not as easy as with pure JAVA or pure C code.

Who can help out?

share|improve this question

closed as not a real question by maple_shaft Feb 23 '13 at 17:41

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Even if you'd distribute it as separate .so files within an archive, GPL (as opposed to LGPL) usually affects the whole software, and not just that single .so file. So I think calling a GPLed .so file from your closed source application isn't possible. – CodesInChaos Feb 23 '13 at 15:24
up vote 3 down vote accepted

You will have to release your entire Software under the GPL, otherwise you'll be violating the terms of the license. A JNI wrapper most emphatically does not isolate you from the requirements of the GPL.

share|improve this answer
OK, thank you for the clearance :) – Martin L. Feb 23 '13 at 20:54

Not the answer you're looking for? Browse other questions tagged or ask your own question.