How To Break The GPL

Schilling, Richard RSchilling at
Sat Mar 4 00:29:27 UTC 2000

Generally, if the program Alice writes for Bob references *anything* in the
GPLed library, Bob's program could be considered a deriverative work.  If
the program Alice write does not reference anything in the GPLed library,
there is no point in linking to it in the first place.  

Another way to look at is:  By definition, a program is defined by the
libraries linked into it.  SO, a library which is linked into an executable
program becomes part of the program in the computer's memory.  It therefore
is a deriverative work, since the program without the linked library is not
the same program.  That goes for the operating system functions also.  It
simply is not possible for a program to call a "GNU licensed" operating
system function, and not have that "GNU licensed" operating system code
included in the program at run time.

Here's why Alice is breaking the GPL:

	In order to use the GPLed library in the first place, Alice needs to
insert code into Bob's programs which calls one or more functions in the
GPLed library.  In doing so, she has technically made a deriverative work of
the GPLed library.  For example, if the GPLed library has a function called
gnu_printf() in it, Alice must call it with code that looks something like

void alices_nice function(){
	gnu_printf("Hello world.");

This is true for any function defined in the GPLed library, as well as

Richard Schilling

-----Original Message-----
From: Ken Arromdee [mailto:arromdee at]
Sent: Friday, March 03, 2000 9:44 AM
To: license-discuss at
Subject: Re: How To Break The GPL

This basically sounds like "user does the link".

The FSF takes the position that if you distribute software that can only be
run by linking it with something GPLed, your software is a derivative work
the GPLed software even if you don't include any parts of it.  So by these
standards, Alice would be distributing a derivative work, so she would be
one violating the GPL.

Of course this position has some other unpleasant consequences too; for
instance, a program designed only to run with Microsoft Windows DLLs is
a derivative work of Windows, which means that Microsoft can deny you the
legal right to write Windows programs.  I wrote to RMS asking him about just
this scenario, and his reply was basically that this is correct, but that it
is not in the interests of the makers of proprietary operating systems to do
that.  (I didn't buy that--it wouldn't be in Microsoft's interest to ban
Windows software, but it would be in their interest to ban, say, Word
or Netscape.)

More information about the License-discuss mailing list