Is inherited class a derivative work?

Chris Gray chris.gray at
Mon Oct 22 10:05:52 UTC 2001

Michael Beck wrote:

> > -----Original Message-----
> > From:  Rob Myers
> > Sent: Friday, October 19, 2001 09:14
> > > If I write a class which extends java.util.Dictionary, then whose
> > > implementation
> > > of java.util.Dictionary am I adapting:
> >
> > No-one's.
> > Is the original work changed? No.
> > Is the original work copied&pasted? No.
> > Is the original work translated to produce the new work? No.
> > Does the new work rely heavily on the original FOR ITS CONTENT? No.
> If Chris extended directly the java.util.Dictionary, and has overriden the
> abstract methods, then you are correct. However, if he extended any of the
> listed "implementations" of java.util.Dictionary, then he has created a
> "derivative work", because he has changed the "design blueprint" of the
> particular implementation.

Every implementation of the Java language contains the non-abstract class
java.util.Properties, which does in fact implement all the methods of
So let us suppose that I create a class com.acunia.AcuniaProperties which
extends java.util.Properties, and that this is packaged together with some
other classes in a .jar file.  I then hand this over to our sales force, who
liable to use it in a customer demonstration.  I have no way of knowing
they will demonstrate it running on our own VM (Wonka), IBM's J9, Kaffe (as a

component of Pocket Linux), HP's Chai, something licensed from Sun's pJava,
or something I've never even heard of.  Can it really be that by creating my
little class I have actually changed the design blueprints of products from
four different companies, without even knowing it?


Chris Gray
VM Architect, ACUNIA

license-discuss archive is at

More information about the License-discuss mailing list