Hi Dave... 8^)

David Grothe wrote:
At 01:47 PM 8/6/2003 Wednesday, John A. Boyd Jr. wrote:

First, if we're voting again, I agree with Dave over Linus' apparent
disagreement, with all due respect to Linus, in this regard: avoiding
inlining is not a sufficient condition for avoiding GPL, but it is a
necessary one in technical terms.  Code that is inlined is code that
is included in the work in question, and thus certainly makes it
derivative.  (That's a legal opinion, though I'm not a lawyer, but
one who has been involved with this very legal issue as a "party
with standing.")


The whole notion of "derivative" is a little odd in these discussions. Is my X.25, dating back to 1980, a "derivative work" of Linux because it uses an inline function for spin locks? (It doesn't, it uses the LiS abstraction.) Doesn't seem intuitive, does it?

I think the concepts can be understood intuitively if the basics are
understood.

In US law, ideas require patent or trade secret protection; neither
applies to open intellectual property.  What does apply is copyright,
which is protection of an expression.  The concept of a spin lock is an
idea; an implementation of spin locks is an expresision.

If you ported your old X.25 implementation of spin locks, then to the
extent that it is the same, it is a derivative work (it is the same
work if not modified at all, but derivative if modified, beginning with
the prior expression).

For that matter, can LiS be considered a "derivative work" given that it is implementing a specification (STREAMS) that was in existence quite before the Linux project ever started? There is no sense in which anybody started with Linux and then "derived" LiS.

The specification could be considered an expression in its own right,
were it "published" in that form.  Indeed, that is the case to some
extent.  The important point is that LiS is not a derived specification,
or even the same specification - it is an implementation of the
specification, and thus an original expression of a different sort.

Apples have to be compared to apples where this issue of expression is
concerned, and as far as I know, LiS as an implementation of STREAMS is
original, though it seeks to comply with a common, effectively open
specification.

Nothing in copyright law could prevent this,  If you have legal access
to a copy of those original specifications (e.g., SVR4 STREAMS
manuals and the like), then what you can't do automatically do (unless
a license grants you rights to derivative work) is publish the same
material again, but you can use it to implement something that complies
with it.

The specification itself, as expression in copyright terms, has more to
do with things like man pages.  In that regard, those I wrote some time
ago were entirely original; they were written from my code and the rest
of LiS, not (so much) from prior specifications, except for gauging
compliance.  Brian's pages, by contrast, are derivative works at the
same level because they include my prior work essentially verbatim.

The very portability of LiS should be technical proof that it is not "derivative" of Linux.

To some extent, this is indeed true, but not necessarily so.  Portions
of Linux could be copied into LiS and used portably, to the extent that
they are portable themselves.  And if that is done, it makes LiS a
derivative work.

If LiS uses kernel inline functions does that give Linus standing to claim full GNU coverage for LiS, even though it is a separate module? And is that standing transitive to binary STREAMS drivers that access the kernel only through LiS? If linked in with LiS? If implemented as separate modules? Or do Linus' own statements on the subject negate any such claim? And what about kernel subsystems written and copyrighted by others?

Is a plate of spaghetti easier to untangle than all of this?

The simple and overriding question is: what "expression" does an
"author" produce, and to what extent is that "expression" original to
the author, as opposed to a copy of another author's "expression?"
.
It's actually the Constitution in this country that settles the basic
question (Article I Section 8 clause 8):

        "The Congress shall have Power ... To promote the Progress of
         Science and useful Arts, by securing for limited Times to
         Authors and inventors the exclusive Right to their respective
         Writings and Discoveries;"

This got fleshed out in federal law to the notion of an "expression" as
something that could be copied (as opposed to an idea) and then into
licensing of copyrighted work as a means whereby Authors/inventors
could retain exclusive rights without having to sacrifice ownership,
by granting a license to use a work of expression in any explicitly
enumerated manner of use, while potentially reserving other explicit
manners of use.  The most confusing of these enumerated manners is
that of "derivative work," since it does muddy the line between what
is the original and what is the copy.  The current law settles this
question piecemeal, i.e., each author owns what each author has
produced and still remained unmodified in the work in question,
to the extent that licensing terms do not speak to this issue.  The
whole point of the GPL, however, is to speak directly to this issue.

For me, it simplifies this issue to think about permission.  If one
can gain permission to use a work without giving away any ownership
of derivative works, then any derivative works are the property of
the derivor, not the original author.  But if that permission carries
an explicit condition to the contrary, the condition takes precedence,
because the original author did not have to grant permission not to
his or her liking in the first place.

In contract terms, I think of licenses as unilateral contracts;
they need not be negotiated; they are not bilateral in that regard.

The point of all of that (as background) is that an author can set
any licensing terms he/she so chooses, and a licensee has no choice
but to comply with them, given that they are reasonable.

Since copyright is selective where derivation is concerned, the author
of an original work cannot automatically claim ownership of derivative
works unless such a claim was made explicitly as a condition of access
to the original work, i.e., if permission was granted to a copy of the
original only under the condition that any derivative was to become
property of the owner, or otherwise subject to the owner's license.
Copyright law does not allow implicit transfer of ownership; any
transfer of ownership of copyrightable work must be in writing, and
agreed to by the parties involved.  In this case, the author of any
potential derivative work must be aware of and must agree to a transfer
of the the derived portions to the original author, otherwise they
maintain separate ownership rights to their respective portions of
the derived but collective expression, each owning the portions they
produced.

So yes, it makes for spaghetti.


But on the subject of what would be sufficient, I want to ask you a
question, Dave.  From a legal perspective, was is a good idea to
obsolete the system call interfaces?  I suspect that having them there
in usable form, even if not normally used, would support the legal case
that the appropriate barrier has been observed, as a matter of due
diligence.


I don't see the distinction. LiS is a file system and can give any semantics to "read" and "write" that it sees fit. It could interchange their intuitive meanings, and though confusing to the point of being useless, it is a matter for the file system implementor to decide.

Your confusion is about the distinction between idea and expression.
But you arrive at the right point; an implementation is an expression,
and thus the property of the author (ignoring details like use of
patented ideas, direct copying of other expressions, or licensing
terms regarding derivations on expressions used for derivation).

If the license by which LiS gained access to kernel interface code
and/or specifications required that any use not restricting itself
to syscall interfaces thus becomes subject to the license covering
the original work, then by agreeing to that original license, LiS
is subject to comply with these terms.  In the absence of these
terms in the original's license, however, the implementor's work
would be entirely the implementor's property to license as the
implementor sees fit.


And following from that thought, it occurs to me that the Linux kernel
does not fully support a pure syscall relationship with the current
LiS, notably in the case of FATTACH/FDETACH, which are syscalls in
most Unix kernels but are not allocated in the Linux kernel.  I
don't really want to go there myself, but it would seem to me that
providing a full syscall barrier would require that these be added
to the kernel.


I think that read, write and ioctl are a sufficient system call barrier.

Unfortunately, it may not be up to you to make that determination.


I think that if the question ever came up in court, one seeking to
show LGPL but not GPL coverage would have to demonstrate due
diligence towards meeting the explicit requirements of the LGPL
as exclusive from the GPL.  Thus, this effort must be made and
documented if that is the desired end.  If it then fails, it would
probably satisfy a court that every reasonable attempt was made.


Actually, being the primary copyright holder for LiS, the licensing terms are just what I say they are and need no justification. LGPL was handy and compatible with the Linux environment, and was agreed to by all of the original authors of LiS. It is always the plaintiff that has the burden of proof. So it would have to be up to Linus, or others, to prove that LiS violates the kernel's GNU license in some way. It would be guaranteed to get tangled given the different, somewhat contradictory, statements that Linus has made on the subject over the years.

Your first sentence is true absent the caveats I've mentioned.  But
again, the wrinkle in the GPL, and its very purpose, is that the caveats
matter.

As for burden of proof in copyright disputes, the burden of proof is
almost entirely on the alleged infringer.  Both parties have a burden
to demonstrate ownership claims and the presence or absence of valid
license agreements, but to the extent that those things are not at
issue, an infringer must comply with the licensor's terms even if the
infringer had no knowledge that licensed work was being used in a way
that constituted infringement, and the licensor is entitled to relief
from an infringer if a judgement of infringement is found.  That amounts
to a rather extreme case of guilty until proven innocent, compared to
more normal matters of law.

Again, a license agreement amounts to a unilateral contract, flowing
from the Constitutional protection of Authors.  Whatever terms the
author spells out in an explicit license must be complied with,
assuming that due diligence on the part of the alleged infringer
would have made the infringer aware of the license and allowed for
compliance with it.  It's a tough standard, but it is the standard.

-- Dave




_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to