If these features need to be forced by legislative action, the product itself is probably shit. And most importantly, not in the interest of users, like some like to argue.
If you zoom out and look at the trajectory release after release, all of these things are obviously coming. Every release we act surprised that it's slightly more difficult to run unsigned, un-notarized, un-sanctioned code, but somehow that Voice Of The Fanboy within us has us convinced that "surely this last change is where Apple will draw the line and stop!"
Microsoft figured out long ago that having developers use your platform is a small direct source of revenue but a massive indirect one, not to mention the thing that keeps your platform relevant.
Driving them off Mac would be a gigantic mistake that over time would lead to the fading of the whole Apple ecosystem.
Well yeah but you need someone that has some understanding of what he is actually selling to come to that realization, not the greedy bitch that is Tim Cook.
I think the mistake already happened, you can see fewer and fewer macOS only software and there is very little in the way of novelty/exclusivity (both iOS/macOS). Devs are now more and platform stuff more and more (mostly web technologies because it makes for good UI even though performance is not the best, it doesn't matter with today's powerful machines.
I'll add that one key point that Apple was better on is becoming very moot: software optimisation (performance and UI) matters a lot less in today's cheap powerful computing. Apple is supposedly selling top of the line hardware but skimping every way possible so in the end, when price matched, competitive hardware does not do worse no matter how bad the softwares are optimized on concurrent platform.
Yeah, but such concerns are from a long ago and it didn't happen yet. So the best approach is (and has been) to just support the platform until it is not possible anymore and don't be emotional about it. We just know that one (still quite distant) day it will happen.
Then the usage of the platform will end for many users & developers. One could still live a quite long time on the older systems to ease the transition out.
But why should I develop for a platform that is doomed to be shitty in the near future.
I do create macOS binaries, although they mostly are just a byproduct if targeting it is trivial. Of course I do not sign any of them, to me that is more or less a scam comparable to ransomware.
Totally understandable. My motivation is that I want to reach out to the users as much as possible, doing an extra amount of work if needed. They benefit from cross-platform applications. And I need it to do just once in my programming language as any application using it benefits automatically.
This way I support Windows 2000 or newer, MacOS 10.6+, up to 15 years old Linux distributions with the same small binary for each platform, I did an extra mile in supporting WebAssembly target so it's easy to compile the applications to the web. This also allows to create applications for smartphones without the need for approval and having to follow any weird arbitrary rules.
Why support such old versions? Real world users are often stuck with old versions for various reasons, it's a minority of users but they can be the most important ones. And technically because the difference between these old systems and new systems is not that big. Often it just means to use some older API or do a few extra steps. It's all hidden in code that handles multiplatform stuff so it's not in the way. It doesn't add bloat either.