Is inherited class a derivative work?

David Johnson david at
Fri Oct 19 03:52:06 UTC 2001

On Thursday 18 October 2001 08:20 pm, William Uther wrote:

>   One could argue that in the second case the overlay is merely USING the
> original picture, and that the original picture can be copied because of
> its license.  I suspect that a court would rule that you have a derived
> work here.

The issue isn't really "does inheritance cause derivation". According to the 
FSF, merely calling a unique function in a derived library causes derivation.

The bigger issue (in my opinion) is why the LGPL treats inheritance 
differently from composition. Why is a direct function call different than an 
indirect function call through a vtable?

Here's a concrete example of the problem: under most widget toolkits, you can 
create a new widget through either composition or through inheritance. For 
example, a ComboBox can be composed of an EditBox and a ListBox. Or a 
ComboBox can inherit from both EditBox and ListBox. Both methods will result 
in exactly the some external interface. Both results will call exactly the 
same functions and methods in the library. So why should the LGPL treat one 
design methodology differently from another design methodology?

As a C++ programmer, this aspect of the LGPL is very troubling. In short, why 
even bother placing a class library under the LGPL, when the GPL will offer 
exactly the same permissions and restrictions?

David Johnson
license-discuss archive is at

More information about the License-discuss mailing list