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?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
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.
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 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).