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.
Unfortunately, it may not be up to you to make that determination.
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.
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
