> The right-click/control-click option for easily opening unsigned apps is no longer available. Users who want to open unsigned software will now need to go the long way around to do it: first, try to launch the app and dismiss the dialog box telling you that it can't be opened. Then, open Settings, go to the Privacy & Security screen, scroll all the way to the bottom to get to the Security section, and click the Open Anyway button that appears for the last unsigned app you tried to run.
Oh, but I was assured by Cupertino sycophants that you "just" need to CTRL-click open an unnotarized app and there is no protection racket for distributing apps, no big deal. The frog continues boiling.
Really? This is _huge_ to you? How many unsigned apps are you downloading and running?
This is one of those features where the benefits seem to very obviously outweigh the drawbacks. 99.9% of users just aren't running unsigned software, so the moment that happens, it is most certainly malware.
If you're developing software yourself, this isn't an issue either, since all the relevant toolchains, debuggers, etc., work just fine under this model. That's a supported workflow. The only thing that isn't supported is downloading some random unverified app bundle from who knows where and treating it as if you could trust it. You 100% can't.
And yes, I also believe that if an OSS project considers "muggles" their target audience, they should prioritize setting up code-signing. Consider it a service to their users. If the fee is a problem, it's important enough to spend the effort to find a way to finance it. If you can't find someone who is willing to put their name on it, you shouldn't ask people to run your software on their machines in the first place.
> How many unsigned apps are you downloading and running?
For me, quite a few? Internal tools at work, open source projects which publish builds on their github, that sort of stuff.
(And no, paying Apple a yearly subscription for the privilege of letting users run an app is not a reasonable expectation of small open source projects)
Yeah, but you only need to approve an app once. I think I Ctrl+Open an app like once a quarter on average, sometimes going most of a year. This really isn't a big deal.
As a creator of a programming language that can compile binaries of any supported platform from any platform it is an unsolveable problem.
I can't do the signing as it requires Apple stuff. Not to mention it is unethical to require it as it's used for gatekeeping not just security (requiring Apple to decide if you can run an executable is unacceptable).
Compare it to Android where you can use self-signed certificates and it has an actual function, it allows updates signed with the same certificate to access the existing stored data on the device. It improves security without gatekeeping. At least that was on the older Androids, haven't done work on any newer ones.
I can't do some kind of universal launcher that is signed by me because it would allow to run arbitrary code and therefore it would be banned.
Therefore the only solution is to search for various workarounds (eg. by teaching the users how to run the software) or if not possible anymore stop supporting newer versions of MacOS and rely on web applications to support the platform (like it's the only way on iOS).
Which would be even worse on the desktop as the usability can be quite bad, but at least users would have some chance to use the applications even on their closed system.
I hope you're able to see how your use case is incredibly niche, and should not be a priority for a general security model for an operating system.
Your problems are extremely insignificant in the big picture, where the priority of a serious operating system should be to support regular people in avoiding malware and malicious social engineering. macOS is a general purpose operating system, not a hobbyist or tinkerer OS, and the vast majority of its users are non-technical.
I get that it's annoying, but pushing the work on you is a massive benefit to your users.
You're right that as a developer of the language it's quite niche position, however the language is then used by developers to create actual applications and they're affected by this, or rather the users are.
It also allows to be used from a C/C++ project so you can do all the required steps, but it's quite more involved compared to simply building the software for all platforms at once.
It's also not related to how popular my language is. It affects any language including C/C++ if you want to have unified cross-compilation to all supported platforms (which is quite typical for any serious project).
You may not be aware but Apple has put roadblocks for such usages as well, you can't rent a Mac VM for automatic builds, it has to be rented for 24 hours at minimum. Using someone's private Mac for building may not be a good idea for various reasons.
And then you compare it to other platforms that don't require anything like this. I even mentioned Android which shows that you can use signing to provide a security aspect without the gatekeeping aspect.
The issue is wider and basically it's an anticompetitive behavior of Apple to any competitor to Xcode.
A paid developer account would be required by every developer wishing to publish their cross-platform application also on MacOS. Even if it was free it would be an issue because it would require an extra registration and workflow that requires internet access and having Apple to arbitrarily decide that your application (or you as a developer) is banned.
Therefore instructions how the users can run the application is the only solution.
> How many unsigned apps are you downloading and running?
Enough for this to be annoying. Plenty of tiny tools don't pay for the privilege of doing free work, so aren't signed
> This is one of those features where the benefits seem to very obviously outweigh the drawbacks. 99.9% of users just aren't running unsigned software, so the moment that happens, it is most certainly malware.
You're obviously wrong with your made up stats (you don't need to be a power '1% user to want to install some a single useful unsigned app over the whole lifetime of using a Mac) and ignore the fact that part of the reason why it's 99% and not 88% is precisely because of features like this that make it harder to do so.
But there is an easy way to reconcile - make the old behavior configurable then the imaginary nonexisting 0.0000% users can continue without permanent disruptions
Quite a lot apparently considering how often I have to bypass gatekeeper.
I don't really see how the average user is positively affected by these changes - it's not like they will accidentally open terminal and enter random strings infinite monkey theorem style until they hit sudo spctl –master-disable.
Ctrl-click was at least possible to stumble over, but I see no good reason not to at least provide a .plist setting to re-enable that behavior. Except to bully more devs into getting signing certs.
The problem is not - and has never been - accidentally stumbling on insecure features. The problem is social engineering, where inexperienced users are guided by malware operators to run insecure software, either over the phone or through countless malware sites on the web that claim to solve their problems.
> This is one of those features where the benefits seem to very obviously outweigh the drawbacks
That has never been true. Neither for pro- nor casual users. This might be good for the bottom line of Apple, but I doubt that too, since they squander their reputation. This is non-engineers calling the shots, just like Jobs warned us about.
I do run quite a few unsigned apps and I don't even use a mac that often. This is just stupid...
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.
Are you suggesting that Apple is making it less convenient for users to run unsigned binaries, because they want to increase developer program revenue?
Not developer program revenue. At every turn where they have a choice, Apple does the same thing: sell devices increasingly locked to their own ecosystem, and sell it as a feature to protect folks. This strategy works really well: they actually have folks arguing that giving all Apple users fewer choices is a feature.
They have been ratcheting down on freedom in OS X (and then MacOS) since 2011 or so when I stopped using Apple for personal use. The introduction of the Mac App Store, subsequent lackluster performance, and introduction of scary warnings about running unsigned code in MacOS tell most all of the story. This latest update is just another step in that direction, making running unsigned code that much more difficult. The obvious endgame is to raise the next generation of Mac users to only use the Mac App Store for software, effectively replicating the golden goose that the iOS App Store has proven to be.
I don't think I agree with your conclusion about their endgame being a replication of the iOS App Store golden goose, but I do see how it could come about. The reason I disagree is because changes like this oft remind me of the problems Facebook used to have (still do?) with stolen tokens and cookies that would come about from people pasting JavaScript into their browser's devtools console.
Some poor schmuck would find a viral comment that said something like "Mark Zuckerberg doesn't want you to know how to get Facebook Premium! Copy and paste this code into your browser, ignore Facebook's warnings, they don't want you to get it for free!" And badabing badaboom, stolen credentials get sent to some server.
I don't work at Apple and can only speculate on their motive, but since I advise my family to use macOS, it's my hope that this change would prevent them from reading something like "download this scary blob and then ctrl+click on it to open it for free Photoshop! Ignore Apple's warning, Adobe has paid them because they don't want you to get it for free!"
It does make it slightly more inconvenient for me, but I think chromedriver may be the only unsigned code that I run regularly.
Yes. Not only, though. Mainly they are making it less convenient for users to run unsigned binaries because being an universal gatekeeper for the whole platform and being able to control every binary that runs on it is an incredibly lucrative position, and Apple wants to be in this position. This is, of course, completely contrary to the interests of the users, but what they are going to do?
Precisely the kind of hidden feature that makes it easy for power users to bypass the "rules" Apple imposes on the platform, while still making it highly likely every day users won't know how to bypass the rules meant to protect them.
More and more, I find that these sorts of "we know best" attitudes towards security utterly distasteful and the total opposite of empowering. Infantilizing, more like.
These rules do not protect the normal user. At some point they fail to install something they want to have and then my phone rings because their OS is shitty.
Wow, this is really hostile design. They obviously know they can't ban third-party software on macos like they did on iphone, but they surely intend to come as close to it as possible, and make it as inconvenient as possible to install any.
https://arstechnica.com/gadgets/2024/08/macos-15-sequoia-mak...