Distributing Mac software is increasing my cortisol levels(blog.kronis.dev) |
Distributing Mac software is increasing my cortisol levels(blog.kronis.dev) |
I agree that Apple is dumb of course.
And also, software that is downloaded from itch.io app does not require notarization.
There'$ a rea$on that $o many people want to relea$e Apple app$. A $uperb rea$on.
It's a really lucrative market. People like to have access to customers that are used to paying a lot. One of the reasons those customers want to pay more, is that walled garden that HN members hate so much, but millions of people have no issue with (whether or not that's a good thing, is not for me to ponder. It just is).
99 bucks is peanuts. It does give you access to the entire suite of Apple tools. Anyone interested in shipping serious software, is likely to far exceed that, in the non-Apple (or Apple hardware) tools that they use to develop the software. Heck, your keyboard probably cost more than that. I remember that we used to pay Microsoft over $4,000 a year for their developer program.
Here's what Apple says about it[0]. That's what I usually do. I think someone else has shared the command line method. If it's a developer tool, then it would probably have a difficult time passing Apple's app review process, anyway, and that will really jangle your cortisol pipes.
[0] https://support.apple.com/guide/mac-help/open-a-mac-app-from...
I think we're going to find out in a couple weeks, as Apple will be in court arguing over a reasonable commission to charge developers for using third party payments and their costs and developer subscription revenue are likely to come under a magnifying glass.
> millions of people have no issue with
I think that's a false dichotomy, consumers are not choosing Apple's developer policies and fees, and Apple has gone to great extents to keep consumers ignorant of their fees by banning mention of competing payment options and then burdening them with fees that ensure they can't be cheaper so the fees aren't obvious. This is not a choice consumers have made, it is a choice they have been deprived of.
If I had been positing it as a developer issue, then that would be true.
However, I was talking about the customer experience, not the developer one. There's no question at all. People pay a premium, and have no issues with the walled garden.
Just because I don't like something, doesn't mean that everyone else shouldn't like it, either. I may not be wrong in my rancor, and they might not be wrong in their acceptance.
One thing that customers are disliking, though, is the buggy and overcomplicated mess that Apple operating systems have become. I am hoping that they do another across-the-board "Snow Leopard" release. From what I hear, that's likely. It might end up making the developer experience a bit more frustrating, though, as they may be demanding more from us.
I've been shipping Apple-based software since 1986, and have found myself screaming with rage at them, many times, in those 40 years; but I never stopped developing for the platform. I guess I'm a walking exemplar of The Stockholm Syndrome.
What users want to install on their own computer is none of apple's business though.
If it is good for the end-user, it is usually also good for the ecosystem a a whole, trust is valuable.
But ffs, they are rich enough to make this a lot less painful and hostile for developers.
And this is not a new thing, I used to develop games for iOS, from the very beginning, and while the process somewhat simplified over time, it was a huge cortisol inducing process, not to mention the regular forced OS+SDK updates where the procedures changes almost every time and could fail in not-so-evident ways.
The bad UX is really what irks me. Enough that I may entirely opt-out of the Apple ecosystem forever, and I don't think I am the only one feeling that way.
The enrollment app on Mac OS feels like a second citizen. I think Apple is slowly giving up on ensuring the experience on its own Mac apps is working as well as on iOS. I hope to be corrected now that the Macbook Neo is more popular, but I won't be holding my breath.
If it works, then why aren't we surprise when it doesn't?
Because we know it doesn't work.
finally you then take their response and staple it to your binary. Its a lot of steps.
The documentation implies the last step is optional https://developer.apple.com/documentation/security/customizi... but it might be inaccurate
AFAIK, you do in fact have to staple the ticket. The other thing I found is that you have to make sure you're using the right kind of certificate from Apple.
laughs in Bundesdruckerei
they can charge you $99/yr cz they know you ain't got choices.
which is why web software is a blessing. web software runs without permissions from the gatekeeper.
On two occasions I've been completely dumbstruck when the software I was using was deleted out from under me. I'm not a fan of the overuse of "gaslight", but it sure felt like that when I had to restart Docker and the OS was like "what do you mean, Docker? You've never had Docker installed! What are you talking about? Are you feeling ok?"
I suspect what triggered it was the fact that the files had journeyed through many filesystems in their time - HFS, ext4, NTFS, APFS - and they probably picked up some unholy combination of impossible attributes.
I thought it was pretty egregious to have Apple helpfully try to delete important PDFs that I've been lugging around for years.
The Docker thing happened as described in my linked post. It happened with something else too, but again I can't remember. I wasn't planning on doing a post mortem so I guess I let the details slip!
In any case, I do like most of the OS' ways of doing things, including security. But it can be overzealous.
P.S. I'm not crazy! I'm not crazy!!!
Sometimes it feels like Apple has no clue how their users actually work and what the industry needs.
The review did eventually pass, but the process felt much more fragile than shipping the product itself and i had to remove one key feature of the app as well for the review to pass.
At least I don't think they got to it, they only mention signing but not notarization.
Hope this finds its audience on Itch.
I'm so happy I moved to KDE which has options for everything. It was a breath of fresh air when I moved and it still is, every day.
2. The expected income is way less than the developer fee, much less the expensive hardware required.
You can't even conclude that since lots of customers are actually suing them for excessive fees, Apple already lost that battle in the UK and are facing the return of billions in IAP fees, they are facing another in NL for nearly €800 million where they are certain to lose because they were ordered to allow third party payments and ignored the court, they are facing a class action in the US that actually predates their injunction ordering them to allow third party payments and their contempt for disobeying.
I don't think people will "pay the premium" when Apple has to allow apps like YouTube to offer a $19/month plan alongside a $25/month plan for exactly the same thing. They have fought this entire decade to prevent that choice and argued it will cost them billions.
You have my apologies.
Have a great day!
sudo spctl —-master-disable
People will say, no, that’s too big a hammer, it’s not safe… but then, like, what do you actually want? Either you keep Gatekeeper because you like the friction it introduces, or you don’t like that friction and you should go turn it off. Pick one, you obviously can’t have both!Of course, you as the developer can’t make this choice for your users… but isn’t that as it should be? The user decides what code is allowed to run on their machines. And the default setting is restrictive because anyone who knows what they’re doing can easily change it.
P.S. Meanwhile, on iOS there’s no way to install unsigned software at all, and on Android (starting soon) the process takes 24 hours instead of ten seconds. That is actually ridiculous because it’s taking away user choice.
P.P.S. To be clear, modern macOS has plenty of other restrictions which can’t really be turned off and which I find super annoying. Gatekeeper just isn’t one of them.
Edit: I’ve just learned that as of Sequoia, you have to also tick a box in Settings after running the Terminal command. So maybe it takes 30 seconds instead of ten seconds. That’s mildly more annoying, but still doesn’t really seem like a big deal to me.
Give me the ability to choose what I trust. “You can either trust Apple and nobody else, even yourself, or you can trust literally everybody” is obviously not a good faith implementation of this. Apple excels at steering the narrative with false conflation and false dichotomy, I’d also remind you of the came-and-went secure boot debate, which Apple successfully steered into Apple owns the encryption keys vs no encryption, and people just kind of forgot to ask, wait, why can’t I have the keys to my device?
The same with SIP (system integrity protection). You can turn it off but then you have to turn it all off.
There's no way to keep secure boot but bless your own changes and sign them in some way, that you have approved. You know, as the owner and admin of your own computer. It's either leave it to Apple or be completely on your own. And to make the choice even more uncomfortable they also disable some features like running iOS apps.
It’s not really even that different than a PC motherboard that gives you “Windows UEFI” and “enroll my own keys” as options.
https://asahilinux.org/docs/platform/security/
As far as code signing, again, what do you want Apple to do here? They already gave you a master switch to turn it off. You are free to turn it off then implement your own third party code signing solution if you’d rather choose who you trust. It’s not Apple’s fault if nobody else decided to make their own trust repositories and the only alternative on the market is to have no safeguard at all.
And let’s not forget who Apple markets their computers to. These features aren’t for you and me, they’re for the non-technical customers who will absolutely get pwned by unsigned code. Go to the MacBook Neo marketing page and try to find a single image of someone writing code or even being gainfully employed.
The Asahi Linux folks are building their own SecureBoot chain[1].
I guess you could argue they shouldn't have to do that. But it feels reasonable to me that that the party you're trusting should be the one who builds the trust chain.
1: https://asahilinux.org/docs/platform/open-os-interop/#m1n1
You want the ability to choose a different “authorities” that verify and sign binaries? That makes sense to me but is unlikely to relieve any of the issues in the post.
Also what do you mean by “even yourself?” What would that option look like?
The added friction feels more like a way to force developers to pay Apple an annual fee for distributing rather than for my safety. Not saying it doesn't help with safety, just that it's more weighed to the former.
People reflexively hit yes to these things.
With Gatekeeper turned off, you’ll still get a warning on first launch which you can easily click through. (Unless Apple changed something in the last few versions—let me know if that’s the case—but it would be out of character for them to remove a warning...)
The “security feature” you don’t want to disable is precisely the thing you are complaining about, so I don’t understand why you’d keep it around.
> The added friction feels more like a way to force developers to pay Apple an annual fee for distributing rather than for my safety.
I don’t imagine Apple makes a substantial amount of money from $99/year developer subscriptions. The App Store is another story of course.
“Press command space, no no hold down the command key - gosh it’s in the bottom left - okay, now type “privacy”, now scroll, no you scrolled too far …”
I've run several PiHoles for several years, primarily on latest versions (up to v5; current is v6.4.x) – recently updating to v6 has been extremely frustrating [0], e.g: realizing that even when you tell the pi's/en0 ("internet") interface to use a specific DNS server (in GUI/network settings), it still uses the DNS-server recommended by your local DHCP server [1].
[0] I am aware that this is a joint-issue between RaspbianOS and Pi-Hole teams
[1] which requires TWO sudo nmcli which newbs have no business configuring – what happened to -simple- ?
----
If you ever want to consider how crazy DNS-capture is getting, realize that Firefox/&c are all dark-patterning the abilities to turn off "secure"-DNS. The latest Raspian/Pi-Hole defaults are terrifying... [2]
[2] another example: why doesn't v6 enable HTTPS localhost web-access, by default (like all previous versions?!)? Do the developers really expect us commoners to know how to generate localhost certificates – this is obviously behavior due to how the pihole useraccount behaves differently then the previously-root-blessed v5-behavior
----
Thankfully, I've kept a local copy of my favorite distro of Pihole v5, and it is readily-cloneable.
When I attempted to pass a --version tag during a freshinstall (requesting v5 from remote installer), it went ahead and installed latest v6 (so why even.?!).
I want to be able to right-click on an app and choose "Open" to run the program with an authentication dialog. You used to be able to do this, but Apple removed it in favor of an incredibly annoying process of having to go into System Settings every time.
This provides IMO all-around goodwill while still adhering to good release practices.
_Some_ barrier of entry I think is needed (and intended) to stop everyone and their mother from creating developer accounts.
I don’t think Apple needs or cares about the $99
Refusing to let you open an app isn't friction, it's complete obstruction. How about warning you and letting you run it this one time or allow it to run normally from there on?
To make gatekeeper happy without paying a large amount of money and own Apple hardware (same thing).
> $ brew doctor
> Warning: Some installed casks are deprecated or disabled. You should find replacements for the following casks:
> alacritty
> librecad
Is there workaround? Probably. But macos lost benefit of OS X's "it just works". Time to move elsewhere I guess.
macOS is slowly getting like Windows, where, on a fresh install you have to go through and turn off all sorts of unwanted software just to have a sane environment where you, the user, are actually controlling your computer.
Or would Apple categorically reject an application like that?
I don't develop on Macs myself so I wouldn't know where to start looking, but I can't help but wonder if that would be a viable answer for many people who don't want to pay $100/year to give software away for free. Get twenty people together and $5/year doesn't feel like too much.
A UI option would make sense. That is what most users are comfortable with.
For now. Enjoy it while it lasts.
Apparently Apple disagrees, Apple decides. Typical users aren’t going to find their hidden 5 step process to enable non-blessed apps and obviously they know that. Gatekeeper is an appropriate name considering the user themselves are on the outside of the gate. It’s the culimination of everything Stallman and the FSF warned everyone about for decades. By its logic we should install police officers in our living rooms for safety.
Obviously you can, and you actually could earlier where you could click a bypass button for a specific app without any of this terminal nonsense
> turn it off on their machine in ten seconds
You forgot to add the time to learn that it's possible and to find the right command
> So maybe it takes 30 seconds instead of ten seconds. That’s mildly more annoying, but still doesn’t really seem like a big deal to me.
That's because you keep ignoring the actual effort/cost even after you've learned your first simplistic estimate was a mistake
As an author of some homebrewed Go software in the past and trying to distribute in all 3 big OSes, I completely understand the blog post author's points. The problem is not Gatekeeper per see, it is just the combination of things that makes everything infuriating:
- I could justify going for the whole "Apple Developer Program" even with all the bullshit things you need to do to get certified if this was a one time payment like in Google Play Store. But it is yearly. Like the author, I would probably get 0 (or close to 0) dollars in recurrent revenue for those apps, I could justify a one time payment but a yearly one is ridiculous, it is not like Apple needs this money to be profitable (they probably get a much higher margins on selling things on Apple Store)
- Gatekeeper UX is infuriating. The equivalent on Windows (SmartScreen, as the author also cited) is still basically the same as Gatekeeper as far I understand (e.g., you need to have a valid certificate on your app or SmartScreen will deny the app execution until you clear the safety bit). But SmartScreen, different from Gatekeeper, has an actual good UX, as the error messages are clear and actionable (and also don't require a command line command to bypass)
- The author was still in a more "happy path" than me since their app seems to be a CLI only app. In this case just removing the quarantine bit with `xattr` works fine. In my case I was trying to distribute a desktop app, and I needed some special permissions to show notifications. This means I need to package my app in a proper `.app` bundle, include the required XML requesting the permissions and I am now required to sign the app. And since I am required to sign my app, I either pay the yearly payment fee to Apple to get a certificate to sign my app or I ask the users to resign the app with a self-signed certificate before launching
So really, I don't want that much actually. I can definitely handle all bullshit Apple wants, but I want at least a cheaper way to develop apps in their ecossystem. Maybe a new basic certification program that you have a one time fee and you can sign your apps but not notarize them. That way Gatekeeper would still complain, but at least my app would work without resign.
Or limit notarization to X amount of users (non-stabled notarized apps talks with Apple servers during the app first run, so they could just limit the amount of allowed tickets to X amount of users). If my app ever pass X amount of users, I will gladly pay the Apple tax, but 99USD/year for something that I will never see it back is too much.
Edit: BTW, I know, maybe 99USD/year doesn't seem too much for some. But Apple also doesn't do any regional pricing as far I know, and 99USD/year is crazy expensive in the country where I come from for example.
Edit 2: I am sure things are better nowadays with Claude/ChatGPT, but also trying to understand how to do the correct thing for your app is very difficult, especially if you're not using Xcode, since Apple assumes you're using it so all documentation refers to Xcode.
This has more to do with putting up a scary dialog for normies than it does protecting anyone. A non-technical user isn't going to go bypass this in the terminal, they're going to run back to the App Store where Apple can collect that sweet 30% and analytics.
The author didn't mention Apple's contempt for backward compatibility. Apple like to regularly nuke their entire developer system from orbit. Try running an app developed 10 years ago on the latest version of macOS. It probably won't run.
Microsoft are much better at backward compatibility and they don't force you to join a developer program. But you get totally reamed every time you have to update your authenticode digital certificate for Windows. Just the digital certificate will cost you more than $99 per year. It is a total racket.
[0]: https://ofek.dev/words/guides/2025-05-13-distributing-comman...
https://successfulsoftware.net/2018/11/16/how-to-notarize-yo...
https://successfulsoftware.net/2023/04/28/moving-from-altool...
To be fair, compared to the prices of Certum and other providers if you ever want to sign something for Windows, perhaps Apple isn't uniquely overpriced (they all seem to be that way): https://www.certum.eu/en/code-signing-certificates/
Looking more into the Windows side of things, I also found Azure Artifact Signing which is supposedly affordable at 8.54 EUR per month, but unfortunately they don't actually support individual users in the EU (only in US & Canada, meanwhile EU only gets support for organizations). I'd probably have to set up a SIA (equivalent of Ltd.) here first - it was in the plans for later, but this is a bit of a roadblock for using Azure too: https://azure.microsoft.com/en-us/products/artifact-signing
My tone might have been frustrated, but I will absolutely say that the code signing industry needs to have a Let's Encrypt moment of some description - at least commoditize it like Azure Artifact Signing was trying to do, but also for individual developers, across all platforms! Sadly, that doesn't seem to be possible when the platforms are intentionally walled gardens. I don't hate the idea of code signing, though - if done right, it's a good idea, same as TLS for (many) websites.
I genuinely don't understand why so many developers are willing to compromise so much for a thin laptop.
- your program is extraordinarily simple
- you can manage to statically link libc
- you can ship (or statically link) all .so files
- you can ensure your app can run in a sandbox
- you limit the distros you build for
- your app can be built by whatever is on flathub
etc., most solutions to shipping software simply don't work out-of-the-box. Despite the kernel being reasonably stable, userspace APIs are a mess of incompatible.
Serious question - Is it really true that Windows 11 will run an untrusted .exe without a warning?
This is a Claude Code tool for developers. I'd assume that any potential user for this tool should be perfectly able to run that xattr command (and if they are not, they probably shouldn't be playing around with Claude Code either... yup, some additional "gatekeeping" from my side here).
You could probably even make some curl -sL https://github.com/myrepo/installme.sh | bash script for these users which takes care of the xattr command.
Your typical macOS enduser does not use command line tools. Or they use something like Homebrew.
Btw the proper way to distribute binary would probably be pkg installer.
And yes, you can turn all of that off.
If you really value freedom over everything else, I don’t see value in putting bad bandages over closed platforms. Might as well just switch to an open one.
Free business idea: get an Apple developer account and then agree to sign code for other people in exchange for a small piece of their income. I'm surprised that doesn't exist yet (or does it?).
The main creation flow wouldn't send a verification email, and there are hints around to try through Apple Music, which got me a little farther. At phone verification, I receive the code fine (on both numbers I tried), type it in, and get an inscrutable "error" that prevents finalization.
But it turns out it was final enough that even though I can't log in at all, they felt fine sending me Mother's Day email spam. Thanks. I'll be sure to FaceTime her.
Where do you have to show ID for that??
However, more relevant to the post, is that when you're ordering groceries online, you need to verify your age at checkout if you're buying stuff like alcohol (or energy drinks). It's trivial, and for a lot of people it uses the same authentication service that they already use to access their bank.
https://en.wikipedia.org/wiki/Age_restrictions_on_energy_dri...
Edit: currently a voluntary but widespread scheme by retailers, proposed to be law. TIL
App certification doesn't solve that problem either.
Let me know by replying here if you want me to share the build+sign code or have any questions.
Previously it was YOURLS but now it's the simpler setup, the whole reason for me adding it in the first place was that Grav (which is otherwise a lovely flat-file CMS) was really bad at handling query strings in Markdown, the actual links kept breaking quite often, even if I like it otherwise: https://getgrav.org/
I did write a bit more about messing around with the CMS and migrating to a more Git-driven setup rather than manually using an Admin UI for writing a while back: https://blog.kronis.dev/blog/my-blog-doesnt-need-quality-it-... (probably should have used "polish" instead of "quality" in the title but ehh who cares)
Not sure if it's been patched since, will probably look into it at some point. Might either migrate from the shortener to direct links at some point, or add an intermediate page: "You are about to go to: <URL>" with some buttons/countdown.
My apologies for the inconvenience until then.
Annoying, but if you’re delivering your app to semi-technical users, not really a problem.
This is absolutely correct. Instead of maintaining any sort of ABI and API stability, Apple offloads a constant burden of maintenance updates across thousands of developers, just to keep existing apps from breaking every year with a new iOS version. This takes time which could be spent in more productive ways such as fixing bugs, adding features, or developing new apps. It seems like the wrong trade-off, since stability would offer huge, multiplicative benefits across the whole ecosystem. Apple does seem to want apps to die to mitigate the glut of shovelware in the app store, but there has to be a better way (human curation still seems like the only reliable approach for app surfacing and discovery.)
Most iOS apps are games, but in contrast to developing for other game platforms, iOS developers have to continuously update each game yearly simply to keep it working. (Not to mention Apple was happy to kill off 32-bit games on both iOS and macOS, and many games were never converted to 64-bit.) Compare to other handheld game platforms such as the Nintendo DS/DSi/3DS where games mostly kept working across major and minor hardware revisions along with dozens of firmware revisions from 2004-2020, or the Switch where games have generally worked from across Switch 1 and 2 from 2017 onward.
By comparison, Android is much worse. The Play Store kicks you off for not submitting updates much more quickly and the whole ecosystem is in a permanent state of simultaneous flux and obsolescence. Whatever deity help you if you let an Android project collect dust for a year or two… you’re gonna be fighting battles on multiple fronts getting everything up to date. Gradle conflicts, APIs getting deprecated without fully baked replacements, divergence in behavior between OS versions… it’s a real hoot.
I keep trying to explain this to people but it's hard enough to describe the issue, even harder to get people to care, and an impossible battle to change Apple. I don't actually think they're doing this to kill old apps. I think it's a very cynical and calculated plan to require developers to actively maintain their applications, *thereby requiring the use of subscriptions as the only viable business model for developers.* That is Apple's primary revenue stream by far, and they're making far more money now that we have to subscribe to workout apps instead of buying them once and using them for years.
This is usually not the case
You would accept this in no other place in life, except that apple gives it for free, and puts a 'security' sticker on the box.
It's a racket. Planned obsolescence 2.0 - Users forced to update, update removes features, breaks working apps, breaks paid for ip ( literally removed from phones), apple blames the devs. bullshit.
Microsoft has it's own Azure Artifact Signing which is comparable to Apple yearly cost (give or take), but since a month ago installers signed with it often display SmartScreen warnings [1]. Even though Microsoft controls both pieces!
Store option is not free for organizations (although it's a one-time setup fee), but the worse thing is it forces you to its simplified licensing/trial model, typically not compatible with B2B software where paid upgrades, yearly support contracts, controlled updates, extended trials are used.
[1] https://github.com/Azure/artifact-signing-action/issues/128#...
Open source apps are all native.
Rosetta and its underlying tech enable 10,000s of games and applications to run so it's a tremendous loss overall, it doesn't sound like much will be left if this means x86 OSX games:
> "we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks"
https://developer.apple.com/documentation/apple-silicon/abou...
Here's an eight year old Stack Overflow discussion of the issue:
> A guaranteed way to immediately and permanently get rid of the Microsoft SmartScreen warnings is to buy an "Extended Validation" (EV) code signing certificate from one of the Microsoft-approved certificate authorities (CA's), and to sign your app with that EV certificate.
Such an EV certificate will typically cost you somewhere between 300 and 700 USD per year (you better compare prices), and will only be issued to registered businesses. If you're a single developer, you must be a sole proprietor and have an active business license.
https://stackoverflow.com/questions/48946680/how-to-avoid-th...
https://learn.microsoft.com/en-us/windows/apps/package-and-d...
The only option to avoid a SmartScreen prompt from day 1 on Windows is to distribute through Microsoft Store, end of story.
If you sign it yourself, via Azure or your own $200/year cert, you will get a SmartScreen prompt initially, but the prompt will stop appearing once the file hash has sufficient download history. There is no exact threshold, but it can take several weeks and hundreds of clean installs from a wide audience.
This is from https://learn.microsoft.com/en-us/windows/apps/package-and-d...
Digital certificates providers are basically checking your id (mostly automted) and multiplying 2 prime numbers together. Then charging you several hundred dollars. A 1 year Sectigo certificate EV with USB key is $431.99. Nice work if you can get it.
I wrote this back in 2008:
https://successfulsoftware.net/2008/02/27/the-great-digital-...
But it has got much worse since then.
The important part is that SmartScreen reputation is URL-based, you need to make your initial download URL consistent. If you are constantly rewriting it (i.e. with a version #) it will break. It's ok if the original URL hits a 302 to the latest version.
But yes, it would be nice to have some free signing options for open source developers.
Because many developers never run into these issues? A Mac has been my primary development machine since the G4 PB days. I’ve tried to switch to Linux a few times, and it’s always been a worse experience. Then I see these types of stories on HN, and I’m reminded we all use our computers very differently from each other.
I am the second most stubborn person I know in my friend group on this, and after only using a desktop for a couple years during the pandemic, I avoided having a mac laptop for the subsequent five years and it sucked. I finally caved after I realized the new M5 Macbook Air is actually likely to be faster for web browsing tasks and is somehow also (awkwardly?!) competitive at compiling code to the monster modern Xeon build I had just completed, and it doesn't even have a fan!
As far as I am concerned, it is over: Apple has won on everything except screen quality (I am sadly now addicted to OLED and I fundamentally disagree with the Apple position of not having a touch screen on a laptop, a stance that is only more emboldened now that I spend a lot of time with children).
Both of these are reportedly coming to the MBP this year (lately rumoured to be next year), although there's going to be a steep price to pay and rumours say it will still just have the MacBook's normal angular range so no good for drawing or iPad apps.
Apple is so far ahead of everyone it's sad but they're catching up and Apple is so unflinching on so many topics it handicaps them, we could be stuck with touchscreen Macs that aren't useful for iPad apps for many years, and later this decade ARM chips will start nipping at the heels of the Pro and Max chips while build/component quality is rapidly improving too.
Having to occasionally run xattr -d com.apple.quarantine to download some random low-userbase FOSS app is nothing compared to what Linux users go through.
macOS makes it easy to run software which meets some requirements by Apple.
macOS makes it possible to run other software if you (the user) know what you're doing.
Also things are going to get hot at the next general election if you're following what just happened in this week's council elections.
But also most malware delivery now doesn't trigger it because malware developers have gotten craftier. If you're unscrupulous, it's not a concern.
It would be wonderful if Apple shipped the Asahi team a bunch of docs hardware, and commissioned them to complete+productionize support for every single Apple Silicon Mac released up until now plus the upcoming gen. If they did that, maybe in one year support would be great and in two or three years, you coule use any distro you liked and get full support.
But that's not really who Apple is or how they position themselves in the market afaict. This wish is sadly barking up the wrong tree.
Apple computers that I use are project assignments.
I want framework to succeed, I want them to have battery life as good as my Mac. But I’m gonna let other people test that for me this time. Maybe in another 5 years I’ll believe it.
The other day my mom got a text saying she had a $399 charge on Apple, and to call the number if it wasn't her. So she called, because of course, why wouldn't you? Apparently the scammer finally got frustrated and hung up on her because she couldn't understand his accent.
Does your mother by chance happen to bear a striking resemblance to Kitboga?
I seriously doubt that's the reason, compared to Linux not being the default and Microsoft having spent years sabotaging it.
MS Office is available for Linux and Linux is an option on Azure. Even some new games from the Xbox division are officially sanctioned to run on Linux.
There is no longer a good reason to stay in a walled garden for your personal machine. The author should just make the switch if staying in the Apple ecosystem, or any other closed system, makes him really unhappy
But that still means that any app that is not actively maintains dies very quickly. I've got software I wrote for Windows 7 that still runs fine on Windows 11.
Also far-reaching backwards compatibility comes with its own downsides. It’s more of a tradeoff than a boon.
[1] https://blogs.windows.com/windowsdeveloper/2026/05/07/publis...
People are trying to get things done, and will choose the fastest path, and their context is that they are constantly bombarded with popups, cookie banners, two-factor prompts, captchas, and a zillion other things.
They have neither the time nor the resources to distinguish what’s important and requires their attention from what doesn’t.
Most people find using a computer absolutely exhausting.
It has a chilling effect on releasing free apps.
It's going to be an interesting time soon, when even your dog will have a vibecoded app he'll want you to use.
(To be clear, my position is that most people should probably turn off Gatekeeper and then developers don't have to pay Apple anything, unless they're making very mainstream software which probably generates revenue anyway.)
You actually do get some value, you can file two DTS tickets [1] a year which are (supposedly) looked at by a real apple engineer. Assuming they haven't outsourced it, that feels worth about $100 considering how badly documented their APIs are.
I do agree that Apple does this in part to force developers to either stay active and maintain their apps or stop shipping for the platform, but I personally posit that the move of more and more apps to subscription models is simply due to how many more apps are connected and user expectations for update timeliness (and the devaluing of updates both by increased popularity of "free as in beer" open source apps and also the distribution of no-cost OS updates by Apple. People expect more for free and expect it as soon as someone notices a problem. I think the idea of not only waiting a year or more to have new features or some bugs fixed and then on top of that having to shell out more money for that is just not something people are as wiling to do. So subscription models become necessary to fund the continuous work that goes into keeping up with all the new trends. Apple's dropping of old libraries and frameworks is part of that churn, but it's only one part in a sea of other pressures driving the subscription model.
I particularly miss games like Chaos Rings 1&2, which are no longer playable and don't seem to be available anywhere.
Another bad change was when iPhone "backups" stopped including apps, which now have to be re-downloaded (which does not work for apps which have been removed from the app store.)
Apple earns almost twice as much revenue from selling iPhones ($210B per year) than it does from "Services" ($109B), and "Services" includes far more than just App store commissions.
https://sixcolors.com/post/2025/11/apples-fiscal-2025-in-cha...
https://bullfincher.io/companies/apple/revenue-by-segment
However, I do see the incentive for Apple to push subscriptions due to the enormous scalability and thus resilient margins.
This is ugly because I hate subscriptions, but I believe that the constant maintenance burden makes subscriptions more appealing for developers.
But why would you want to subscribe to a game on iOS that you could just buy once and run forever on another platform?
I am the king of knowing immediately when I have fucked up.
“Undo” has made us far too comfortable with mistakes.
For plenty of users, a button right there in the popup is almost the same as no Gatekeeper for most scenarios, but if we can handle it why not let us
You can turn off all protection, as you point out. So who Apple markets Neo's to isn't a factor.
> Apple’s fault if nobody else decided to make their own trust repositories and the only alternative on the market is to have no safeguard at all.
Does Apple provide a means for enabling third party trust systems, without disabling Apple's protections in general? If not, that is a serious problem of Apple's choosing. Nobody (to a first order approximation) want's to dispense with Apple's protection, or re-implement it, but to be able to carve out exceptions for specific classes of software.
But, yeah, macOS power users these days seem to spend a lot of time criticizing the OS and the company and never seem to just switch to something else.
Apple is the 4th most popular PC manufacturer on the market. You can use something else. It's not a monopoly, nor a duopoly like with iOS.
I switched to Linux, and I've been beyond shocked at how smooth it's been. It's been better than both Mac and Windows in more ways than I expected. And sure, not perfect, but still.
1) People complain about the imperfections of what they love.
2) Imperfections are highly unlikely to tilt the benefits from one device to another, given there are few device choices, devices have hundreds of other pros/cons, and people accrue years of familiarity and functional investment.
Apple's root of trust for the OS and thus anything that passes AMFI/Gatekeeper scans is built into the hardware. There is no safe mechanism for introducing other roots of trust that is worth the effort.
If you don't trust Apple, why the hell are you buying their computers at all?
This is the exact same false dichotomy they mentioned; it's perfectly reasonable to have a set of trusted software vendors that includes Apple but also some others, while the only choices that they support are either just Apple or literally anyone in the universe. You're conflating "trusting Apple" with "trusting no one but Apple to make it sound like the opposite of the latter is somehow also contradictory with the former.
Claiming it's "not worth the effort" is a lot easier when you've already muddied the waters like this.
Gee, if only Apple had a reason for implementing this entire feature for themselves…
Well, you see, I quit buying Apple hardware. But I did buy this MBP M1 back in the days. It still serves me well, but now there is an insane US president who'd have no shame whatsoever to pressure Apple into pushing nefarious software (or, say, not fix a security bug or two).
Also, another example. I got a second hand iPad Pro for my pre-teen daughter a couple of years ago. It is still on the original battery. Device still works though. It does not get iOS updates anymore though.
Do you see where this is going? Regarding the latter: I should have root on an EOL product.
Without Gatekeeper, macOS will instead pop up a dialog warning you that the application was downloaded from the internet, and provide an option to run it anyway, on first launch.
Well the command is spctl, so I assume it stands for (s) Security (p) Policy (ctl) Control.
I agree that "ctl" for "control" is a bit weird but it's a pretty typical Unix convention: pfctl, networkctl, systemctl, etc.
In any case, Gatekeeper is mostly intended to save grandmas who are at risk of downloading random malware from the internet.
If you're a developer who is reasonably aware of how computers work you might as well disable Gatekeeper entirely. You're taking many times more risk every time you use Terminal.
https://stackoverflow.com/questions/48946680/how-to-avoid-th...
https://learn.microsoft.com/en-us/windows/apps/package-and-d...
> EV certificates no longer bypass SmartScreen. Years ago, signing files with an Extended Validation (EV) code signing certificate would result in positive SmartScreen reputation by default, but this behavior no longer exists. EV certificates may matter for enterprise procurement, but they no longer impact SmartScreen behavior. Paying a premium for EV solely to avoid SmartScreen warnings is no longer justified.
That's what we did for DB Browser for SQLite (sqlitebrowser.org), and it works well: https://sqlitebrowser.org/blog/signing-windows-executables-o...
SignPath also does stuff for commercial places too (https://signpath.io), but I have no idea of the pricing.
I can't remember how difficult it was to set up my initial Apple developer account (trauma related memory loss, perhaps) but it is dead simple to renew. Just pay the $99. I did it yesterday. Took about a minute.
That's the stated reason. The actual reason is that they are salivating at the sight of how much money the app store and play store are making. They just don't want to move too quickly for fear of customers revolting.
I still prefer this over having a Microsoft developer account and publishing in the store--I hate having to put my software through arbitrary store review processes--but it's not a good situation. SmartScreen is just about the worst thing ever to happen to indie developers on Windows. We're right there in the thick of it with macOS developers: different details, same struggle. Both of our corporate overlords want you to distribute software in their store, and you get the sense that they would end self-distribution entirely if they thought they could get away with it.
I note that TFA's author edited the post after-the-fact, changing the line about Windows. It originally claimed that Windows worked fine and they got "just an EXE" and that was that. I assume they finally tried it for real on a civilian computer and saw the SmartScreen block.
Which yes, many people do. There are plenty of people who have no desire to try Linux. And if you're a developer then you have to consider those people, because many of the people who use your software are the type with no desire to try Linux.
But there are fewer and fewer reasons not to try Linux, and that group of "I'd never use Linux", while still large, is slowly shrinking. I'd argue that Microsoft is doing more than Apple is to push people into reconsidering Linux (and, often, discovering that it's actually pretty good these days, and that your techie friend whom you call all the time to help you with Windows is actually happy to help you with your Linux questions instead).
But slowly, over time, it's making less and less sense to dismiss Linux a priori.
Does my existing hardware connect to the internet and go to sleep when I close the lid? Does the hardware I can buy from major retailers do the same thing?
I know these are _technically_ vendor problems and not Linux problems, but I’ve got enough things to figure out without adding “what chipset does this high end laptop use” to the mix
Think about it this way: for every four Mac users there is one Linux user. That sounds quite significant if you ask me, and that’s what the marketshare statistics say.
When you try to run Windows on hardware designed for Linux, you run into similar fiddly problems. Exhibit A, the Steam Deck.
If you want a laptop that the manufacturer explicitly designed to be Linux compatible, the recent Frameworks are worth a look. Or System76.
The cheapest framework laptop I can assemble in the UK at the time of writing this is “estimated” at £1226. System76 seems to be us based and the pricing is similar. When I search for Linux laptops on Lenovo, I get chromebooks, dell’s cheapest option is £1399 and I can’t actually figure out what’s going on with HP.
> putting Linux on it instead, and expecting to have no issues whatsoever. I don't think that's practical.
I’m not looking for perfection - windows and Mac are both chock full of issues. But I do expect the basics to work.
Bargain Hardware sell a wide range of second hand hardware with Linux preintalled.
You might get better shipping costs from other European vendors than US ones too.
Most Windows hardware will work fine but its worth doing a bit of research before buying.
You don’t need to buy a Lenovo that is Linux specific. They’re all just going to work.
This assumption that Linux is going to have hardware compatibility problems is super outdated.
And in the age of AI and YouTube reviews it’s really not that hard to figure out if any old computer has decent compatibility. AI also makes initial setup and troubleshooting a lot easier.