Re: GPL and command-line libraries
Jonathan ILIAS <email@example.com> writes:
> Måns Rullgård wrote:
>> It's all about causality. Consider two scenarios, both involving
>> three programs, A, B and C.
>> Scenario 1:
>> 1. A is written.
>> 2. B written, and makes use of A. You argue that B is a derivative
>> work of A.
>> 3. C is written, and is compatible with A. B is clearly not a
>> derivative work of C, since it existed before C.
>> Scenario 2:
>> 1. A is written.
>> 2. C is written, and is compatible with A. C is not a derivative
>> work of A. If it were, most of the GNU programs would be
>> illegal, since they would be derivative works of non-free
>> compatible programs.
>> 3. B is written, and makes use of the interface shared between A and
>> In the second scenario, if B is a derivative work of A, it must also
>> be a derivative work of C, since A and C are equivalent. This
>> conflicts with scenario 1, where B cannot possibly be a derivative
>> work of C. In both cases, we have in the end an identical set of
>> programs, and the derivedness relations between them must also be
>> equal. The only solution is that B is not derived from either A or C.
> AFAIK, as B uses A, B depends on A. At runtime, B cannot depend on A
> and C at the same time. So if B is distributed to be run with A that
> is GPL, B must be distributed under GPL terms.
At runtime, B depends on something that can be provided by A or C, it
does not care which. Just like "make" depends on /bin/sh, not asking
whether your sh is Bash, Solaris sh, or some other sh. They are all
equivalent, and "make" isn't derived from either of them.
> I don't know if in this case B is legally a derivative work of A but
> the dependency seems to be enough to "spread" A's GPL license to B.
Licenses do not spread across interfaces. If they did, virtually
every computer program would be illegal.
If you are indeed right, I will immediately install BSD or Solaris on
my machines, even though many of the GNU tools are better.