Subtle difference: Apple and IBM have made use of free software such as FreeBSD, CUPS, Webkit, etc. Microsoft here is taking core technology and releasing it as free.
Correction: Webkit wasn't some software Apple made use of. Apple created Webkit as we know it. What they DID use was KHTML, a far more barebones web rendering engine used in KDE, that Apple adopted, and turned into Webkit. Webkit as Apple had it (before Google stepped in) was an order of magnitude more evolved than KHTML.
The raison d'etre for Apple's LLVM-based compiler was avoiding GPL3 restrictions of having to publish source code, it seems. They are frequently laggards in publishing parts of LLVM they care about and think of as competitive advantage (e.g. ARM64[1]), and they seem to not contribute much to parts of LLVM that they don't use themselves[2] (not that I find anything wrong with it, but portraying them as innate altruists is just not gonna fly.)
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.)
[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.
>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?
Apple has made Darwin open source. That, WebKit, and LLVM are pretty core technologies. A good portion of their technology is open. So, it's not just using free software and not giving back.
Darwin is open source but is there anyone here who has actually used it or got a bootable usable machine from it? I mean, can you even run X on it successfully? I never could (didn't try very hard mind you).
The release of Darwin isn't a massive thing I don't think.
There have been several independent ones because they all fail. I don't fully understand the dynamics here, but the inability of the community to create a usefully working OS out of all that open code for over a decade speaks volumes.
I wonder if it is because it never gained enough intertia when Macs are good enough with the Mach kernel etc.? I wonder why the varieties of Darwin didn't catch on?
I think a free software operating system binary-compatible with OSX drivers and source-compatible with OSX applications (through GNUStep) would be an exceedingly compelling product. Which is why people keep trying to make it happen. I don't think it helps that you need XCode to compile a lot of the source that Apple releases, which means you need a Mac.