From owner-freebsd-fs Sun Mar 24 16:15:23 2002 Delivered-To: freebsd-fs@freebsd.org Received: from avocet.prod.itd.earthlink.net (avocet.mail.pas.earthlink.net [207.217.120.50]) by hub.freebsd.org (Postfix) with ESMTP id 2050F37B400 for ; Sun, 24 Mar 2002 16:15:14 -0800 (PST) Received: from pool0344.cvx40-bradley.dialup.earthlink.net ([216.244.43.89] helo=mindspring.com) by avocet.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16pI8Y-0000kM-00; Sun, 24 Mar 2002 16:14:58 -0800 Message-ID: <3C9E6BEC.B2EB8D86@mindspring.com> Date: Sun, 24 Mar 2002 16:14:36 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Hans Reiser Cc: hiten@uk.FreeBSD.org, Chris Mason , Josh MacDonald , Parity Error , freebsd-fs@FreeBSD.ORG, reiserfs-dev@namesys.com Subject: Re: [reiserfs-dev] Re: metadata update durability ordering/soft updates References: <20020317225759.82774.qmail@web21109.mail.yahoo.com> <3C95ACBA.4040108@namesys.com> <3C95B838.F8ECE39A@mindspring.com> <3C95C8C3.7080803@namesys.com> <3C966CDF.25A7A379@mindspring.com> <3C9E1D6E.3080604@namesys.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hans Reiser wrote: > Terry Lambert wrote: > >Precisely. So you can port it, and the result of the port > >is still GPL'ed. At that point, you can treat it like any > >other GPL'ed code that the original vendor had ported. > > > >You do the port, buy you don't distribute it, so you are not > >required to make sources available. You merely use the port > >internally. > > > >Alternately, you do the port, you distribute it, but you do > > distribute means what? "to give out or deliver especially to members of a group " If you never do this, then the clauses which require source to be given out are never invoked. > >not distribute it linked against your proprietary code. You > >make the end user do the linking, if they want to use it. By > > There is absolutely nothing in the license that makes derivative > specific to linking issues. It's not an issue of derivation. It's an issue of linking. It's put in plain English in the last paragraph: This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. If I link A + B -> C, then C is a derivative work of A and C is a derivative work of B. If you look at clause 2(b), you'll see: You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. The "in whole or in part contains" is the kicker for linking. > >optioning it, you are off the hook for making your proprietary > >source code available, but the end user is not. Since the > >end user never had your source code, the end user can not > >distribute the combined code further. > > No, you have made a derivative work. That you linked it only through a > surrogate means nothing. The user is not a surrogate. If you had written a program, and that did the linkage, then the program would be a surrogate. By leaving it as an exercise for the user, you are in the same position as an distillery or gun or a bolt cutter manufacturer: not responsible for the use to which tsomeone puts your product. > Consider what will happen as we move to NUMA/cluster/distributed > computing architectures. Linking will become less and less meaningful, > because programs will be composed into wholes much as functions are > composed into wholes currently. This is perhaps why the GPL doesn't > say that if it isn't linked, it is okay. At this point, they will have to use the "escape to a new version" mechanism in clause 9 to keep the license relevent. The initial LGPL failed to take into account dynamic linking; it still doesn't take into account data interfaces, or initialized data, which end up as part of the program image (the curses library has a number of external variables, and there are always declarations changes on "errno" and "syserrlist[]"). > I think it is a real problem that people can't easily get a good > authoritative definition of what is and is not a derivative work > when they need to make their decisions. At least in the U.S., there is a very clear legal definition, having to do with both overall percentage of code, and centrality of the code to the resulting work. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message