Is inherited class a derivative work?

David Johnson david at
Tue Oct 16 04:18:43 UTC 2001

On Sunday 14 October 2001 11:21 pm, Michael Beck wrote:
> > -----Original Message-----
> > From: david at [mailto:david at]
> > Sent: Saturday, October 13, 2001 16:40
> >
> > A derivative work must contain at least portions of the
> > original work.
> The new inherited class extends the original class, i.e. it contains
> (implicitly) the whole base class, plus all changes to it. Wouldn't it then
> qualify as a derivative work?

First, I apologize for my ill-wording in my previous post. There are other 
ways to be a derivative besides inclusion.

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 could subclass iostream, but then how can you 
tell whose C++ Standard Library it was derived from? You can't.

Templated classes are another matter entirely, and they raise some 
particularly thorny issues with regards to derivation.

(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)

David Johnson
license-discuss archive is at

More information about the License-discuss mailing list