Static v. Dynamic Linking -- redux

Emiliano emile at
Fri Mar 15 22:08:09 UTC 2002

Lawrence E. Rosen wrote:

> That said, and after some reflection, I would now argue that the trivial
> conversion of a static link into a dynamic link or API interface, simply
> to get around the provisions of the GPL, won't work.  The court would
> hear from a parade of experts who would explain that the intent was
> clearly to circumvent the license.

I am totally uneducated in the matters of license legalities, but is it
actually illegal to circumvent a license? If the wording of the license
allows a particular use, will the court read the letter of the license
or the spirit of the license?

> The creator of the derivative work
> would have to present convincing evidence that the linking method was
> chosen for an appropriate purpose related to the application he has
> written.

To take matters a bit further: if I didn't wrap this DLL in a thin layer
of COM, but instead made it available as a web-service through IIS,
would that change matters? Because web-services too are drop-dead simple
to create and access in the windows environment (esp. with the upcoming .net
stuff). It is decidedly an entirely remote (soap) service, you can call
it by hand if you so desire... but I could use it in any .net
application as were it a native component. In the source code you can't
even tell the difference.

> I say "almost completely" because I think the burden of proof should
> shift to the creator of an alleged derivative work to demonstrate either
> (1) the DLL was designed and intended to be invoked dynamically by
> programs that are not "derivative works" of that DLL, or (2) the
> proprietary program that invokes that DLL doesn't use dynamic linking
> simply to get around the [GPL] license.

In case of the web or com service outlined above: lets say I have a
piece of GPL (not LGPL) software that profiles documents. I intend to use
this in my proprietary application. The application is not 'designed' to
link against the service; in fact, I can easily leave it out without my
application being noticably worse off. I have allready implemented such
a service, I simply found a piece of GPL code that works better which I
want to plug in.

This is a situation we've met at work; just for the record, this is
_not_ what we're going to do, we've reached a separate agreement with
the copyright holder (that would be you, Derek, if you're tuned in). But
we're still curious as to where this discussion goes. And if this kind
of use does present a loophole, how we're going to plug it.


license-discuss archive is at

More information about the License-discuss mailing list