Richard Stallman's schtick with copyleft isn't so much to lock a particular program into a Free Software license, it's to use Free Software as a cudgel to demand licensing concessions from other software vendors.

An obvious example of this would be GPLv3's anti-TiVo clause, although in that particular case there's a direct connection between locking down hardware and your nominal right to modify the software being practically curtailed. The bargain the GPL tries to strike is "you can do whatever you like with the program as long as you don't restrict the user's freedoms to use, distribute, or modify the program". GPLv2 only talks about legal restrictions to user freedom, v3 extends that to curtail technical restrictions, too.

One oft-overlooked controversy is that of GNU readline. You see, RMS decided specifically to release readline as a GPL library so that anything that used it had to be GPL, too. This actually worked - for example, CLISP relicensed itself specifically to comply with GPL terms on readline. There's an old e-mail thread between RMS and CLISP's author, Bruno Haible, which I'm going to have to make an extended quote of as it's really telling:

(quoted from https://web.archive.org/web/20131111095101/http://clisp.cvs....)

Bruno: I could provide a libnoreadline.a and let the user choose to link lisp.a with either GNU's libreadline.a or my libnoreadline.a . Would that convince you that lisp.a "can be reasonably considered independent and separate work" ?

RMS: No, and I doubt it would convince a judge either. I'll have to insist that you stop using readline unless you make the program free.

Bruno: If someone was to turn the readline library into a shared library (a library that is needed at runtime by the executable, but not contained in the executable): Would that mean that any executable that uses a readline shared lib would have to be accompanied with full source?

RMS: Yes. The sum total of what you are doing is still tantamount to distributing one program which contains readline but is not under the GPL.

Bruno: So the only reason why you may object is that my lisp.a has an INTERFACE that allows it to be linked to libreadline.a . As far as I know, only the readline CODE is copyrighted, not its INTERFACE. (Would you object because my libnoreadline.a has a similar interface?)

RMS: I say this based on discussions I had with our lawyer long ago. The issue first arose when NeXT proposed to distribute a modified GCC in two parts and let the user link them. Jobs asked me whether this was lawful. It seemed to me at the time that it was, following reasoning like what you are using; but since the result was very undesirable for free software, I said I would have to ask the lawyer.

What the lawyer said surprised me; he said that judges would consider such schemes to be "subterfuges" and would be very harsh toward them. He said a judge would ask whether it is "really" one program, rather than how it is labeled.

---

RMS doesn't entirely answer the question about interfaces, because he responds with an example about NeXT, but I can smell the same logic here. Bruno is asking if APIs carry copyright, and Richard Stallman does not say no. He specifically argues that the existence of a version of CLISP that can be linked with readline is enough to trip the GPL. This is dangerously close to the Oracle v. Google case, played out 30 years ahead of it's time on a private mailing list between two people who really shouldn't be fighting.

The only reason why RMS doesn't explicitly say "yes APIs are copyrightable" is probably because...

1. Arguing against Free reimplementations is hypocritical - especially today when we have three non-GPL readline implementations.

2. Bruno decided to GPL CLISP anyway (because Linux was getting lots of contributions).

I'm surprised the FSF hasn't commented on this case further, though I can imagine why. Seeing the absolute stalwart of Free Software argue in favor of Larry Ellison has been a huge yikes moment for me. In fact, one way to interpret Oracle v. Google (in the light of OpenJDK existing), is that of a massive GPL compliance lawsuit. Free reimplementation is how we got GNU and BSD; but RMS being any kind of right here imperils the right to reimplement... all so that Steve Jobs couldn't extend GCC.