"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".