Is inherited class a derivative work?

Rod Dixon rodd at
Wed Oct 24 15:18:30 UTC 2001

I agree that this thread is interesting, although there has been some
confusion over the derivation of sub classes from a base class in
object-oriented programming and the meaning of derivative work as a matter
of copyright law. Interestingly enough, some of the confusion emanates
from the ill-conceived ways copyright doctrine applies to software, not
just misunderstandings of copyright law. I published an article in the
Columbia Science & Technology Law Review( that, among other
things, makes
the claim that some OO-programming practices demonstrate why the scope of
protection of copyright for source code is far too extensive. One could
make a persuasive showing that programming practices that use inheritance,
encapsulation, polymorphism, and similar practices demonstrate thata great
deal of  source code constitutes a cauldron of ideas, and only a scintilla
of original expression. Hence, OOP supports the idea of  open source.

Rod Dixon
rod at

On Wed, 24 Oct 2001, Randy Kramer wrote:

> I find this thread interesting, and hope that when some consensus is
> reached (or the thead dies down and there is perhaps an "agreement to
> disagree") that someone can summarize the areas of consensus and
> disagreement for a layman.  (Perhaps the best resting place for
> something like that is on a wiki -- if someone else writes a summary I
> would be happy to host it on my TWiki.)
> I am not a lawyer, and have not read this thread with enough
> understanding to make any comments except the following:
> Michael Beck wrote:
> > Since java.util.Dictionary is an abstract class, and you override abstract
> > methods, I agree with you. By having abstract methods in a class, IMHO the
> > author gives the user implicitly the right to create a subclass and override the
> > abstract methods.
> Re: "IMHO the author gives the user implicitly the right to create a
> subclass and override the abstract methods."
> I'm not so sure -- creating abstract methods is useful for the original
> version of the program, to be overridden by derived classes in the
> original.  Simply the presence of abstract classes does not mean that
> the author intends for others to also derive from those classes.  (IMHO,
> and in my limited knowledge of C++).
> Randy Kramer
> --
> license-discuss archive is at

license-discuss archive is at

More information about the License-discuss mailing list