All things considered, I think there are some companies that are worse to the FOSS community than Apple, but I can't think of one that has Apple's degree of baldfaced cynicism to exploiting FOSS and open standards only to the degree that it benefits Apple, and then throwing them under the bus the instant they're no longer useful.
Apple loved HTML5 when they had to kill Flash and get web developers to support mobile, but then as soon as it became a threat to the App Store, Safari's compliance came to a screeching halt and now Safari is in last place, even behind Microsoft's browsers, in HTML5 support.
OpenGL was useful when it was a way to potentially lure people away from Windows, but as soon as Apple had the clout to not care about it and force develops onto its proprietary API, that's what happened.
I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather than this blatant acknowledgement of FOSS as a tool to be ripped off to improve one's ecosystem dominance and then promptly thrown aside. Makes you wonder what's going to happen if and when Apple no longer needs Clang/LLVM, or, hell, Unix.
> I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather than this blatant acknowledgement of FOSS as a tool to be ripped off to improve one's ecosystem dominance and then promptly thrown aside.
Well, to be honest, Apple has always been quite consistent here. They created their own ecosystem and made interoperability with other systems as difficult as possible, at software and hardware level. So this announcement is quite in line with that.
Mac OS X is based on the closed source NextStep; in many respects, the Darwin kernel is the continuation of NextStep's kernel. A fair amount of the user space code of OS X is from FreeBSD, which to the best of my knowledge continues along merrily open source as ever. Apple actually hired one of FreeBSD's lead developers to manage their BSD technology group.
And, I mean, c'mon. The move from NextStep to Darwin moved the kernel to open source. Webkit? Open source. CUPS? Still open source. Clang and LLVM and Swift? Open source, open source, open source. Apple maintains an open source page. They put stuff on GitHub.
I get some of the hostility toward Apple here; they're not always good at playing with others, there have been complaints about the way they do (or don't) contribute to projects they benefit from. But the narrative that Apple hates everything open under all circumstance and is all about proprietary everything all the time just isn't supported by reality.
Apple has a tiny market share when it comes to 3D applications - OpenGL is mostly the "pro" 3D world, be it CAD, 3D visualization, 3D simulation and similar. None of that runs on Macs, everything is Windows/Linux these days.
So there will be little "forcing" into their proprietary APIs - the few 3D developers that actually tried to support Mac will kill the platform off because nobody is going to rewrite major piece of software to use Mac-only Metal. Too much effort for little to no benefit.
Basically Apple just killed off any 3D support they may have hoped for on Mac. Including any hopes on anything VR related (so much Oculus/Vive fans hoping for seeing a Mac support - it is now even less likely than Linux one ...).
There is a 3rdparty port of Vulkan and I am sure there will be 3rdparty OpenGL drivers (e.g. Mesa) but nobody is going build a CAD system on top of that, IMO. Without official vendor support it is just too risky.
Okay, thats one explanation. The alternate explanation is that Apple supports mature and robust technologies because they want whats in their users' best interest. Neither OpenGL nor OpenCL in their current form are robust. Certainly, that is not to deny that Apple might have a vested interest, but its naive to think that everything is just black or white.
RE: HTML5 - Apple simply made a mistake. Jobs famously said that they don't want to support native apps because bad apps could bring down cellphone towers.
OpenGL and OpenCL aren’t “robust” on macOS because Apple stopped updating their drivers after the version 4.2, which has been released circa 2011. Current version of the standard is 4.6, released July 2017.
Robustness is orthogonal to versioning. They were funding opengl dev on osx, and decided to stop. You can insert your own reasoning but I believe the more reasonable assumption here is that they were not happy with the direction the spec was going. Apple is strongly biased towards vertical integration. Owning the spec + OS + driver + hardware is the best way of achieving a high level of robustness (Whether they actually do achieve that remains to be seen).
Apple loved HTML5 when they had to kill Flash and get web developers to support mobile, but then as soon as it became a threat to the App Store, Safari's compliance came to a screeching halt and now Safari is in last place, even behind Microsoft's browsers, in HTML5 support.
OpenGL was useful when it was a way to potentially lure people away from Windows, but as soon as Apple had the clout to not care about it and force develops onto its proprietary API, that's what happened.
I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather than this blatant acknowledgement of FOSS as a tool to be ripped off to improve one's ecosystem dominance and then promptly thrown aside. Makes you wonder what's going to happen if and when Apple no longer needs Clang/LLVM, or, hell, Unix.