An interesting point I heard John Siracusa make is that, yes, Apple apparently has a license that lets them use the instruction set “forever” (and they’ve already got better implementations than anyone else), but Apple benefits from having instruction set compatibility with ARM just as they’ve had considerable benefit from having the same x86_64 instruction set as everyone else (e.g. being able to run VMs). If Apple’s license doesn’t cover future updates to the instruction set, and if Nvidia added instructions that became popular with other OS’s (some ARM Linux), then Apple might have to renegotiate that perpetual license, which could pose headaches for them.
That's my understanding as well — they can be compatible with ARMv8.x as long as they like, but it's unclear if that extends to the upcoming ARMv9. (It's possible that it does, since Apple is one of the founding companies of ARM, which used to be an Acorn/Apple/VLSI joint venture.)
If they can't negotiate ARMv9 terms, though, I'm not sure that's a huge deal. It'll be years before that's common in other ARMv9 chips, and therefore before compilers are commonly tweaked to take advantage of it. Those lost years could conceivably be used by Apple to fork ARM instead, or to move to something different altogether. (I don't think they'll bother with RISC-V if so. They can just do their own ISA.) Right now? Too risky. But half a decade from now, slowly move to their own thing? Why not.
And as for forking, see below:
An interesting counterpart to that is, presumably Apple could add Apple-specific instructions to the instruction set, to the benefit of macOS (and iOS)
Yup! See, for instance, armv7s — Apple doing their own extensions isn't unprecedented.
, which would, as a side effect, make ARM Hackintoshes much more tricky to implement.
Possibly.
They can do what they've done before with e.g. armv7s and output a fat binary where CPUs that have those extensions take advantage of them, as optimization.
But then they might eventually switch all supported chips to implement that extended ISA, and then drop compiling the regular one altogether, at which point, indeed, you'd have a copy protection of sorts. Due to their relatively long support of hardware, that'd have to be a plan of several years. Unless, of course, they do it right from the start with all ARM Macs, cause there'd be no old ARM Macs to support at that point anyway. We'll know(-ish) if the first batch of ARM Macs ship with a compiler that can target a hypothetical 'arm8mac'.