Avoiding GPL

by Naveen » Tue, 22 Jun 2010 15:10:34 GMT


Sponsored Links
 Hi!
I need to use some open source code with GPL3.

As usual I don't want to open source code for full application.

Now what I understand is if I make two separate process one with my
main application code and other as a service or something with Open
source library  then in that case I have to open source code only for
the other one.

Now the question is what is the best way to do so in Android.

Suppose
My Main App  is  A
Open Source code is  B

So A will give some data to B. B will process this and sends data back
to A. B may not need to have any UI.

1. Is it possible to install 2 seperate applications / processes from
one APK?
2. What is the best way ?Should B be a service? How will be the
communication between A and B ?
3. Is it possible to run/call B from A?

Pls. advice

Thanks

--



Avoiding GPL

by Anton Persson » Tue, 22 Jun 2010 15:47:25 GMT


 If you are creating a closed source application, maybe you should invest in
acquiring/creating a library that supports that. Using code from a GPL3 code
and actively trying to step around the license is really bad behaviour.




>


Sponsored Links


Avoiding GPL

by Tom Gibara » Tue, 22 Jun 2010 19:19:39 GMT


 I am not a lawyer etc. but I think you should be very careful about trying
to circumvent the GPLv3 in this way; its wording is broad.

You have several options without attempting this, they include: finding a
revenue model that's compatible with open sourcing your application,
consulting a lawyer first, contacting the author of the library and
explaining the situation.

-- 
Tom Gibara
email: m...@tomgibara.com
web:  http://www.tomgibara.com 
blog:  http://blog.tomgibara.com 
twitter: tomgibara




>



Avoiding GPL

by HaMMeReD » Wed, 23 Jun 2010 12:33:23 GMT


 If you can use it without modifying the source then just do it, and
provide credit to the library creator clearly in your app.

If you need to modify the source, then you need to be able to provide
the modifications. If you need to integrate it with your app deeply so
that you can't use the modified version without your app, then you
need to open source the entire thing.

IANAL but using a open source library in a closed source project
without any modification should not provide any serious legal issues
as long as everyone is properly credited and there is no stipulations
in the license or on the creators website.

I wouldn't recommend doing complex workarounds, because it just
increases the amount of changes and dependencies between your app and
the open source app, and shows that you were trying to circumvent
things. Just do your best to not change it, and check the creators
site to see if they sell alternate licenses that might server your
needs better, if you do need to modify the source in certain ways.


Adam Hammer




--



Avoiding GPL

by Chi Kit Leung » Wed, 23 Jun 2010 13:51:20 GMT


 I am not  a lawyer too. But basis on my understanding, for LGPL and Apache
License v2.0, you can use use them in closed source application if you do
not have any modifications. For GPL, you cannot use them in a closed source
application.





>



Avoiding GPL

by David Turner » Wed, 23 Jun 2010 14:04:21 GMT


 


(e.g. through Market),
you must provide the sources of _all_ your program if you link against the
GPLed sources.
This is true of GPLv2 or GPLv3.

The LGPL is different, but conditions are very specific, and probably
corresponds more to
what you describe. However, this does not apply to the GPLv3.

Please read the GPL Faq, it contains useful information.




>



Avoiding GPL

by Chi Kit Leung » Wed, 23 Jun 2010 14:14:40 GMT


 I think david is very right about that.






>>



Avoiding GPL

by Naveen Maheshwari » Wed, 23 Jun 2010 14:32:49 GMT


 eah David is right.If you link your application with open source libraries
you have to open your code.

That's why what I am trying to do is the code that uses open source I make
it as separate module and run that as remote service.
Now since this service is running as a separate process so I am oblized to
open only source code for this service...

So the basic idea is
*A* my app has some data and it needs to process this data... When it needs
to process this data it runs a remote service *B*. This service process the
data and returns back to *A*.

*B* is the service that is using open source code and is running as a remote
service. which is different process than app *A*.
Source code for *B *will be made open source.

So as far as I know there should not be any legal issues and all can go as
same .apk.

Thanks





On Wed, Jun 23, 2010 at 3:14 PM, Chi Kit Leung <michaelchi...@gmail.com>wrote:

>>>



Avoiding GPL

by Sean Hodges » Wed, 23 Jun 2010 16:51:24 GMT


 ou really need to consult a specialist on this subject, developers
(including me) have a tendency to give out "I am not a lawyer" type
advice, which is inherently unreliable.

In the strategy you describe, I believe putting A and B in the same
APK means you are distributing both components as a single piece of
software. A person cannot modify and distribute B without either
bundling closed-source A, or modifying the build process (which also
violates the GPL). You would be closer to a solution if you created 2
separate APK's, as long as A and B are completely independent of each
other.

The nature of the GPL is that the authors *do not want* their code
distributed in a closed-source solution, and this is exactly why it is
so difficult to find a legal way to do it. If you want to mix
licences; seek legal advice, and/or contact the authors about the
possibility of a dual-licence solution.


On Wed, Jun 23, 2010 at 7:32 AM, Naveen Maheshwari <naveen...@gmail.com> wrote:
>>>>



Avoiding GPL

by Fabrizio Giudici » Thu, 24 Jun 2010 06:19:50 GMT


 -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1




While I second the point that legal things must be properly
understood, I don't agree that this is "trying to circumvent" a
license. License explain what can be done and what can't be done, and
the original poster is just trying to find a legal way to do that. For
instance, MySQL is GPL, but tons of non-FLOSS projects use it, because
GPL applies to the concept of "linking" to the code, and doesn't apply
to separate process communicating. That's how a non FLOSS application
can use MySQL, without "circumventing" the GPL. Thus, the original
idea of setting up a inter-process communication makes sense and if it
were plain Java on a plain desktop I'd say it's fine (IANAL, of
course). I don't know how this can apply to Android. Maybe looking at
the FSF FAQs or sending them an email would help.


- -- 
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
java.net/blog/fabriziogiudici - www.tidalwave.it/people
fabrizio.giud...@tidalwave.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla -  http://enigmail.mozdev.org/ 

iEYEARECAAYFAkwgn50ACgkQeDweFqgUGxdSxQCeMaMJfIIEe4Zu1oQJ2TaAaQ0Z
lyAAoJsSKsHyvJr2ze3ENa1GhXD5JByi
=WP8Z
-----END PGP SIGNATURE-----

--



Avoiding GPL

by a genius » Thu, 24 Jun 2010 06:20:48 GMT


 That scam won't be legal unless the license in question is the LGPL
(with an L at the front). You say that what you are interested in
using is a library. Typically, libraries use the LGPL since it just
makes sense that libraries allow closed source components to link to
them (L is for LIBRARY), however, there are still some nasty issues
that are present.... such as the ability of the USER to REPLACE the
LGPL LIBRARY with a newer version of the same library.... to your
benefit, it doesn't have to be TRIVIAL to do so, so NDK within the
same APK should suffice -- build the LGPL library into your program
using the NDK, you will end up with a shared object file that is
licensed as LGPL, which happens to be distributed along with your
proprietary program in the archive container. Be sure to include a
COPY OF THE LGPL LICENSE ALONG WITH THE LIBRARY and to be sure to
identify what library it applies to. ALSO be sure to make notice
WITHIN THE PROGRAM ITSELF that (A) you use LGPL components, (B) what
the LGPL components are.

If the library is licensed regular GPL, then NO, you MAY NOT use it.
And no, a wrapper program DOES NOT avoid this issue since the entire
purpose of the wrapper is clearly to avoid the GPL.




--



Avoiding GPL

by Andy Savage » Fri, 25 Jun 2010 10:46:55 GMT


 gnoring the legal ramifications here. Let me say my opinion.

I think that we need to be quite wary of the licences of each app and
whether they are conforming to it. Obviously this person intends to try and
not conform to it (if they can figure out how).

But let me give you an example of why this in general is a bad idea.

I have gone through some trouble to try and find a way to play DivX/xVid on
Android for my app and I think that much of my time and trouble wouldn't
have been wasted if people were more strongly conforming to the software
that licences are released under.

Take RockPlayerBase for example, this app (which is in "beta") plays DivX
and xVid. It's not magic, it simply does this by ffmpeg (I can tell by
checking the library names in the pcakge). I have no website (in English
atleast) to request this, but when it gets released I will be requesting
they they conform to the LGPL source and release instructions on how they
compiled it for android and the changes (if any) they made.

Whats really frustrating is that they didn't release these instructions at
the same time as their app. Now this is just one example but I am sure other
apps will be using opensource technologies that are designed to share
knowledge. Sometimes alot of trouble can be needlessly wasted when others
refuse to conform or try to avoid the good spirit licences.

Consider this when trying to sidestep GPL. It's there for a specific reason,
I can understand you wanting to keep proprietary code secret, but generally
my experience is most of the code could be happily released. Unless your a
rocket scientist it's likely something that could be of use to others, who
could in turn make changes which you can incorporate and so on.

*However all is not lost*, if you are looking to find a way to incorporate
some open code. Ask if the authors might release it under dual licence as
LGPL for you. A great example of how this can work is
Bambuser<http://www.bambuser.com/opensource>.
A proprietary program but they use ffmpeg and conform to LGPL licence. It
doesn't hurt their business or product and they have made life alot easier
for those who are simply trying to get stuff to work.

On Tue, Jun 22, 2010 at 11:44 PM, a genius <droidhac...@gmail.com> wrote:

>



Avoiding GPL

by Andy Savage » Fri, 25 Jun 2010 10:56:00 GMT


  forgot to say in my previous post.

In response to the person talking about MySQL. I believe this is quite
different as MySQL is a completely self contained database system that other
applications communicate with. As in, it's a completely GPL package, rather
than a part of another application.

If you actually incorporated the MySQL code within your application I
believe it would break GPL (presuming your application was closed source). I
am not sure how this applies to the MySQL libraries that are setup to use
mysql say from PHP.

So in the same spirit if the original author decide to create two
"self-contained" applications that talked to each other and one could view
the source code of one (and have a working application) then I think it
would be fine. I think having a seperate process as such or even a linked
(non-system) library would be breaking GPL. The author might want to
consider this approach :-) although it would be interesting to see
technically how well it works due to speed etc etc.

I do think that there needs to be clearer information about how closed
source projects can use and contribute to open-source under the various
licences.

On Fri, Jun 25, 2010 at 10:46 AM, Andy Savage <a...@bluewire.net.nz> wrote:

>>



Avoiding GPL

by Anton Persson » Fri, 25 Jun 2010 15:39:48 GMT


 Not entirely true. Yes; a LOT of non-FLOSS (closed source) apps use MySQL..
But they do that by buying the non-FLOSS-licenses that MySQL _sell_.

MySQL allows you to use MySQL with the GPL license as long as YOUR
application is also using GPL. That is their idea, and that's why many
prefer PostgreSQL. So, if you are using MySQL with the GPL license you are
doing something MySQL doesn't want you to do.

   Regards
      Anton

On Tue, Jun 22, 2010 at 1:33 PM, Fabrizio Giudici <




>



Avoiding GPL

by David Turner » Sat, 26 Jun 2010 01:34:46 GMT


 n Tue, Jun 22, 2010 at 11:32 PM, Naveen Maheshwari <naveen...@gmail.com>wrote:

general. They are plenty of open-source license that allow you
to keep your own source code closed: BSD, MIT and even the LGPL (under
certain conditions). The GPL is more restrictive in the
way it requires you to distribute your _own_ sources if they link to
anything GPL.


>>>>



Other Threads

1. "No applications can perform this action." error.

Hello everyone,
I am using this code to send an email (with no errors in eclipse), but
when I run it in the emulator, I get the "No applications can perform
this action." error.

String[] mailto = {prefemail};
// Create a new Intent to send messages
Intent sendIntent = new Intent(Intent.ACTION_SEND);
//Write the body of the Email
String emailBody = "";
// Add attributes to the intent
sendIntent.setType("message/rfc822");
sendIntent.putExtra(Intent.EXTRA_EMAIL, mailto);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "TrackMe Password");
sendIntent.putExtra(Intent.EXTRA_TEXT, emailBody);
startActivity(Intent.createChooser(sendIntent, "Email sent."));

Do I need to install some mail app from it? I tried the K9 email app,
installed it with adb, but I don't see any changes. Do I need to do
something other than installing? Or is there another good program for
it?

Thanks,
Noam.

--~--~---------~--~----~------------~-------~--~----~

2. what is difference between startActivity and startSubActivity()

hi,
what is the scenario that makes me to pick between startActivity and
startSubActivity

--~--~---------~--~----~------------~-------~--~----~

3. Why standard component with private members?

4. BroadcastReceiver for a Service to catch broadcast Intent ACTION_BOOT_COMPLETED

5. Shared preferences not accessible in service

6. Looks promising ...

7. Incorrect use of SkAlpha255To256 trick in Skia