Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 2002 16:14:36 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Hans Reiser <reiser@namesys.com>
Cc:        hiten@uk.FreeBSD.org, Chris Mason <mason@suse.com>, Josh MacDonald <jmacd@CS.Berkeley.EDU>, Parity Error <bootup@mail.ru>, freebsd-fs@FreeBSD.ORG, reiserfs-dev@namesys.com
Subject:   Re: [reiserfs-dev] Re: metadata update durability ordering/soft updates
Message-ID:  <3C9E6BEC.B2EB8D86@mindspring.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <distribute newspapers> <distribute leaflets>"

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C9E6BEC.B2EB8D86>