This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: libguile and readline


Richard Stallman wrote:
> 
>     Dynamic linking does to some extent make a difference here. If I,
>     as a user, dynamically link a GPL'd library using Guile's dnamic
>     linking capability at runtime into a Guile-using proprietary
>     application, I don't believe anyone has violated the GPL.
> 
> Our position is that this does violate the GPL.  We do not give
> permission for our GPL-covered code to be used in this way.

Who is violating the GPL in this situation? There are three parties
involved, the user loading the library at runtime, the author of
the GPL'd library, and the author of the proprietary application.


The user doing the dynamic cannot be violating the GPL, because he 
is only using the GPL-covered library, not distributing it, and the 
GPL only restricts distribution.

The author of the GPL'd library is not. Note that it is a general-purpose
library, not specificly a plugin for the proprietary app. It is useful
with any Guile application (let us assume). He cannot even be guilty of
contributory infringement since there are many free Guile applications his
module could clearly legally be used with.

This only leaves the author of the proprietary app that links against
Guile. This would make the GGPL functionally worthless, since Guile
can link in any library at runtime using the Guile `dynamic-link'
procedure. However, I don't believe this view is tenable, as this would
mean that any proprietary application that gives the user the ability,
through some language or other facility, to link in an arbitrary library
at runtime, is violating the GPL. The fact that Guile is the mechanism
used to achieve this is wholely irrelevant. Indeed, LD_PRELOAD can be used
to achieve this effect on many operating systems, so if this view were correct,
that would mean that all applications are violating the GPL as long as any 
GPL'd shared libraries exist. Conversely it would seem that GPL'd applications
are violating all sorts of proprietary licenses as long as proprietary 
libraries exist. This is admittedly a reductio ad absurdum, but I think it 
illustrates a valid point.

I don't believe that anyone has violated the GPL in this scenario.
If you believe someone has, please point out which of the three parties has
done so and why. I am always eager to improve my understaning of the GPL.

Now, it may be that allowing such combination of GPL'd code with proprietary
code, though not currently forbidden, is a bad thing in some way. But I cannot 
see how it could be prevented unless the GPL were changed to restrict use of 
GPL'd software, not just distribution, by forbidding users to use any facility 
that would cause GPL'd and GPL-incompatible licensed code into the same address 
space. But I think that such a change would make the GPL a non-free license.

 - Maciej Stachowiak