Apple compiles OS X and almost all of its software with gcc. I still find it hard to believe that such a secretive company builds almost all of its software products using gcc, the compiler that anchors the Free Software movement.
Apple’s uses Objective C because NeXT used Objective C. When Steve Jobs was at NeXT, he didn’t want to place their objc gcc frontend under the GPL, but ended up having to. Here is an excerpt of an email from Stallman:
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.
So that’s why. Via this email thread between Richard Stallman and Bruno Haible about why Common Lisp is under the GPL. Via reddit.
Apple’s move to the GNU Toolchain has been very good for developers (remember MrC and MPW?), but it sure took a long time to get here. Yesterday I remotely debugged an iPhone app using gdb. Spending time in a debugger isn’t usually a very pleasant, but I surprisingly happy when gdb stopped at my first breakpoint…