>In short, Apple publishes free software, generally because they either (1) have to, due to GPL, or (2) feel the gain from the project is bigger than the cost of having to maintain a separate branch, so it makes perfect business sense.
How is that different from any other company? Don't companies release free software when a) they are forced to, or b) they feel they have something to gain?
I would not be surprised if they get worse and worse over time in giving back to LLVM.
In short, Apple publishes free software, generally because they either (1) have to, due to GPL, or (2) feel the gain from the project is bigger than the cost of having to maintain a separate branch, so it makes perfect business sense.
(I am not criticizing that Apple has published free software and that is a good thing in general, regardless of the intent, but to say that they don't have their business interests in mind at all times and they fundamentally care about free software more than Microsoft is simply not true.)
---
[1]: http://www.phoronix.com/scan.php?page=news_item&px=MTY0NzE
[2]: In our own experience developing techniques to uncover more than a hundred bugs in production GCC and LLVM (http://mehrdadafshari.com/emi/paper.pdf), we found GCC folks much more responsive to bug reports than Clang/LLVM folks, of which I draw the conclusion that the project is relatively under-resourced, at least in parts that are less relevant to Apple Darwin x86/64/arm backend.