"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.
So I went back to Jobs and said we believed his plan was not allowed by the GPL.
The direct result of this is that we now have an Objective C front end. They had wanted to distribute the Objective C parser as a separate proprietary package to link with the GCC back end, but since I didn't agree this was allowed, they made it free."
(from http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-...)
I'd be curious to hear more firsthand details from any parties involved. There's a widely held perception that this was a really divisive and drawn-out fight that left a lot of bad blood on both sides, but based on RMS' account, it wasn't. RMS' account just sounds like Jobs contacted him about it, said "is it OK if we ship it this way?", RMS checked with his lawyer and responded, "no, you need to ship it this other way to comply with the GPL", to which Jobs' replied, "OK, we'll do it that way then".
To be fair, I don't think Apple was ever interested in software freedom. This is pretty obvious from their actions since that time (moving away from utilising software under the GPL). But I've never heard anyone other than developers complain about it. From a business perspective, it makes sense -- a license is a license. You don't want to pay the price, you don't get the license. I got the sense that Apple's management understood this principle completely.
From the FSF's perspective, they got an Objective-C front end for GCC and they were particularly happy about that. It was a kind of triumph because the GPL did its job. Objective-C programmers had a free platform to work with, which never would have happened if GCC had not existed and was not GPLed. One can argue that these days more and more companies understand the benefits of open source development and might contribute large pieces of code willingly, but that certainly wasn't the case in those times.
I would also be interested in first hand views, but from my perspective, it was always a non-issue.
NeXT wanted to keep the Objective-C frontend to GCC proprietary, but Richard Stallman believed that would violate the GPL.
I know, it's terrible: NeXT had to contribute back to a community they only wanted to take from.