4 ms·
> Apple could also make those APIs usable by the public and mark them as "Unstable". No they couldn't. Because those APIs would become frozen and required by n
by dwaite 7y ago
> Apple could also make those APIs usable by the public and mark them as "Unstable".
No they couldn't. Because those APIs would become frozen and required by nature of large software vendors deploying software that uses them. Functional compatibility of an API which was documented as not finished would have to be maintained across OS releases.
I've seen unintended dependencies have a deprecation plan in macOS that takes years.
For the most radical example, there is still a copy of libssl.0.9.7.dylib. The 0.9.7l version came out in 2006. But it turns out OpenSSL does not provide binary compatibility even amongst patch releases.
This was likely why on Mojave, using "Marzipan" in your own apps required making operating system security changes (from recovery mode, no less).
- shkkmo 7y ago> No they couldn't. Because those APIs would become frozen and required by nature of large software vendors deploying software that uses them. Functional compatibility of an API which was documented as not finished would have to be maintained across OS releases. Yes, they can. There is nothing stopping Apple from marking an specific APIs as "Unstable" with the understanding they could be removed or modified at anytime.
- edoceo 7y agoAPI becomes a contract, documentation or not. There is blowback when the contract changes. This blowback is what stops unstable API from becoming public. Brreaking change for ApI used by 10k devs? Big blowback.
- saagarjha 7y agoYes there is: if it’s there, people will use it and their apps will break if Apple changes the API.
- sfotm 7y agoWouldn’t this lead to a pretty fragile user experience across versions? I don’t think the parent is saying it’s technically impossible, but Apple isn’t about to open up an API they intend to immediately break, affecting not only devs, but their end users, tarnishing their image of stability (yes, even if it’s a 3rd party). Documenting these shifting APIs would also be a royal PITA.
- lazyasciiart 7y agoIt's technically possible, yes. But there are a lot of other considerations which may not "stop them" from doing it, but can still make it look like a bad idea.
- saagarjha 7y agoFun fact: you can’t link against the system OpenSSL anymore. Probably because people have continued to do this for years after Apple told them not to.