Dynamic linking, was: Re: Dispelling BSD License Misconceptions

Ben Tilly btilly at gmail.com
Sun Jan 28 20:21:48 UTC 2007

On 1/26/07, Chuck Swiger <chuck at codefab.com> wrote:
> On Jan 25, 2007, at 5:52 PM, Ben Tilly wrote:
> > On 1/25/07, Lawrence Rosen <lrosen at rosenlaw.com> wrote:
> > However the complete compiled result is a single program.  You could
> > try to argue that this is "mere aggregation", but I think you'd have a
> > hard time of it.  (For one thing it isn't straightforward to determine
> > what parts of the final result belong to the GPLed piece and what
> > parts do not.  With mere aggregation that should be easy.)
> 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 would
> agree that the information is not readily accessible to a normal
> user, but the information is present and interpretable within certain
> limits (such as whether the executable has been stripped).

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".  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.

> Without the right tools, even a normal filesystem is just a big
> collection of bits; the level of complexity required to understand a
> foreign filesystem's directory hierarchy is not significantly
> different from understanding a foreign binary executable format (ie,
> examining Dwarf or a.out or PE-COFF on a ELF-based system)...

Without the right tools, a CD is just a shiny disk. :-)

> > In an abstract copyright sense I agree with you, but I believe that
> > the GPL's terms draw a practical distinction.  However (and this will
> > be interesting to watch going forward) when you throw in various
> > virtualization technologies, the GPL may have some unexpected
> > consequences.  For instance suppose that I snapshot an image of a
> > running system and copy that snapshot elsewhere.  If that snapshot
> > included GPLed programs, does the whole snapshot have to be GPLed?
> My first take would be no-- a disk image or snapshot falls under GPL
> clause 2:
> "In addition, mere aggregation of another work not based on the
> Program with the Program (or with a work based on the Program) on a
> volume of a storage or distribution medium does not bring the other
> work under the scope of this License."

Again the question is whether this case is mere aggregation.  I can
make arguments both ways.

> > Another case of interest is the web.  Suppose that I write GPLed
> > software that produces a website.  There is no question that the web
> > pages that I display include lots of stuff that is part of my
> > codebase.  I think they should therefore be GPLed.  And every time you
> > fetch a page, a derivative work has been distributed.  Does every
> > page, therefore, need to include a copy of the GPL?
> We'd discussed this back in the thread "GPL for JS libraries (Was:
> Re: Redefining GPL?)"  Care to pick the thread up from Message-Id:
> <8A1B049B-8C04-4857-A301-98FB1FD6B0E0 at codefab.com> or shall I excerpt
> the end of that message...?  :-)

I'm not aware of an easy way within gmail to look up messages by
message ID.  Going to the archive, I think you are referring to your
response at http://www.crynwr.com/cgi-bin/ezmlm-cgi?3:mss:11975:200612:pkdkohikcmmfeklkbdhe
which I didn't respond to.  (In large part because I was going on
vacation right then and so didn't have time.)

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.)


More information about the License-discuss mailing list