1

Say I am developing a component (PhoneGap-Plugin or alike), e.g. for an iOS or Android Application and it uses source that is covered by the GPL V2. Now it's pretty clear to me already that I'm going to release the component under LGPL V2.1. But what about if anyone uses my component?

Do they have to release their Apps under LGPL or even GPL too?

I have read LGPL/GPL licensing - but this one is about using it in iOS/Android.

<https://stackoverflow.com/a/16544649/1677988 says it's okay.>> -- Sorry, I got it wrong, oSIP is used in linphone - not the other way around!

Community
  • 1
  • 1
Toubey
  • 201
  • 3
  • 14

2 Answers2

-1

If it contains code released under GPL, you CANNOT release it legally under any license except GPL. This means you can't release anything that uses it as LGPL.

The OS doesn't matter. If you contain code that is GPL licensed, that entire code must be GPLed.

Gabe Sechan
  • 84,451
  • 9
  • 82
  • 121
  • Thank you for your quick response. And this also applies to using a GPL-Library in an LGPL component? – Toubey Jul 21 '14 at 16:21
  • After doing further research - yes it does. – Toubey Jul 22 '14 at 06:48
  • @gabe-sechan the GPL and LGPL are much more subtle than that. See my answer. – Philippe Ombredanne Jul 23 '14 at 08:12
  • @PhilippeOmbredanne a lot of what you typed is just wrong, and a lot of the rest is gray area that hasn't been tested in court. You're also going in the wrong direction for half of that- he talked about relicensing code written as GPL in an LGPL component, not about linking to LGPLed code. – Gabe Sechan Jul 23 '14 at 15:35
  • @GabeSechan the question does not talk about relicensing but reusing GPL code in an LGPL app. There is nothing problematic per se with reusing GPL code in an LGPL app. How it is being reused is what matters here IMHO. – Philippe Ombredanne Jul 23 '14 at 20:11
  • @GabeSechan FWIW I did not mean to downvote your answer, but unless you answer is edited, I cannot undo that. WRT to you statement "If you contain code that is GPL licensed, that entire code must be GPLed." read the GPL again: it depends on how the GPL code is used. – Philippe Ombredanne Jul 23 '14 at 20:15
  • @PhilippeOmbredanne I know the GPL quite well. If you use GPL code, your code MUST be GPLed. You can use a GPL *program* without licensing your code GPL, but you cannot use the code. There is no permisable situation where you could copy a chunk of GPLed code and drop it in your app without GPLing your app. Putting it in a library is not sufficient. Creating an app just to provide this functionality is a gray area that IMO would lose to any competent attorney but to my knowledge has not been tried in court. – Gabe Sechan Jul 23 '14 at 20:24
  • @GabeSechan Your definitive statements are IMHO quite misleading. Read the GPL and GPL FAQs. Consult a lawyer. The GPL is much more subtle than that. How programs are combined is what matters. Let me take an example: say I develop an app that downloads and plays videos on a phone. This app contains: * an unmodified version of Mplayer a GPL-licensed video player. * my own code that provides some UI to search and download videos and then spawns mplayer to play these, passing it the URL. IMHO in this case my own code does not have to be GPL. mplayer stays GPL of course. – Philippe Ombredanne Jul 29 '14 at 09:11
  • @GabeSechan Read the fine FAQs: https://gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean https://gnu.org/licenses/gpl-faq.html#WhatIsCompatible https://gnu.org/licenses/gpl-faq.html#GPLAndPlugins https://gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins https://gnu.org/licenses/gpl-faq.html#LinkingWithGPL https://gnu.org/licenses/gpl-faq.html#MereAggregation https://gnu.org/licenses/gpl-faq.html#CombinePublicDomainWithGPL https://gnu.org/licenses/gpl-faq.html#GPLAndNonfreeOnSameMachine With that said, this is not a productive exchange so I will ask moderators to close this question. – Philippe Ombredanne Jul 29 '14 at 09:11
  • @PhilippeOmbredanne Once again, in your example you're not talking about GPLed code, you're talking about a GPLed app. You're confusing the question. – Gabe Sechan Jul 29 '14 at 14:35
-1

Does the GPL or LGPL extends to apps reusing code under these licenses?

The short answer is that it depends on the context.

And this is my long answer:

About 'your' LGPL app vs. GPL code:

The first test I would consider is linking: is your application code directly linking (static or dynamic) with the GPL component? the answer is technology-specific and may vary based on the language and platform. If yes, there would be some GPL impact. For instance if your app include a GPL-licensed component as a separate unmodified executable that is launched in its own process from your app, then in general there is no "linking" but what is considered normal use of the GPL program. Note that there is no such concept of linking per se in the GPL, but this is a commonly considered test nevertheless.

The second test I would consider is modifications: did you modify the GPL-licensed component? if yes and if these modifications are helping you better interface with this GPL component irrespective of linking, then there could be some GPL impact.

Note there is no general obligation in the GPL 2.0 to release source code that use a GPL-licensed component under the GPL 2.0. Instead I would say that if you answered yes to test 1 or 2 above, then your code would have to be made available either under the GPL or under a license that is considered compatible with the GPL, essentially offering similar freedoms. The FSF publishes such a list. The LGPL 2.1 is explicitly compatible with the GPL 2.0 so you would be fine with the LGPL 2.1.

About 'their' app vs. your LGPL and GPL app:

If someone re-uses your app in their app, would they have to release their app under LGPL or the GPL too?

It depends again: the tests 1 and 2 above would apply first. If you answered yes to tests 1 and 2 for your app, your app would be subject to GPL-like terms. If they reuse both the GPL and your LGPL 2.1 code in their app, then the GPL may apply for them too, again depending on how they reused your code.

With regards to their use of your own LGPL-licensed code, the same tests would apply with a twist: The LGPL makes implicit distinction between static and dynamic linking and has additional conditions when it comes to modifications.

There, the third test I would consider is static vs dynamic linking: is their application code linking statically or dynamically with your LGPL code?the answer is technology-specific and may vary based on the language and platform. If static, there would be some LGPL impact. For instance if your app includes an LGPL-licensed native library and they statically link their code with this library, then their code would be subject to the LGPL and they would have to make --among other things -- their source code available under terms considered compatible with the LGPL and offering similar freedoms. Again there is a list published by the FSF. If their code dynamically links with your LGPL code there in general that would beconsidered normal use of an the LGPL library and the LGPL would not impact their code.

The fourth test I would consider is modification again: did they modify your LGPL library? If yes, the LGPL may apply to their code, possibly depending on the nature and extent of the modifications.

And of course in all cases, even if you answered No to all four tests, the terms of the GPL would still apply to the GPL code and the terms of the LGPL would still apply to the LGPL code each taken alone.

This is a long answer but this is not a simple matter!

/HTH, IANAL TINLA

PS: I made this a community wiki so it can be enhanced...

Philippe Ombredanne
  • 1,904
  • 19
  • 35