Is inherited class a derivative work?
mbeck1 at compuserve.com
Mon Oct 15 06:21:00 UTC 2001
> -----Original Message-----
> From: greglondon at oaktech.com [mailto:greglondon at oaktech.com]
> Sent: Saturday, October 13, 2001 11:48
thanks for your comments.
> first of all, you're mixing USE (inherit)
> with MODIFY. A derived class is not a modification
> of the original.
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).
> Just what, exactly, did Alice do that allows
> her to claim Bob's 5000 lines of code as
> derived work? I'll emphasize the word WORK,
> in this case, since Alice didn't do a damn
> thing to create those 5000 lines of code.
I think, the issue here is that you limit yourself to a particular method,
instead of considering the whole class.
Derivative work doesn't imply that Alice can claim the copyright to Bob's code.
It implies that Bob cannot derive the new class without Alice's permission. Bob
still has the copyright to his 5000 lines of code.
> "well, she wrote the original method,
> and Bob overrode the method by writing
> a method of the same name."
Bob can take the interface of the class, and write his own implementation of the
whole class. But if he is creating a new class "based" upon an existing class,
he is creating a derivative work (see above).
The exception would be "abstract" methods, because they are explicitly left to
the user to implement them as needed.
> "USE" and "DERIVED WORKS" become collapsed.
> Any USE becomes a DERIVED WORK.
Not quite. You can instantiate any object from a given class, you can write a
wrapper around a class, or you can use composition. In all of these situations,
you would be USING the class as a black box. You would be using it "as is",
without making any adaptation of the original class.
> Alice's pretty_print method is simply
> an interesting plot twist in an entire novel.
> The butler did it.
> you can still have an endless supply
> of mystery novels where the butler did it,
> and not infringe on each other.
> They just do it in different ways.
I think, you're mixing "using an idea" and "using an expression of an idea". The
first is not protected by copyright, while the second is. So using the idea that
"the butler did it" is perfectly legitimate.
But trying to publish on a Web an electronic book where you hyperlink five
chapters of your book to somebody's original chapters on his Website, rewrite
chapter 6 and place it on your Website, while hyperlinking again chapters 7-11,
then adding chapter 12, and then claiming that this is an original book only
"using" the other's author chapters, would be considered an infringement on the
original author's copyright.
Another example would be a painting. Let's assume that I have a copyright to
"Mona Lisa" painting, and I give you the right to "use" copies of the painting.
You can then make a copy of it and give it to friends, or you can include it in
your own book about Leonardo da Vinci or Italian painters. You can also make
copies, put them in different frames, and sell them. All of the above would be
legitimate "use" of the "Mona Lisa".
But if you decide that you don't like Mona Lisa's eyes, and change them to
green, or add a diamond earring, or pierce her nose, and then try to
sell/publish the resulting picture, then this would constitute a "derivative
work", IMHO. Would you agree?
Now, how is it different from adapting a class via inheritance, and changing its
attributes and methods, or extending it with new ones?
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3
More information about the License-discuss