I think the problem is locking us to one app store - because the app store does provide some added functionality (easy of use - one place to go for all apps - security vetting - automated update settings across apps)
App stores allow users a centralized place to both acquire known and verified applications as well as get updates for them. They are a safe place to buy things - Apple is not going to steal your credit card. For developers, they are a convenient place to park your app, without having to manage your own distribution services. And payments is always pain - it's probably the single biggest value add that the app stores cover it for you.
And you can always circumvent it on these platforms. It's just an addition. I'd prefer to get an app on the mac app store if it is there, if it is not then that is fine as well, but will require more digging to verify it's authenticity.
iOS App Store too. They're not safe. Apple isn't going to steal your credit card, but they'll happily charge your credit card for these scams.
App stores are distribution mechanisms and advertisement channels, same value proposition as Spotify compared to shipping your music on your own website.
This is why you can’t download WireGuard from the WireGuard website. You have to identify yourself to Apple with an Apple ID (which requires a non-disposable email and working phone number) to download free privacy software.
I'm not sure that's entirely true. It's really a matter of how the extension is packaged: app extension for App Store or system extension for Developer ID.
"On macOS most Network Extension provider types can be packaged as either an app extension or a system extension. App extensions run in a user context; if the user logs out, the provider is terminated. System extensions run in a global context, completely independent of the logged in user." https://developer.apple.com/documentation/technotes/tn3134-n...
It is the case that Safari web extensions are Mac App Store only, as opposed to Safari app extensions, which can be Developer ID.