Is inherited class a derivative work?

Michael Beck mbeck1 at
Tue Oct 16 22:22:48 UTC 2001

> -----Original Message-----
> From: david at [mailto:david at]
> Sent: Tuesday, October 16, 2001 00:19
> To: mbeck1 at; license-discuss at
> Subject: Re: Is inherited class a derivative work?

> That said, inherited classes are not derivative of the base
> classes. There is
> a dependency, but it is a dependency upon the *interface* and
> not the actual
> code. For example, you could subclass iostream, but
> then how can you
> tell whose C++ Standard Library it was derived from? You can't.

OK, but what if you know exactly from which library you have subclassed the
particular class, and it's your conscious decision to do so? The issue is that
when I release something under OpenSource, I want to make sure that it will be
"used as is", and if there is any derivative work, it will benefit the
community, i.e. it will be published. The user, by using the library, agrees to
the governing license, and thus should be obligated to publish all
changes/modifications. Creating a wrapper, or using the class in a composite
class would be considered as "use" and not as "derivative work". I would also
see overriding abstract methods as "use", because the author, by defining them
abstract, left the implementation to the user. But making any other
changes/adaptation to "library classes", direct via code changes or indirect via
inheritance, should be considered as derivative work and published back to the

> (Remember that the FSF's interpretation of the GPL considers
> dynamic linkage
> to be derivation, so pay attention if you subclass anything
> under the GPL)

I just got a response from FSF lawyers stating that "inheritance is considered
modifying the library" (see below). My question was related to releasing code
under LGPL and wanted to make sure that I've interpreted correctly the
difference between "work based on a library" and "work using a library", and
according to FSF, inheritance falls under "work based on a library" and as such
should be released under LGPL.

Currently we have MPL, but some of our code donors were concerned that it covers
only modifications done "direct changes to the code", but provides no copyright
protection for OOP code, as it doesn't cover inheritance. It seems that LGPL is
better suited for this purpose.


> -----Original Message-----
> From: novalis at [mailto:novalis at]
> On Behalf Of Free Software Foundation
> Sent: Tuesday, October 16, 2001 15:31
> To: Michael Beck
> Cc: Free Software Foundation
> Subject: RE: LGPL and inheritance

> Yes, inheritance is considered modifying the library, so
> subclasses of library classes
> must be released under the LGPL.  This is exactly what you want.
> --
> -David "Novalis" Turner,
> Licensing Question Volunteer,
> Free Software Foundation

license-discuss archive is at

More information about the License-discuss mailing list