> Explain to me why my users would benefit from me spending months switching to a different API?
The idea is that leaving behind old APIs will benefit driver and system stability for the entire ecosystem, benefiting your users in other ways. You might disagree with that view, but Apple is not doing this out of spite alone.
I'm not sure that switching to use a library like MoltenGL for this stuff would take months either, but you're in a better position to judge that I guess.
IMO the issue is not so much that Apple is leaving stuff behind, but that it makes drastic decisions and generally does not communicate its plans.
For example in one of the email responses someone from Apple says that Carbon was a temporary solution but quite frankly that was never clear from the outside world. It seems there were even plans to make Carbon 64 bits that were scratched at the last minute.
Same with the hardware. One day out of the blue Apple announced its new laptops without USB-A ports. Even 3 years later USB-A is still one of the most used peripheral ports in the PC world (including Mac and Windows). Even Apple does not ship peripherals with USB-C cables other than adapters. AFAIK its mice and keyboards still ship with USB-A cables for charging.
These tactics are maybe ok for the consumer world but not for professionals who need reliability above all else.
Sorry, I was a teenager and fairly anti-Apple even at the time. When carbon was introduced I don't see how Carbon could have ever been seen as anything other than a temporary solution.
I would have to go back and watch the original introduction, but I even seem to recall that general feeling from the event.
So I guess I'm just not understanding your viewpoint here.
USB-A still works, you just need a compatibility layer (a dongle).
OpenGL has been deprecated for years. Why are people reacting like this is a new development.
Or Apple could do it! if its possible to support usigng a wrapper, Apple should make the wraper part of the API, why push the responsibility of backwards copatibility over to developers?
If you want to argue Apple is handling this poorly from a community perspective, you'll find no argument with me.
The reason Apple is doing this in this poor way is that they seem to want to push Metal as the answer. They want incentives for developers to move to Metal by making their lives more difficult on OpenGL, because even with libraries those libraries must be maintained and included. They don't want to bear responsibility for this legacy. I'm explaining, not defending.
This is the direct opposite to the Linux ecosystem, where Gallium3D not only facilitates both OpenGL and Vulkan, but has had attempted Direct3D implementations in the past. Yet another case where Linux has the "everything and the kitchen sink approach", and Apple just flat out dictates a single choice to everybody. That attitude sometimes helps Apple, but sometimes it doesn't.
Mesa Gallium 3D is not an API intended for use by applications. It is a mechanism that allows to share functionality among drivers. Yes, it is possible to create state trackers on top of it, but that will be part of Mesa. It has no public API.
Even among Mesa drivers, usage of Gallium 3D is not mandatory. If the driver team thinks it will make their job easier, they can use it. If they think it won't, they won't. Intel 965 driver (the current driver for Intel GPUs) doesn't use Gallium, for example. The new one ("Iris"), currently in the works, will. For a long time, the only driver that used Gallium 3D was only the AMD one.
You are falling into a common trap these days. There is a difference between API (remember the I stands for interface) and implementation. There is no reason a vendor can't completely change how drivers work without the application having any idea. There is nothing about the API that says it needs to push complexity onto the driver, but you are describing these implementations as inevitability.
The idea is that leaving behind old APIs will benefit driver and system stability for the entire ecosystem, benefiting your users in other ways. You might disagree with that view, but Apple is not doing this out of spite alone.
I'm not sure that switching to use a library like MoltenGL for this stuff would take months either, but you're in a better position to judge that I guess.