The LGPL (we'll just assume version 3 for all in discussion for ease), is a less restrictive version of the GPL, likewise, the AGPL, is a more restrictive version of the GPL, but is it possible to use LGPL code, make additions(or don't), and relicense it as GPL or AGPL; can GPL code be modified and relicensed as AGPL?


Re LGPL and GPL, yes LGPL is designed to be used in a GPL'd application, and the GPL applies to the entire application, so your entire app, with the originally LGPL'd code, would be GPL.

You don't really have the right to "relicense" anything that you didn't write. However, if you take something and make changes, you're creating a derivative work. You can choose how to license that derived work, but only under the conditions of the code you included. So, you can combine GPL and AGPL code into one work, and it looks like the AGPL would apply to the whole. I assume it would be similar with the LGPL. However, you can't just take GPL'd code and make it AGPL because that would add a restriction, and I don't think you can add restrictions to a GPL'd work.

Obviously this gets hairy, and you should take your specific question to a lawyer.

| improve this answer | |
  • I understand that this is programmers not lawyers, but to be honest I don't like talking to lawyers and figured since all 3 licenses are supported by the GNU foundation in some way that they might acknowledge cross use between them in more depth than I was able to find. – DavidJFelix Apr 8 '11 at 1:23
  • 2
    @DavidJFelix - I hear you, but copyright stuff is more complicated than just a bunch of simple rules you can apply. For instance, the law would take the intention of the copyright owner into account. I wish it were black and white, but it's not. – Scott Whitlock Apr 8 '11 at 15:37
  • @DavidJFelix if you own the copyright of the code, you can re-license it to whatever license you want, even close source it. Note that previous version of the code are still under the original license. – OnesimusUnbound May 6 '11 at 3:33
  • What bout AGPL? If you use AGPL code into your GPL project, can you still have the entire application only subjected to GPL rules? – streetlight Aug 20 '13 at 19:27
  • You usually can't own the copyright anyway, because you might have to ask everyone who previously contributed to it, even just a typo fix. – SOFe Dec 21 '18 at 17:10

You can't relicense somebody else's code, but you can release your code under a license that is compatible with all the licenses of all the code you have used. For example, a GPL project can use code licensed with the GPL, LGPL, BSD & MIT licenses. (Depending on version)

See the GPL FAQ for which licenses are compatible with each other.

You should also be aware of the following licenses which are not GPL compatible.

| improve this answer | |

You cannot relicense someone's code without their permission. Period.

| improve this answer | |
  • 5
    But there are explicit permissions in the GPL and LGPL that allow you to convert to other licenses. So while you are technically correct, in effect, those code under those licenses can be relicensed under the AGPL. – Sean McMillan Aug 31 '11 at 17:13
  • 2
    @Sean: no, there are no permissions to convert to other licenses. There are permissions to combine with code on other licenses. You cannot just take someone's LGPL code and re-release it as AGPL code. – vartec Sep 1 '11 at 11:28
  • 4
    Sure, but since you can extract any portion of a combined work under the combined license, you may effectively relicense. If A is LGPL, and B is GPL, then AB is released under GPL; you may then remove B from the combined work, leaving you with something that is effectively A under GPL. – Sean McMillan Sep 1 '11 at 13:51
  • 2
    @SeanMcMillan I'd guess that the resulting work must include copyright and licensing info, that it contains parts of project A which is licensed under LGPL. So people would still be allowed to extract the pure A parts from that GPL work, and redistribute under LGPL (I'd guess, IANAL). – KajMagnus Jul 20 '12 at 16:49

You can't change the license on somebody else's code. If you're using LGPLed library X, you can't stop people from continuing to use X under the LGPL.

Checking a question from the GPL FAQ, it specifies that LGPL 2.1 and later explicitly allow relicensing under some GPL versions. That would imply that LGPL 2.0 code can't be relicensed as you suggest.

You can of course make your own work including these, and license it under any license compatible with the LGPL in use, but the LGPL components will continue to be LGPL (unless you take advantage of the provisions in 2.1 and later).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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