GPL Licensing – Can GPL Be Implied to a Derivative Work?

gpllicensingopen source

There are three software projects: A, B and C.

A is published to anyone and is licensed under GPL.

B extends A, is published too, but has no license information or is mistakenly licensed under LGPL. Basically it violates the license of A by not being GPL. Source code of B is still available.

C extends B. Can C be published under GPL? Motivation would be "A is GPL, any derivative must be GPL too, so B is GPL and C can be GPL too".

Best Answer

First off, B is in violation of the GPL on A. But that's not exactly your concern and is irrelevant to the question here (who knows, maybe B got a LGPL license from A on their code so that it may be released under LGPL?).

The question is "Can you build a GPL piece of software based on LGPL code?" The answer to this is simply "yes".

The LGPL is less restrictive than the GPL (thus why B is in violation of the license on A unless other provisions were made), but also allows it to be brought back into a GPL project fairly easily.

From the LGPL license:

  1. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:

    a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
    b) Accompany the object code with a copy of the GNU GPL and this license document.

Its part of the license. You can easily build a GPL software based on LGPL code.

There are some version differences that you'll have to pay attention to to make sure that the code is licensed in the correct way, under the correct version of the GPL.


In the event that there is no license information presented, you do not have the right to extend upon it. B should not have been distributed, but its contributions are not licensed under an open source license. This may have been an internal project that got published or some other event.

It is not presented under a license that is compatible with extending with the GPL. Consider the situation that a company, using GPL software internally (acceptable - not a violation), mistakingly made their repo public.

In this case, it is quite possible that the project C is in violation of copyright infringement itself (the material that B added that is not licensed under the GPL as it should not have been distributed in the first place).

One cannot force a license on someone else's source. It is either in compliance with the license, or in violation of it. If it is in violation of it, then as spelled out in the license:

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).

A violation of the GPL does not mean that the material is under GPL, but rather that it can't be distributed.