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 Dictionary. 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 are liable to use it in a customer demonstration. I have no way of knowing whether 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? Regards Chris Gray VM Architect, ACUNIA -- license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3