Dynamic linking, was: Re: Dispelling BSD License Misconceptions

Ben Tilly btilly at gmail.com
Mon Jan 29 22:37:23 UTC 2007


On 1/29/07, Chuck Swiger <chuck at codefab.com> wrote:
> On Jan 28, 2007, at 12:21 PM, Ben Tilly wrote:
> >> With the appropriate parts of the compiler toolchain (ar, nm,
> >> objdump, etc), you can actually examine the contents, symbol headers,
> >> and timestamps of libraries, object files, and executables.
> >
> > I think that intent enters into it.  Sure, it frequently is possible
> > to divide it back up into pieces, but nobody intends for such a
> > division to ever happen.  Therefore the file is not just a "mere
> > aggregation".
>
> A reasonable position-- I would generally agree that statically
> linking resources into an executable implies an intent to create a
> compilation or derivative work that goes beyond "mere aggregation".

:-)

> On the other hand, it is possible to include (link in) a library from
> which no symbols are being referenced (via GNU ld's --whole-archive
> option, for example)...and this can be done at any time, including
> after an executable has been created.
>
> Let's suppose someone who holds the perspective that "any linking
> against a GPL'ed library means that the associated binary must be
> distributed under the terms of the GPL, even if the executable does
> not depend on that GPL'ed library"-- such a person could relink any
> given proprietary binary against GNU readline and then demand that
> the vendor of the proprietary program release their sources, even
> though the binary does not know about, use, or depend on GNU readline
> in any fashion when originally distributed.

Not so fast.

In this case "must" is a requirement on the person who wishes to
redistribute, not a requirement on third parties who may have
copyrights involved.  Therefore there is no basis for a demand.

What I mean by that is that the person who did the relinking has no
permission to distribute the result unless it can be GPLed, but
relinking in no way obligates the proprietary vendor to give
permission to GPL that binary.  Since the vendor is unlikely to give
their permission or source code, the relinked binary is unlikely to be
legally redistributable.

> [ I don't think the vendor of the proprietary binary would have any
> obligation or responsibility for actions which lie completely outside
> of their control; it would be the responsibility of the person doing
> this linking to either obtain the sources or to refrain from
> redistributing their modified version if the result was not in
> compliance with the GPL's requirements. ]

Exactly.

> > And sometimes such a division is not possible.  The
> > difference between those two cases takes more skill to determine than
> > the vast majority of computer users possess.
>
> Oh, certainly.  But courts may well pay attention to facts which may
> not be significant or discernible to a layman but are evident to
> expert examination.

True.  However it all rests on what is considered "mere aggregation".
I'd be surprised to see a court rule that linking was mere aggreation.
 Particularly given the fact that the FSF has made it very clear that
they *don't* think that linking is mere aggregation, and nobody has
challenged them on that.

[...]
> > In any case you raised a number of interesting points in that email.
> > A key one is that in your opinion distributing a hyperlink to the GPL
> > along with a GPLed file should count as distribution of the GPL
> > license.  While this seems like a reasonable practice, it doesn't
> > match my understanding of the GPL that one can merely offer the
> > license text in place of giving the license text to the recipient.
> > (The license says that one must give the recipient the license.)
>
> Yes, it does.  If you've redistributed GPL'ed software such as
> JavaScript code, CSS, etc, then you need to provide the text of the
> GNU General Public License to the recipients.

Excuse me?

When I said that it doesn't match my understanding, I meant what I
said.  It doesn't match my understanding.

> To me, that means you need to make the text downloadable as a
> normal .txt or HTML file from the site which offers the GPL'ed
> software, not that you need the whole text of the GPL on every single
> page of the site, or included with every single resource files which
> comprises the site.  After all, you can GPL image resources like PNG/
> GIF/JPG/etc files, but the image file formats do not lend themselves
> to including the GPL text with these image files...

You've just repeated your understanding.  However you haven't changed
mine.  I don't think that telling someone where they can find the text
to the license is equivalent to actually giving them the license.

Cheers,
Ben



More information about the License-discuss mailing list