Frank Hecker wrote:

> You appear to want to make an analogous distinction between a "work that
> subclasses a class" and a "work that uses a class". So maybe what you

The entire idea of "inheritance-scope" is too easily circumvented.

Suppose class A is covered by such a license. If I create class B which
inherits from class A, then I have to release class B. I can avoid this
by creating a new class A' which has an interface similar to class A,
and which simply uses class A rather than inherits from it. Now I can
let class B inherit from class A' without having to release anything.
This is a simplified version of the Bridge design pattern (see "Design
Patterns" by Gamma et al.)

Reply via email to