lilypond-user
[Top][All Lists]
Advanced

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

Re: Lilypond \include statements and the GPL


From: Alexander Kobel
Subject: Re: Lilypond \include statements and the GPL
Date: Tue, 02 Apr 2013 11:07:06 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120419 Icedove/11.0

On 04/02/2013 10:04 AM, Joseph Rushton Wakeling wrote:
On 03/30/2013 01:02 AM, Alexander Kobel wrote:
On the other hand, user C /should/ be allowed to distribute source code under
whatever license he wants to /as long as he doesn't ship the GPL libraries with
it./  It's useless without them, but anybody who wants to run or compile the
code is free to download the necessary GPL'ed stuff.

If I write a computer program which uses functions from a GPL'd library, it
doesn't matter whether I distribute an executable or just source code, and it
doesn't matter whether I distribute the source code alongside the GPL'd
libraries or as an individual file.  It's a derivative work under the GPL and
must be licensed accordingly when distributed.

See: https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL

This certainly applies to compiled code, with the GPL'ed library statically linked, and also (I stand corrected) with dynamic linkage, AFAIU. I still cannot see how it /could/ possibly apply to source code:

Case 1: If I write a C or C++ application which needs, say, some numeric functionality, I can get it from Eigen, Intel MKL, ATLAS, CUDA-based BLAS, .... (I don't know the exact details, but I'm pretty sure that some basic functionality can be achieved with the same syntax for all of them.) In that case, it's not even clear /which/ library the code /could/ be linked against (just assume that the headers included are not referenced by library name, but via a pre-compile-time dispatcher or user input at compile time). Case 2: If I want to use CGAL, I have two options to get the library: GPL/LGPL'ed or under an industrial license. The code looks the same - just that the commercial license definitively allows me to distribute the code. But once it's distributed, it cannot be distinguished from the same source code, using the free license. Does that mean that whenever someone looks at that code and used GPL'ed CGAL, my code suddenly goes GPL??? Case 3: Assume I reimplement some API and functionality of a non-open library as a GPL'ed work. Again, whether the application uses the former or the latter library cannot be distinguished until somebody compiles with one of them.

In that sense, I have the feeling that the source code license cannot interfere with the library license, unless parts of the library are copied in the source code. The source might be useless without the library, but still. E.g., is it really the case that the boost project would never be allowed to include wrappers to GPL'ed libraries?

(Sorry for the strange examples; I first thought about something like the STL, but this qualifies as a system library, which - for good reason - has an exception.)

Perhaps you are thinking of e.g. the case with UNIX shell scripts, where e.g. I
can write a script that calls GNU sed without having to license my script under
the GPL.  But this is because there's no dynamic linking that takes place when I
do so -- I'm starting an independent process and receiving its output.

See e.g.: https://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

I see your point, but I don't see how what you explained to be the GPL notion could actually be enforced...


Best,
Alexander



reply via email to

[Prev in Thread] Current Thread [Next in Thread]