3 ms·
I have serious doubts that this is true, because (a) the text of the GPL itself is insufficiently clear on this IMHO; and (b) dynamic linking is literally just
by torstenvl 4y ago
I have serious doubts that this is true, because (a) the text of the GPL itself is insufficiently clear on this IMHO; and (b) dynamic linking is literally just a declaration of an API you want to use and where the dynamic linker should look for that API provider, but APIs are, at least in some cases, fair use. See Google LLC v. Oracle America, Inc., 593 U.S. ___ (2021) available at https://supreme.justia.com/cases/federal/us/593/18-956/ https://supreme.justia.com/cases/federal/us/593/18-956/
You can easily make a binary that will use GNU libreadline, if it exists, without ever installing GPL software on your machine, let alone using it in compiling your distributable binary.
freebsd% ls
readlineshim.c readlineshim.h test.c
freebsd% cat test.c
#include <stdio.h>
#include "readlineshim.h"
int main(void) {
char *name;
name = readline("What's your name? ");
if (name) printf("Hello, %s!\n", name);
return 0;
}
freebsd% cat readlineshim.h
char *readline(const char *p);
freebsd% cat readlineshim.c
char *readline(const char *p) {
return ((void *)0);
}
freebsd% cc -c -fPIC readlineshim.c -o readlineshim.o
freebsd% cc -shared readlineshim.o -o libreadline.so
freebsd% cc test.c -o test -Wl,-rpath-link=. -L. -lreadline
freebsd% ./test
ld-elf.so.1: Shared object "libreadline.so" not found, required by "test"
At this point, test.c has been compiled into a distributable binary without linking any GNU software, but it requires GNU software to run...
freebsd% sudo pkg install -qy readline
freebsd% ./test
What's your name? Lee
Hello, Lee!
freebsd%
Since GNU software is only required to run the program, then either (a) FSF's claim to cover dynamically-linked programs is false, or (b) the GPL isn't a free software license because it places restrictions on use.
- josephcsible 4y ago> the text of the GPL itself is insufficiently clear on this The text of the GPL doesn't matter. You aren't required to accept the license of a program if you don't redistribute copies or derivative works of it.
- torstenvl 4y agoThat is emphatically incorrect, and it's difficult to imagine how you could possibly have come to believe that to be the case. It's also irrelevant to the discussion.
- galleywest200 4y agoI do not believe that I have to accept a GPL license for private projects that will never leave my home boxes. Even if I do I will just ignore it since nobody else will use that mess.
- torstenvl 4y agoYes, you absolutely have to abide by the GPL when you are using GPL-licensed code. The text of the GPL does not require you to relicense your modifications under the circumstances you describe; however that is because of what the text of the GPL says, not because "[t]he text of the GPL doesn't matter."
- josephcsible 4y agoWhat part of copyright law gives the copyright holder any power other than limiting distribution of copies and derivative works? If you get an "all rights reserved" program, are you allowed to run it?
- torstenvl 4y ago> If you get an "all rights reserved" program, are you allowed to run it? Only if you have a license... otherwise that's piracy... > What part of copyright law gives the copyright holder any power What exactly are you installing, if not a copy?
- josephcsible 4y ago> What exactly are you installing, if not a copy? That's a copy, but installing it on your own computer isn't distribution.