[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The Show So Far



Glenn Maynard <g_deb@zewt.org> writes:

> On Tue, Mar 11, 2003 at 12:49:19PM -0800, Thomas Bushnell, BSG wrote:
> > We have already said that, in the context of the GPL, static linking
> > and dynamic linking both make a "single program", and anyone who
> > distributes that program, in parts or as a single whole, with the
> > intention of distributing that "single program", must comply with the
> > GPL as to each of its parts.
> > 
> > The "ASP loophole", it seems to me, is merely another technical means
> > for a dynamic link, and should be subject to exactly the same
> > requirements as for all other kinds of dynamic linking.
> 
> Context:
> 
> >               import java.rmi.*;
> >               ...
> >               // get bar from the network
> >               BarInterface bar =
> >                       (BarInterface)
> >                       Naming.lookup("//rmi.bar.com/Bar");
> >               bar.bar();
> 
> What if "rmi.bar.com" is my computer, and I'm making this interface
> available over my network?  I'm not distributing Bar; I'm just answering
> requests for an interface.  You don't get Bar at all.  The "linking"
> concept is less clear-cut here.

The net result is a single program, or it isn't.  Let's assume that
what you are doing really is just the same kind of thing you'd do with
dynamic linking and making a single program.  Then this is all just a
technical subterfuge.

If this code fragment were then added to a GPL'd program, and
distributed, with the intention that people would run it and thus link
it with rmi.bar.com's non-free code, in order to produce a program
without source, then the result is that the GPL (as it stands *now*)
is violated, just as much as if rmi.bar.com distributed an ordinary
.so.  

And the result is then that the distribution of the
GPL'd-program-with-that-code-fragment-added is in violation of the
GPL, being a knowing contribution to an infringement.

Thomas



Reply to: