Is inherited class a derivative work?

Angelo Schneider angelo.schneider at
Mon Oct 15 12:35:40 UTC 2001

Hi all,

I'm not a lawer, but I'm somewhat experianced in copyright cases, did my
self one unfortunatly.

"Forrest J. Cavalier III" wrote:
> > ----------
> > Von:  Forrest J. Cavalier III[SMTP:MIBSOFT at MIBSOFTWARE.COM]
> > Gesendet:     Montag, 15. Oktober 2001 13:43:42
> > An:   license-discuss at
> > Cc:   forrest at
> > Betreff:      RE: Is inherited class a derivative work?
> > Diese Nachricht wurde automatisch von einer Regel weitergeleitet.
> >
> "Michael Beck" <mbeck1 at> wrote:
> > Derived class is a "derivative work", because it is "based" on, or "extends",
> > the original class. "Using" would be instantiating an object from it -
> > stand-alone, or as a part of another class (composition). There would be no
> > "adaptation" of the existing class.
> >
> > According to Copyright law, a derivative work is "a work based upon one or more
> > preexisting works". It includes any "form on which a work may be recast,
> > transformed, or adapted." (17 USC Sec. 101).
> >
> I think the issues that were raised in this thread are not
> totally tested or settled in case law.

The term "derived work" is a well defined legal term.
I can only speak about the european situation here: "derived work" means
the original work is 'transformed' to make a new work. 

So if you take a novel and add pictures to it, you make a derived work.
If you write a sequell for that novel, you usualy do not make a derived
work. (In some cases there where judgements to the oposite because the
characters in the first part where so popular that the court came to the
opinion the sequell never would stand alone or even exist without the
firts one)

Plainest I can say: in a derived work you see the existence of the
"original work".

In source code this means: portions of the original source code must be
In linked code this means: portions of the original binary code must be
present in the executeable(so dynamic linking is a case of derived

However, you are giving certain licenses, like GPL, for your source and
binary code out. So under those conditions there might be different

E.g: a class derived from a GPLed class does not fall per se under the
GPL. Its not "derived work", it does not contain any lines of code
allready present in the base class.
The binary linked from it does! It contains fully, either dynamic linked
or static, the binary compiled from the base class.
However: only the matter that the base class is included in the binary
makes the binary a "derived work", not the issue that there exists a
derived class!
Writing a wrapper and using delegation helps nothing: as long as the
original class is in the binary you have a "derived work".

Regarding the reimplementation of an API: this is surely also a "derived
work", however it might fall under "fair use".

In germany a project like gnu class path would IMHO not stand in court,
hundreds of classes mimicing the same API of the origininal classes
without a own intellectual contribution of the developers(that would be
what a layer would say about it, its not my OPINION as I never looked at
it :-) )


Angelo Schneider         OOAD/UML         Angelo.Schneider at
Putlitzstr. 24       Patterns/FrameWorks          Fon: +49 721 9812465
76137 Karlsruhe           C++/JAVA                Fax: +49 721 9812467
license-discuss archive is at

More information about the License-discuss mailing list