Is inherited class a derivative work?
David Johnson
david at usermode.org
Fri Oct 19 02:24:04 UTC 2001
On Thursday 18 October 2001 09:04 am, Michael Beck wrote:
> Why are in insisting that "deriving a new class" is equal to "linking to an
> API"? Unless you believe that a class cannot be copyrighted, please see the
> class as a copyrighted entity, the same way as you see a book.
Deriving a new class is equivalent to linking to an API. No question about
it. Just examine the mechanism. If anything, inheritance creates an
additional level of indirection which should make inheritance *less* likely
to cause derivation.
> If we agree that class is a copyrighted entity, then inheritance is NOT
> calling individual functions of that class. If you make changes to the
> class via inheritance - you add new elements, you modify existing elements
One does not inherit the implementation of the class, only its interface. And
the interface is not modified. I cannot modify existing elements except by
actually modifying the source code in the base class implementation.
The base class is in no way modified. All I have done is to create a *new*
interface. Here is an example of inheritance:
class Snafu : public Fubar {
public:
int mogrify(int t);
private:
int n;
};
Snafu in no manner modifies class Fubar. Snafu is a wholly new and distinct
class. Fubar is unchanged. Here is the same class without inheritance:
class Snafu{
public:
int fubarize() { return fubar.fubarize(); }
int mogrify(int t);
private:
Fubar fubar;
int n;
};
> - you are adapting this class to be or do something different than it was
> designed to be or do.
True, but it has little bearing on the issue of derivation. Instead of using
inheritance to adapt the class, I could create a wrapper class with no
functional difference. The second version of Snafu above is a wrapper, but
it does exactly the same thing as the first version.
--
David Johnson
___________________
http://www.usermode.org
--
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3
More information about the License-discuss
mailing list