[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [GPL] No linking with proprietary programs: where?



On Thu, Mar 16, 2000 at 01:36:35PM +0100, Stephane Bortzmeyer wrote:
> On Tuesday 14 March 2000, at 23 h 6, the keyboard of Fabien Ninoles 
> <fabien@Nightbird.TZoNE.ORG> wrote:
> 
> > a good example. IMHO, even if I consider such a client not free (because
> > it depends on a non-free server), the client itself is considered DFSG
> > compliant.
> 
> In this specific case, I was mostly interested by the GPL (is it legal or is 
> it a violation of the GPL) and not by the DFSG.

I based my case on previous discussions on debian-legal (the tik client) and
was more concerned about freeness than the GPL. BTW, I remember reading or heard
something by rms about this concern, and he said that this should be address in
the GPL v3. So, I think it's currently not clear or even legal.

> 
> > making a library link is close enough to be considered a true dependance
> > but every other communication link are simply fair use of the program.
> 
> OK, but I've not found this distinction, this line you draw, in the GPL.


  This License applies to any program or other work which contains a
  notice placed by the copyright holder saying it may be distributed
  under the terms of this General Public License. The "Program", below,
  refers to any such program or work, and a "work based on the Program"
  means either the Program or any derivative work under copyright law:
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  that is to say, a work containing the Program or a portion of it,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  either verbatim or with modifications and/or translated into another
  language. (Hereinafter, translation is included without limitation in
  the term "modification".) Each licensee is addressed as "you".

It seems that linking the library into a program is like inserting a part
of it into the program (even if this linking is dynamic). However, interpret
this way, this can also make 'executing the program through popen' illegal.
The LGPL explain it this way:

  When a program is linked with a library, whether statically or using
  a shared library, the combination of the two is legally speaking a
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  combined work, a derivative of the original library.  The ordinary
  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  General Public License therefore permits such linking only if the
  entire combination fits its criteria of freedom.  The Lesser General
  Public License permits more lax criteria for linking other code with
  the library.
  
I think it means that because you use the library in a particular way
(which make your program), your program is a derivative work of the
library.
  
>  
> > This lead to some problem where you can use a GPL library if you put
> > a GPL scripting interface over it and use the script interface in a
> > non-GPL program. 
> ...
> > which let you say that such a
> > program is free if it achieve all its functionalities without
> > depending on any non-free components. 
> 
> Bad criteria, since it depends on a third party.
>
> Let's assume I write a not-GPL-compatible interface whose sole purpose
> is to run a program. It popens a GPL program. It is illegal. Now,
> someone else, unrelated with me, write a command-line-compatible
> non-GPL program and suddenly my interface is legal?
>

OK, I see two issues:
A- <GPL program/library> used by <not-GPL program>
B- <not-GPL compatible program/library> used by <GPL program>

Your concern was about A and I'm speaking about B. About A, I'm not
sure if popening a program make the two programs a combined work. How
much is it different from dlopen(3) or create_module(2)? The former
is considered a violation of the GPL, the later, under linux, is
explicitely state as being legal. So popen shouldn't be considered
legal, IMHO. However, doing so will greatly restrict the use of GPL
programs under non-free shells not distribute with the system. For your
example, if popening a GPL program required the program to be GPL too,
it will not be legal even if a free replacement exist. A counter example
exist however: Netscape plug-ins could be GPLed AFAIK, even before the
GPLed thing, and most scripts aren't cover necessarely by the license
of the interpreter.

I'm also concern about B which is the case of KDE for example. Could
we create a clone of the neoplanet browser(*) under GPL (which can
only be used with Netscape or IE currently)? Could we write non-GPL
plug-ins to GIMP? That's the point I try to address when talking about
functionalities: Is a program GPL if you need a non-GPL program/library
which aren't part of the system to make it works? AFAIK, in the case
of KDE, if Harmony was usable for making KDE programs works, it will
be OK. I'm not sure about the Motif issue either. Do you known any
program based on Motif that are GPLed? We are now able to link them with
lesstiff but before that, could have made gnu-emacs compiled against
Motif (if Motif wasn't on the system)?

(*): NeoPlanet is a browser that used the ActiveX components of Netscape
and IE to provide them a thematize interface and a commun environment.
-- 
------------------------------------------------------------------------
Fabien Ninoles        Chevalier servant de la Dame Catherine des Rosiers
aka Corbeau aka le Veneur Gris               Debian GNU/Linux maintainer
E-mail:                                                    fab@tzone.org
WebPage:                                    http://www.tzone.org/~fabien
RSA PGP KEY [E3723845]: 1C C1 4F A6 EE E5 4D 99  4F 80 2D 2D 1F 85 C1 70
------------------------------------------------------------------------


Reply to: