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.

  • 1
    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. 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. Apr 8 '11 at 15:37
  • 1
    @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. 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? Aug 20 '13 at 19:27
  • 1
    So can I understand it as: "AGPL -> GPL" is not acceptable because it removes restrictions and allows violating the original AGPL, and "GPL -> AGPL" is not acceptable because it does not permit things originally permitted by GPL?
    – SOFe
    Dec 21 '18 at 17:11

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.


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

  • 7
    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. 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. 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).

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.