Is inherited class a derivative work?
angelo.schneider at oomentor.de
Wed Oct 17 13:34:41 UTC 2001
The FSF is incorrect.
However your extract and the talk with the FSF might have been
missleading, see below.
Ken Arromdee wrote:
> On Tue, 16 Oct 2001, Lawrence E. Rosen wrote:
> > While the FSF *may* be correct, I would expect a more thorough analysis
> > of the situation from them before I accept their conclusion. In
> > particular, how does inheritance differ in a substantive and legally
> > significant way from traditional subroutine linkage which, as many of us
> > believe, does *not* create a derivative work at least the context of
> > dynamic linking?
> Well, the FSF believes that that does too, so I presume they don't see a
As I said in my previous post:
"derived work" is a legal term, its defined in law what "deriveed work"
In Germany dynamic linking is: "derived work".
Its up to your lisence if you allow it.
Inheritance is NOT, NOWHERE, NEVER a "derived work".
However incorporating the derived class plus the base class into a piece
of software makes that software a derived work, not the derived class.
(Because the base class is included)
a1 b2 c3 d4 <-- That is my work.
Its protected under copyright (well its to primitive to be realy
protected, just lets asume it was).
That stands alone! No derivation.
A1 B2 C3 D4 <-- that is a derived work (translation)
a1 b2 XX d4 <-- that is a derived work
a1 b2 c3 d4 e5 <-- that is a derived work
b2 c3 d4 e5 a1 <-- that is a derived work
Its always a "derived work" for one simple reason: it containes literaly
the original work. Thats the definition of "derived work". Thre are
further ways for derived work as one pointed put here: e.g. translation
into a different lanuage(or programming language), writing a sequel to a
nove also can be considered a "derived work".
A class inheriting does not contain -- in the code written by the coder
creating the inherited class -- any portion of the base class, so it is
by definition of the law not a "derived work".
Programs using a GPLed library are derived from that library because
they LINK with it. Not becasue the call routines from it. (In germany no
one would distinguish between dynamic and static linking, because the
result is a set of copies of copyrighted pieces in main memory of the
executed process, so all copied parts fall under copyright, because you
copy them into main memory)
Changing a file of an library is a derived work of that file and hence
of the library itself. (Well, here are complicated exceptions thinkable
and only the file is derived work and not the changed library)
Adding a file to the library can be considered a drived work(same
complicated exception apply), so you would just make two libraries,
thats not a derived work as the original one is untouched.
Now you link both libraries to an executeable -> derived work, of the
original library: because it is in the executeable, not because there
might be ANY relation of your library code to the original library code.
Finaly: calling routines in a library is NOT "derived work".
Period. It is not important wat you THINK, its important what the law
Linking with that library is the only process creating a derived work!
So if you use a GPL library, make it a dynamic one, distribute it under
GPL as you are forced to do so by the license, and distribute your
program with an installation script that fetches the library from the
internet anywhere. Your program is then during the time it is
distributed NOT a derived work, but during run time it is :-)
P.S. no, I'm not a lwawer, but I work in that area for years. (Basicly:
I can not get why you all write code, write/read licenses, sell code,
gpl code and and and, and no one seems interested to look into the legal
framework his work is placed in. Its not even important if that legal
framework is everywhere the same, most do not understand the
international copyright treaties only have one goal: is your work
copyrighted under US law, "in germany" your right is honoured. Is my
work under german copyright law copyrighted, my rights are honoured in
the US. Even because both rights differ substantial. Just get a book
with copyright law, the german one has 143 Paragraphs, most of them are
3 or 4 lines. In total it might have 80 pages, where 20 are important
for you. I would think the US one is smaler.)
Angelo Schneider OOAD/UML Angelo.Schneider at oomentor.de
Putlitzstr. 24 Patterns/FrameWorks Fon: +49 721 9812465
76137 Karlsruhe C++/JAVA Fax: +49 721 9812467
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3
More information about the License-discuss