[development] Modules that integrate non-GPL PHP apps violate the GPL.

Thomas Barregren thomas at webbredaktoren.se
Sun Sep 2 14:41:58 UTC 2007


You said that "...there is a legal difference between 'statically 
linked'  and 'dynamically linked' (DLL) code." And "[t]hat's why the GPL 
and LGPL exist as  two separate licenses."

Since I am not aware of a *legal difference* I wondered if I might have 
missed some subtlety. After all, I am not a lawyer. So that is why I 
asked you to "explain this 'legal difference'." Unfortunately, I didn't 
find the answer in your otherwise very interesting, but partly wrong, reply.

I claim that there is no legal difference between statically and 
dynamically linked code. Let us assume you have developed a program P 
which depends on objects or functions in a library L. Also assume that 
you have obtained L under GPL. Now, it doesn't matter whether P links to 
L at compile time (static linking) or at runtime (dynamic linking). You 
are in both cases obliged to use GPL when distributing P.

In fact, the preamble of LGPL v2 explicit states that there is no 
difference between statically linked and dynamically linked (a.k.a. 
shared) libraries:

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

As a corollary, I claim there is another motivation of LGPL. Quoting 
LGPL v2 again:

    For example, on rare occasions, there may be a special need to
    encourage the widest possible use of a certain library, so that it
    becomes a de-facto standard. To achieve this, non-free programs must
    be allowed to use the library. A more frequent case is that a free
    library does the same job as widely used non-free libraries. In this
    case, there is little to gain by limiting the free library to free
    software only, so we use the Lesser General Public License.

    In other cases, permission to use a particular library in non-free
    programs enables a greater number of people to use a large body of
    free software. For example, permission to use the GNU C Library in
    non-free programs enables many more people to use the whole GNU
    operating system, as well as its variant, the GNU/Linux operating


More information about the development mailing list