Can't you just right click?
lapcatsoftware.com
lapcatsoftware.com
If the message were completely transparent, something like "The developer didn't pay $99 for us to do a cursory check on them (or whatever it is that Apple does with that money), are you sure you want to run their software? [Move to trash] [No] [?]", then that would give the user the relevant information to make this decision, but as it is, virtually no mac user will understand what is really going on.
I also can't imagine $100 is easy to come up with in countries below level 4[1]. The OpenStreetMap Foundation recently introduced a way to waive the yearly £15 fee for OSMF membership if you have a certain number of map edits or otherwise contributed to the project. The OSM community seems to be quite diverse, but I can't imagine that Apple computers are less widespread than OpenStreetMap.
[1] https://www.gatesnotes.com/Books/Factfulness#incomegroups
Interestingly enough, it seems to be possible to notarize someone else's app, so perhaps it might be a worthwhile use of my developer ID to provide this service to people I trust but don't want to shell out money…
Note that I'm not necessarily arguing that training people to click "yes, yes, continue..." is a good idea. Digital security is my day job and I totally see why Apple wants digital signatures for software. However, the message is opaque about what is really going on and just tries to scare people into buying "trusted" software rather than using free software: that developer fee doesn't pay itself.
> perhaps it might be a worthwhile use of my developer ID to provide this service to people I trust
I was thinking the same, we could pool the money, but figured Apple almost certainly prohibits that "for security".
Granted, you could quibble with the details (does pointing out that you can't verify that it's free from malware imply that you could verify that it's free from malware if there were a certificate?). But calling the message "intentionally" (!) misleading?
2) Apple documentation [1] says (my highlight) "The Apple notary service is an automated system that scans your software for malicious content, checks for code-signing issues, and returns the results to you quickly."
Is the claim that Apple is not actually scanning notarised software for malicious content?
3) Random unsigned apps presumably have not been scanned, and might contain malware. I still fail to see the problem, or what's misleading (and "intentionally" so!).
[1] https://developer.apple.com/documentation/xcode/notarizing_m...
No, the claim is that just because Apple _hasn't_ scanned some particular piece of software for malicious content, that doesn't necessarily mean it _does_ contain such.
> 3) Random unsigned apps presumably have not been scanned, and might contain malware.
Exactly: they _might._ But popping up big hysterical warnings about it strongly implies, particularly to less technically well-versed users, that they_ do._
> what's misleading (and "intentionally" so!).
Strongly implying something that is obviously not true, that's what's misleading. In fact, AFAICT, that is the very definition thereof. And unless they're putting stuff they didn't intend to say into the dialogs they pop up, then yes, it is obviously intentional. Is the claim that their dialog text is un-intentional?
> I still fail to see the problem
Two hoary old quotes (or is the first a proverb? Maybe literally, from Proverbs) come to mind:
1: Nobody is as blind as he who does not want to see.
2: It's hard to make a man see something he doesn't want to see, particularly if his salary depends on him not seeing it.
(Personally, I do data warehousing / ETL programming for a living; currently at the Finnish Social Security Agency.)
https://developer.apple.com/documentation/xcode/notarizing_m...
> misleading
I... don't think misleading means what you think it means. Misleading statements (pretty much by definition) don't imply falsehoods. They "merely" "suggest" falsehoods to those who don't already know better. If they intentionally "implied" falsehoods then they would be called "lies", not "misleading".
How does a certificate let "macOS verify the app is free from malware"?
(1) and probably a manual review if the App under analysis was found to call into any but a whitelist of “safe” system APIs.
Without the code signing, you can’t be sure that the app you’re seeing is the same one Apple‘s servers saw. It might be a copy of the app that has had a virus injected into it (which has happened quite a few times recently in pirated macOS software.)
How so? Even if they don’t catch malware during notarization, Apple also reacts pretty quickly to invalidate a developer’s code-signing certificate if they use it to sign apps that contain malware (as soon as Apple is made aware of that malware-app, for which they maintain relationships with both major antivirus vendors and independent security researchers.) Your computer then receives the new Apple code-signing CRL in a silent update, and won’t run the app (or any app by that developer) any more. Even if you’re offline at the moment, and so can’t contact the notarization servers to find out the app has been denotarized, as long as you’ve been online at any point since the CRL was updated, you’ll be protected. (And where does malware come from? These days, 99% of the time, the network. So if you stay offline, you’re extremely unlikely to run into novel malware anyway. And if you’re online to receive the malware, you’re almost certainly going to have received the CRL update first.)
And sure, there’s a small period of vulnerability before Apple is made aware of new malware; but most malware infections are not from zero-day malware, but rather from malware that’s been going around for a long time already. (And I believe they also push ‘disinfectant’ logic in those same silent updates that update the code-signing CRLs, same as Microsoft does with Windows Defender. So the usual “join a botnet, hijack your browser” kind of malware can simply be reverted.)
Plus, there’s the whole System Integrity Protection thing, meaning that macOS malware can’t really do anything to permanently subvert the Gatekeeper infrastructure, since it lives in the “untouchable” root partition. (It could do something clever with a system extension, but as of Catalina you have to explicitly activate those in the Security preference pane; and probably, as of Big Sur, you won’t be able to activate them at all.) So it’s only people with SIP off (i.e. system extension developers; Hackintosh owners) who would even feel any sort of “deep impact” from any of this malware. Meaning that macOS malware authors basically don’t bother to try to “deeply embed” their malware into the OS, given that the process will only actually work on a tiny fraction of systems.
Anyway, all that being said: it’s not like Apple said they can’t “guarantee” that the app is free from malware, implying that signed+notarized apps would be guaranteed free from malware. They just say they can’t “validate” that the app is free from malware, implying that the apps that don’t show this warning have been “validated” by Apple—i.e. audited, to the best of their own abilities and current knowledge. Signed off on, like a home inspector signs off on a house. And that’s exactly the case. Apple has “validated” those apps. That doesn’t translate to some technical guarantee of safety, like running the app in a VM would give. It only translates to “you can trust this app to the degree that you trust Apple’s validation process.”
It’s exactly the same claim that Chrome and Edge are implicitly making when you download software through them on Windows: the software gets “validated” by Google/Microsoft as not containing malware to the best of their knowledge. It’s an antivirus signature scan, combined with a trustworthiness heuristic based on whether the developer was willing to sign their software. The only difference is that, in Apple’s case, the “antivirus scan” part happens on a server somewhere, asynchronously, rather than on the client. But it’s the same level of effective security.
I don't think so, the concern would be revokation, if someone does a bad thing and Apple pulls the cert your entire friends would lose access.
I wonder if it would make sense to do ring-based instead (r0 being most trusted)
If you check the code signature of a Developer ID signed app, you'll see the developer's name and Team ID from the signing certificate. This guarantees the app was signed by that developer, as long as the developer has kept their private key secure.
First you sign the app, then you upload it to App Store Connect for notarization. It's an "open secret" that Apple has allowed any Apple Developer Program member to submit any app for notarization, even if the app wasn't signed by them. Apple really wanted all apps notarized. Whether Apple will crack down on this practice in the future, who knows.
The notarization "ticket" is signed by Apple, not by the developer. I've heard of developers who discovered that someone else notarized their app. But nobody else can put their "name" on the app except the owner of the Developer ID certificate. If you Developer ID sign someone else's unsigned binary, you're presenting it to the world as your own. But that's not the case with notarization. Nobody except Apple knows who submitted an app for notarization.
They do the same on Windows of course and on Linux package managers.
When Windows 10 finds an unsigned installer it shows a dialog with a Don't Run button and as the name suggest clicking that button does not run the installer.
To run the installer the user needs to first click on the More Info link which will then present the user with an option to Run the installer.
Here's an example: https://www.zeusedit.com/images/zeus_install.png
The CCADB can tell you which CA roots are trusted by Microsoft for this purpose:
https://ccadb-public.secure.force.com/microsoft/IncludedCACe...
You're looking for a CA which has Microsoft Trust Bits including Code Signing, and Microsoft Status of "Included"
Price: A couple of hundred bucks per year. Vendors with very well known brands like DigiCert's "Symantec" brand (famous despite the fact Symantec actually ran their CA so terribly they ended up selling the brand to DigiCert... the CA they'd operated was distrusted) maybe $500 and year and higher. But your users don't care about the brand, so pick a cheaper product like Sectigo's they work just the same.
It's a little more expensive if you want "Extended Validation" aka "EV Code Signing". If you write Windows kernel drivers you need this, otherwise it might only make the UI shown to inquisitive users nicer so don't bother unless you hate money.
NB. Yes ISRG (the people behind Let's Encrypt) are trusted by Microsoft but no they aren't trusted to provide Code Signing certificates, even if they wanted to, which they do not.
And this is why out of spite I developed "ClickTwice". It's certainly not as good as ClickOnce but least I ensure they use the latest version of the apps I dev.
KSoftware has a really good reputation.
> As a Mac developer, it's nearly impossible to run a viable software business when this is the first-run experience of new customers. You'll never get any new customers! This is why every Mac developer I know signs up for Developer ID and ships only signed, notarized apps. It would be financial suicide to do otherwise.
If you have hung your shingle out to make a profit, then the developer account, signing, notarizing, etc. is a cost of doing business, and you can easily justify it. The more customers you get, the more money you get, so you are motivated to reduce the first-run friction.
If you are not in it for profit, you probably have a lot more tolerance for a little first-run friction, and having users drop out of the funnel. Fewer users does not affect you financially. As a hobbyist programmer, I wouldn't care. I'm just releasing a program--not looking to dominate a market.
But what if I'm not doing this for profit? Can Nirsoft or Mozilla apply for a waiver? Can I? We may not be looking to dominate the market, but it would be a shame if our work just went to waste because people would rather pay for something crappier that is closed source rather than our free (as in freedom & beer) software.
(Yes, Mozilla is a huge project where it isn't worth employee's time to apply for a waiver, I just needed at least one name that people know is a non-profit software developer as an example.)
I don't need to many money on my side projects. I do, however, want to help people. If I can't help people on a Mac because of the install friction, then it isn't worth my effort to create a MacOS port of my software at all.
Because that's part of what this mechanism tries to provide...
It is clear to you that you're writing fine open source software, not malware. But how is the consumer supposed to tell?
If people trust you, why bother with the checksums? (Over HTTPS, the downloaded content cannot be tampered with. If someone tampered with the content on your website, or performs a MITM, they can also replace the checksums.)
1. You submit your app bundle and your credentials to Apple for notarization.
2. Apple records your information and goes through each library, framework, and your code, checking the code signing info and "fingerprint" of each for known malware.
3. Apple issues the ticket for stapling to the app bundle.
Now say, for example, that libffmpeg-0.1.2-beta2.dylib is found to mine cryptocurrency:
1. Apple goes through their database and finds the app where the malware was reported.
2. Apple marks that fingerprint as malicious.
3. Apple now flags any other apps that use libffmpeg-0.1.2-beta2.dylib (by checking the fingerprint) and disables any versions of any app running that version. Additionally, any other attempts to notarize apps with the malicious dylib are rejected.
Notarization provides 2 major benefits for devs that I can see:
1. Apple doesn't need to revoke your entire certificate just to block one version of an app.
2. Apple's audit trail of who notarized the app (and from where) prevents cases where stolen credentials result in a DoS of the victim (e.g. your account being locked, your name and address permabanned, and funds frozen).
Users who know how to verify checksums know how to work around unnotarized Mac apps.
That's the whole idea to protect from malware. You don't want the software publisher (which could just as well be a malware publisher) in control.
It's impossible in the general "is this file malware?" case.
It's totally possible in the "is this file a copy of known malware?" case.
There is no universally agreed-upon definition of malware. One man's operating system is another man's malware. For me, an operating system that "calls home" for each new executable you compile is a crystal clear case of malware. In the case of this article, then, the only malware in question is macOS.
Sorry to the grandparent, but this is nothing like the halting problem...
Doesn't have to be. Just the common user's definition is OK.
>For me, an operating system that "calls home" for each new executable you compile is a crystal clear case of malware. In the case of this article, then, the only malware in question is macOS.
Which is neither here, nor there.
Close your browser and monitor your network traffic. Compile a hello world with a unique text string. Run it. It calls home the first time you run it. Then it doesn't.
If you are not connected to the internet, it does not call home indeed.
Here is a concrete description of this experiment: https://sigpipe.macromates.com/2020/macos-catalina-slow-by-d...
I just reproduced it on a newly installed macOS 10.15.6
I should also note directly launching the binary inside the App bundle from Terminal bypasses the UI dialog. The assumption is you know what you are doing in that case.
You can also remove quarantine flags from anything you download and after that you don't have the right click option either.
For example:
xattr -dr com.apple.quarantine ~/Downloads/Absolutely-Not-Malware.dmgYes I see now what you mean and with that background Xenadu02's reply does make a lot more sense.
Don't have access to a Apple Developer Transition Kit, so was not aware of the new requirements.
E.g., a reader would have to understand the perspective of the developer to even start to guess what that might mean. (Why would a developer pay or not pay $99 to Apple for verification? How do the implications of that affect my decision to run this program?) It would be pretty much meaningless to the average non-developer user.
I agree the price of notarization should be a nominal incremental cost. I don't know if there are many level 3 people doing MacOS development, but if so, there needs to be a cheaper price for them. (The numbers of level 1 and 2 MacOS developers must be practically nothing.)
"Here are the sources, here are the binaries, here you subscribe to get access to signed binaries that run without the scare quotes"
Not to mention it undermines the purpose of notarization, so if it became popular enough they'd probably just squash it.
There'd even be a conceivable but unlikely scenario where some automated scan deep inside the Apple publishing pipeline would detect an otherwise undetected malware intrusion in some upstream dependency or badly vetted commit and thereby indirectly protecting the users of the unsigned copy, by acting as a canary.
GPL3 allows that. And looking backwards, apple shipped software that was GPL2, but would not ship software that was GPL3. As one example, bash and make all quietly stopped getting updates from apple when the GPL3 versions came out. (although apple sort of broke GPL with bash as it never shipped all the source for it -- missing the header file rootless.h)
One other point about these dialogs + the help message. You are required to contact apple to even see this online help. Apple deals itself into the equation no matter what.
https://opensource.apple.com/source/X11/X11-0.40/xc/programs...
But that’s for Apple’s X server, so maybe Bash’s is different? But I couldn’t find anything about that in a quick google search.
Don't know why Apple doesn't just devote 1 engineer to do something like homebrew or macports.
Their ROI just on hardware sales will be very high. Maybe all the unix guys retired or left and there are only round window corner xcode guys left.
Certainly. From what I've read here on HN you basically can't publish a line of code (or even star things on Github) ob your own, presumably for secrecy reasons.
GPL software can be used for any purpose, you just have to pass along the rights you were provided if you redistribute it.
— GPL 3, Section 6, alternative (b).
Yes, in GPL 3, a link would be enough, but the link must be already provided with the distributed program, you don’t get to only give the link only to those people who ask for it.
In GPL 2, a link is not OK, you must be prepared to send people the source code as “machine-readable copy”, “on a medium customarily used for software interchange”.
Six months later a teenager from a country you didn't know existed sends you an email - and the teenager would like source code please. They are legally entitled to that source code because of Bill's offer.
The written offer rule is deliberately the worst case. You should never choose GPL "written offer" with the expectation that this is reducing your work load or whatever, if you want least work just ship the source code with your program and fulfil the purpose of the GPL up front.
- in apple tech, the users are volunteer products where servicing them gets a myriad of monetization, notarization etc.
- hope open source starts to ignore apple platforms as a target at some point. Being "*nixy" and presence of "brew" etc gave the false impression apple is in the open source camp.
If you mean the hardware, it's OK I guess. It still lacks basic computer features like PXE booting (unless you count the proprietary "netboot"). You can't really install much on it or use it for anything but MacOS, which really isn't that great, IMHO. For the same cost as a MacBook, I got a really nice PC laptop with double the specs that runs linux flawlessly. I can also update the CPU, GPU, and RAM, which I can't do with a macbook.
My go to Laptop these days is the Lenovo ThinkPad X1 (either carbon or Yoga) very nicely built with a great keyboard, I hardly (if ever) heard the fan noise and except on a couple of models where the fingerprint driver isn't present, it works flawlessly ootb with Linux.
They used Comet Lake instead of Ice Lake - that results in things like HDMI port supporting only 1.4 (i.e. no 4k@60 there). It makes their current non competitive with 2020 XPS13 or 2020 MBP13, that do come with Ice Lake.
People have been saying it since day 1 of the Apple App Store. It's called a walled garden and it should be attacked as the abuse of a dominant position it is.
Oh I'm against this latest erosion of the ability to run whatever code you want on a Mac. This is one of the reasons I just got one of the new Intel iMacs, because I can see this coming on the ARM side. It's their product though, they legitimately get a monopoly on what features it has, and I don't have any right to tell them how to design it. That's histrionics.
There is a legitimate case to be made though as customers as to how we would like to see the product develop. I'm behind that effort 100%.
The problem is that there's only one Apple Developer Program for both iOS and macOS.
If you get kicked out of the developer program for reasons related to the iOS App Store, you're also kicked out of independent Mac distribution outside the App Store. You no longer have true independence on the Mac either.
And to be crystal clear, that's the approach I am personally going to take. I carved off a TB partition and installed Windows 10 and WSL 2 on my new iMac and it runs like a dream. I still need MacOS, and I'll be installing Virtualbox for some stuff. If the Mac gets to the point where I can't run all the applications and tools I need, I'll miss the hardware and the OS and some apps, but I'll jump ship. I hope they listen to us, but I intend to ask and argue, not tell or coerce through legal action.
This doesn't tell the whole story, because terms change. Even open source licenses change. Apple added Gatekeeper to Mac OS X in 2012. Before then, it was a pretty open platform. And other companies such as Microsoft and Google have been known to follow Apple in some respects, so just because one platform has better terms than another at the moment doesn't mean the platform owners can't change their terms on a whim. Apple/Google/Microsoft have close to all of the OS market share on both mobile and desktop, so it's not like there are a lot of choices, especially in the consumer space.
On the developer side, you can't really refuse to use the new versions, because they are required to support your software for the latest OS versions, which is where your customers will be. So if you don't, you lose your customers and go out of business, which is not much of a choice.
It's untrue that updates consist of nothing but new features.
Do that. I do so as well. But as a rule for society it seldomly works. Too few people are willing or knowledgeable enough to withstand the lure of their individual short term benefit as opposed to the collective cost of their action. I mean, this very feature we are talking about is itself a protection of users against their short term desire: "Let me run this application, I want to see the dancing bunnies" [1] And people fail to do so, even though the downsides are personally and sometimes very immediate. They could research who distributes the file, calculate the trade-off between the remaining uncertainty and the expected reward and come to a rational decision. Or they could just click! Just accept those terms and conditions. Just enter their credit card number on the apple developer product page to get to what they want. And that's what most people do most of the time.
It's for this coordination and collective bargaining problem that we need to regulate the shit out of anything that reaches a certain size.
[1] https://blog.codinghorror.com/the-dancing-bunnies-problem/
I wish the choice was simple, but it isn't.
There are alternatives out there. So it becomes really hard to claim anti-trust.
Apple already owns the customer because they’ve invested in the platform, but they’re not providing equitable access to software that other platforms are. This isn’t revealed to the customer though, so it’s not clear as a user that choice is being restricted in this way.
A lot of Apple’s practices have been legal up until now due to their minority market share in all markets they operate in - but what we see those markets as is changing. The App Store is a massive multi-billion dollar industry in itself that Apple holds and exploits 100% control over.
Whether or not a violation has or is occurring is for lawmakers to decide based on whether or not the App Store (or Google Play for that matter) constitute markets within the definitions provided by local laws.
It is a shame that people are forced to buy a computer and not reformat the disk to install their OS of choice. It is a shame that we can not take the money that we could be saving and investing in open alternatives...
But it is not a panacea and it is not for everybody. And it has two main issues:
- developers don't care about stability and/or polish (just see the discussions on the trackpad ITT) "Oh but if you change library X to Y and reroute libinput and etc it might maybe work and maybe it will not break anything else"
- because of the former reason, not all (important) applications are available to the platform. I'm really glad that a lot of things are online now, but that doesn't solve all problems
I've lost count of how many times wifi was supposed to work "out of the box" in Linux and it didn't. (And no, it wasn't an issue with drivers or wpa, it was the stupid Gnome NM widget - if I configured it manually it works). Or some other stuff. And sure, a there are stuff that works better even than MacOS.
- windows 10 - no privacy, hello telemetry, cortana, etc.
- mac os - no freedom to do anything not allowed by apple
- Linux - polish / ui issues?
At least with Linux once I configure it right it works without issue and does everything I want.
Currently that means kubuntu 20.04, AMD GPU (or intel integrated) and laptops that say they support it (Dell/Lenovo) or self built desktop. (I used gnome until I hit your NM issue too and it did not allow me to move top bar to the right... switched to KDE)
I no longer have a fear of upgrading distributions/packages causing problems, nvidia drivers causing black screen after upgrade...
Still, I do not have UI issues and the polish is fine on Linux, was explaining how to get there.
Problem is people expect a 300$ Linux laptop to work like a mac usually... when you would need a similar priced dell xps or lenovo carbon x1 plus manufacturer to support Linux, like dell developer edition.
I don't think the obstacles to adoption are based on the merits of Linux (or lack thereof). The obstacles are institutional. Businesses don't want to adopt Linux because that's a risk, and most people know Windows/Microsoft Office. Average people don't want to take a risk (installing Linux/buying a Linux box) with a device that is a decent-sized investment for most people.
Until an update breaks it because some asshole decided to break an ABI, or swap out a fundamental system component with a different one, etc.
So I guess what you're saying is true so long as you never update anything.
I have only 3 things I hit:
- NVIDIA driver updates (or kernel updates while using nvidia) - caused black screen... I dumped nvidia... these are due to crappy nvidia.
- Ubuntu deciding to remove old libraries/apps that are not maintained. That's fixed via docker or just keeping an old version.
- Major version upgrades (ubuntu 18 to 20) - here I just re-install and it's expected, I wouldn't upgrade windows 7 to 10 either...
Other then this I'm not sure what you are referring to?, systemd vs sysvinit? (you only get annoyed by those if you are a power user anyway)
Note: I set up automatic updates packages every day and have not hit issues.
Yes.
> NVIDIA driver updates (or kernel updates while using nvidia) - caused black screen... I dumped nvidia... these are due to crappy nvidia.
This is a legitimate dispute and I'm not really counting it because as much as I think Linux should have a stable driver ABI, NVidia are being needlessly obtuse.
> Ubuntu deciding to remove old libraries/apps that are not maintained. That's fixed via docker or just keeping an old version.
Which is not a simple task. Why can't keeping old software be simple? It is in sane operating systems. Hell, even Linux can do it right, as AppImage proves, but the Linux Desktop community is so hell bent on making everything as complicated as possible that they pretty much ignore AppImage.
> Major version upgrades (ubuntu 18 to 20) - here I just re-install and it's expected, I wouldn't upgrade windows 7 to 10 either...
Ubuntu LTS receives 5 years of support, but most new software will not be backported to the repository for anywhere close to that long in my experience and instead you're getting about 2 years. Windows 7 was supported for nearly 11 years and it was rare new software didn't support it for that entire time.
> you only get annoyed by those if you are a power user anyway
Precisely. Linux Desktop people seem to think that targeting people who only need a web kiosk is somehow going to make them popular, but if people who actually know about and need the features of an actual desktop computer don't like it why would they ever recommend it to anyone?
Care to share?, I'm curious :)
> Which is not a simple task. Why can't keeping old software be simple? It is in sane operating systems. Hell, even Linux can do it right, as AppImage proves, but the Linux Desktop community is so hell bent on making everything as complicated as possible that they pretty much ignore AppImage.
Resources make it complicated (time/money/...). I wouldn't maintain another person's library that he doesn't bother with.
> Windows 7 was supported for nearly 11 years and it was rare new software didn't support it for that entire time.
You are comparing a paid product with something free. For better or worse new software works on ubuntu older versions as well, but you need to compile it or work to get it there. Or just upgrade.
I assume you can also switch to Red Hat which have paid support.
> Precisely. Linux Desktop people seem to think that targeting people who only need a web kiosk is somehow going to make them popular, but if people who actually know about and need the features of an actual desktop computer don't like it why would they ever recommend it to anyone?
My point there was if you are a power user you should be able to get it working, it's a skill that's very good to have. Other less skilled people don't hit it by virtue of not playing around.
The 'Linux Desktop' people that you say are targeting things for better or worse put in time to build free products, if you don't like some switch to others or contribute.
I did. I used to run Linux on 4/5 of my desktops and now that is down to 1/5, and only because I haven't turned that one on in 6 months. My complaints are made no less invalid by that.
Contributing to Linux Desktop is, in my considered opinion, a waste of time. The community is so dead set on doing things in the most convoluted and complicated ways possible that there is no hope for reasonable ideas.
I for one am the reverse, tried recently using windows and it just got in the way, plus felt like I was being spied on like old times under communism...
Tried last year MacOS/macbook but I can't even move the titlebar to the right... Plus Apple restricting everything I can do... Plus Macbook couldn't install Linux on it, crappy keyboard, overheating, easiest return I ever did.
Otherwise Linux since forever.
I'm pretty much Windows-only at this point. It definitely has its flaws, and it is definitely getting worse as the new "lets make everything suck as bad as the web" culture takes hold, but I still find that it works with me much more often than against me which is more than I can say for the way Linux desktops work.
It is not a matter of recommending Linux or *BSD or anything else. It is just a matter of refusing to give in to closed software on the grounds of "convenience".
I don't go around telling people what type of software they should use, but I do expect technical people and the common developer to understand what a terrible trade-off they are making when they choose proprietary desktop. I feel hard to sympathize with those that complain about the abuse and developer hostility from Apple. They sold their souls to the devil for cheap and are now trying to bargain their way out of it?
I don't mind people that tell me they need, e.g, Photoshop to do their work. I do mind the fact that they don't contribute to any alternative. Just paying the subscription to Adobe and shrugging it off, instead of hedging and contributing to the alternatives? Shame on them.
Imagine 10% of every Adobe customer donating 10% annually of what they pay to Adobe to contribute to the development of an open alternative, we'd have hundreds of millions of dollars. How long would it take until Adobe would be no longer needed or at least playing against a more leveled field?
Even more in the case of the stereotypical web developer that uses a Macbook when every other tool they used is FOSS. Puts $2k on a laptop that you will only cripple you and work against you and still think this is somehow good "User Experience"? To me this is like failing an IQ test.
I have seen what happens when people try to help. At best they are ignored. As I've said before, it is my considered opinion that the community is simply not interested in making things better. I would be totally ok with that if they weren't also evengelical.
And also, there's only so much time in the day, some of us have higher priorities than building replacement software for stuff that already exists.
> there's only so much time in the day
Then contribute some other way instead of just expecting the "community" to accommodate you and your opinions. I'm pretty sure that you won't be ignored if you find the developers responsible for the projects you care about and spare 10-20 bucks their way alongside a list of the issues and proposed improvements.
Same difference really if our opinions of what constitutes "better" are so drastically opposed.
> Then contribute some other way instead of just expecting the "community" to accommodate you and your opinions.
I have contributed both code and money to projects I think are doing good work. Sadly there are very few of them.
> I'm pretty sure that you won't be ignored if you find the developers responsible for the projects you care about and spare 10-20 bucks their way alongside a list of the issues and proposed improvements.
I can say with confidence that most the projects I've donated to have given me absolutely no special treatment just because I contribute money. I wouldn't have it any other way really, issues are issues regardless and they should be fixed with regard to severity, not who has deep pockets.
Hell, that's probably one of the reasons things in Linux land are so ungodly complicated right now: FAANGs are calling the shots because they have the deep pockets.
I am not sure I follow. You mentioned somewhere else that Lubuntu was the one that gave you the least problems and that you are now using windows. Coincidentally, Lubuntu is the flavor that looks like the most with older versions of Windows.
To me it looks like your assumption is that anything that does not look like Windows 2000/XP is "worse". If you are starting from this point, don't be surprised if others disagree and ignore you.
(Myself, I've been using Xubuntu for the past 8+ years, but I am really not liking the direction Canonical is taking with snap. Perhaps I will switch to Debian + XFCE when I get a slow weekend but this has nothing to do with desktop issues. It's not perfect but the worst problem I can remember was related to get a blank screen after resuming from sleep, which I solved by changing the screen lock program)
> FAANGs are calling the shots
What the big companies are doing are related to the infrastructure side of things and have nothing to do with the desktop - perhaps except Google and their ChromeOS, but Google's ChromeOS approach is looking each day more and more like turn of the century MS and their "embrace, extend, extinguish".
Anyway, perhaps the issue is that you are conflating "Linux" with "Open Source Desktop" and expecting a central place to solve all solutions?
> To me it looks like your assumption is that anything that does not look like Windows 2000/XP is "worse"
That's a very condescending conclusion to draw. I found LXDE less complicated and significantly snappier than alternatives that had their own Ubuntu derivative. I chose an Ubuntu derivative because Ubuntu has the widest range of supported software.
But hey, it all has to do with how it looks right? Thinking like that by the Linux Desktop community is why you guys still aren't taken seriously.
> What the big companies are doing are related to the infrastructure side of things and have nothing to do with the desktop
The desktop experience is not wholly separated from the infrastructure beneath it. The init system, the event subsystem, hardware management, network management, sound system, display server etc. are only abstracted in the leakiest of ways.
> Anyway, perhaps the issue is that you are conflating "Linux" with "Open Source Desktop" and expecting a central place to solve all solutions?
Unfortunately it pretty much is the only option that is even remotely viable. But mostly I focus on problems with Linux because it has by far the most evangelical community.
It's been at least since 2012 that I had installed Linux and couldn't connect a printer or scanner. Meanwhile my wife's laptop on windows asked to reinstall drivers every time she wanted to print something. Webcams? No problem. Wi-fi? No problem as long as I didn't try to use a chipset that was either too obscure or too new and unsupported.
The one thing that I gave up on having on my laptop is low-latency audio to connect a guitar and use software audio effect processors. But the way I solved this was by using a separate old laptop with a custom kernel dedicated to be my "guitar effect box". I still didn't have to give up my freedoms and I did not have to give up any functionality/comfort.
> But hey, it all has to do with how it looks right?
I believe you when you say that LXDE was snappier than the other Ubuntu alternatives, but were the alternatives slower than whatever version of Windows you have now? That will be very hard to believe.
So forgive me for sounding condescending, but you went with probably the most obscure and least popular Ubuntu flavor - the one that has probably almost to no funding from Canonical and maybe a handful of developers interested on it. What were you expecting, exactly?
If Ubuntu was bad for you, maybe try Fedora? If you wanted a more knowledgeable community, maybe try Arch? Why instead of sticking with your preconceptions of how things should work, you ask what are the others doing that let them be productive on a FOSS Desktop? Why is it that upon hitting difficulties your reaction is to go back to the comfort zone of a proprietary and familiar system?
> only option that is even remotely viable
We must have very different thresholds for defining "remotely viable". From http://www.daemonology.net/blog/2020-05-22-my-new-FreeBSD-la... :
"Is FreeBSD ready for the desktop? Yes and no. Yes, in that I have a very nice FreeBSD laptop where everything works the way I want. But no, in that it took me two months worth of fiddling with this in my spare time to fix some of the "glitches" which arose; while there wasn't anything particularly challenging, I expect that most people would give up long before they fixed all of the issues I ran into. On the other hand, can FreeBSD be ready for the desktop? Absolutely. I've fixed the issues I ran into — and once we have FreeBSD 12.2-RELEASE with packages built for that release the process of bringing up a GUI will be much easier, as well. The biggest thing FreeBSD needs is to have developers acquiring laptops and carefully working their way through the issues which arise; the FreeBSD Foundation has already started doing this, and I hope in the months to come they — and other FreeBSD users — will publish reports telling us which laptops work and what configuration they need."
Ugh. Thing is, it isn't about luck. It's about use cases and yours must just match how Linux works better. I'm going to take a wild guess that most of what you use a computer for is browsing the internet and either web or unix development.
> So forgive me for sounding condescending, but you went with probably the most obscure and least popular Ubuntu flavor - the one that has probably almost to no funding from Canonical and maybe a handful of developers interested on it. What were you expecting, exactly? If Ubuntu was bad for you, maybe try Fedora? If you wanted a more knowledgeable community, maybe try Arch?
If you had been paying attention instead of being a typically dismissive Linux evangelist, you'd have noted that the vast majority of my problems had to do with the Ubuntu part of Lubuntu. You know, the part that's common to all Ubuntu derivatives? Not to mention, as I said, I've tried many distros, popular distros, unpopular distros, wildly divergent distros, etc, they all have pretty much the same problems because the problems are inherent to how Linux userspace is constructed!
But whatever, you are just like the rest of the Linux Destkop community. You have made using Linux a part of your identity and cannot stand criticism, so you just become insulting, condescending, and generally dismissive of any issues anyone is experiencing.
> Why instead of sticking with your preconceptions of how things should work, you ask what are the others doing that let them be productive on a FOSS Desktop?
Because they are doing different things than I do! And when you want to do something different than what the Linux Desktop community does, their only advice is to not want to do that.
> We must have very different thresholds for defining "remotely viable".
Clearly. Which is pretty much exactly my point: Linux works for you because it fits your needs well, and it doesn't work for a lot of others, like myself, because it doesn't fit those needs well. If you're going to run around telling everyone how great your desktop is and that they should all use it, but refuse to recognize where it falls short, then you shouldn't be surprised when people don't want anything to do with your community.
Frankly, you are some of the most frustrating assholes I've ever had to deal with in computing.
I don't know which part I am telling you to use what I am using it. The point I tried to make the whole time is (a) there are so many different alternatives that are free and open source that it is increasingly hard to believe that going to a proprietary OS is the only viable solution and (b) those people that are still not being fulfilled by free alternatives should contribute to the development of a free alternative, or they will be SOL when the company screws them over or denies them freedoms.
> it doesn't work for a lot of others, like myself, because it doesn't fit those needs well.
You try to justify your avoidance of Linux by complaining of extremely low-level stuff (init stuff, networking, event notification systems, etc) and now you are talking about higher level "user needs". I link to an article about how people using FreeBSD are also successfully using it as a daily desktop and how the shortcomings are known-yet-solvable. Your answer then is that "you do things that others don't do" (yet, people using Windows do it?)
So what is it? What is your use case that requires you to be nit-picky about the low-level and at the same frustrates you at the high-level? What are the "different things that you do" that can only work on a proprietary OS? In a world with so many different-yet-imperfect ecosystem of different desktop systems, what is it with Windows (aside from convenience and familiarity) that "works with you, instead of against you"?
> most frustrating assholes I've ever had to deal with in computing.
All of my frustrating asshole preaching boils down to convenience and familiarity should never be an excuse to accept giving away your freedoms.
I put the FreeBSD link as way of saying "Ok, if you really don't like the Linux userland and if you still want to support Free alternatives go take a look at FreeBSD". Your reaction is to double down on the idea that I am here to defend "the Linux community" or that this is "my identity".
If me saying convenience and familiarity should never be an excuse to accept giving away your freedoms while refusing to accept your justifications and rationalizations to keep using a proprietary OS makes me a frustrating asshole, then tough luck.
However, if I were you I'd also consider the possibility this frustration you are feeling is due to the sad realization that you are trading away your freedoms for convenience and familiarity and that some dude on the internet is making you face that.
...? What is so difficult to understand about this? Try to pay attention: the way the computer works is fundamental to how user interaction works. That you can't seem to grasp this is mind boggling.
> I link to an article about how people using FreeBSD are also successfully using it as a daily desktop and how the shortcomings are known-yet-solvable. Your answer then is that "you do things that others don't do" (yet, people using Windows do it?)
Yes. Every day. All the time. Why do you think the vast majority of the desktop market is dominated by Windows? There are thousands of workflows, often with specialty applications, that are best served by Windows and largely ignored by everyone else. Hell, even something as simple as file sharing is a pain in the ass outside of Windows. Linux gave up and just implements SMB and pretends to be Windows for that task.
> So what is it? What is your use case that requires you to be nit-picky about the low-level and at the same frustrates you at the high-level? What are the "different things that you do" that can only work on a proprietary OS? In a world with so many different-yet-imperfect ecosystem of different desktop systems, what is it with Windows (aside from convenience and familiarity) that "works with you, instead of against you"?
So many ways, lets pick an easy one: It allows me to run multiple versions of the same software, on the same system, often at the same time, without any VM or container nonsense and without having to compile anything myself. It lets me put applications wherever I want, including removable media and network shares, without trick-fucking the filesystem to make it work. It lets me use software delivered directly from the developer without having to wait for middle men to package it, which includes alpha and hotfixed versions.
What is all this useful for? A bunch of shit, but lets go with the easy stuff: I can test software very very easily and ditch it very very easily if it doesn't work for me. I can get specialized builds from the developer or even just some hobbiest who happened to have the same needs as me without having to reconstruct a build environment. I can similarly run really old software that suits my needs and who's only modern equivalents don't work as well.
> All of my frustrating asshole preaching boils down to convenience and familiarity should never be an excuse to accept giving away your freedoms.
And mine stems from believing that I am the best one to decide what tradeoffs I want to make, not some holier-than-thou computer nerd on the internet.
> However, if I were you I'd also consider the possibility this frustration you are feeling is due to the sad realization that you are trading away your freedoms for convenience and familiarity and that some dude on the internet is making you face that.
Laughable. The fact is that a lot of my frustration is from having watched the open source community continue to make things more complicated and fragile while continuing to alienate themselves from everyone else and being evangelistic, condescending assholes for about 20 motherfucking years now.
Did you know that at one time I was president of a LUG? That I've contributed to open source projects? Built my own distribution from scratch? Used Linux on many different computers over the course of the past 20 years?
Yet you assume that because I don't like your waifu-OS that I must be some kind of scared newb, comforted by the existence of the start menu and double-click installers (note: I don't even like packages of any kind, including executable installers).
Yeah, you are. But let's not forget the original topic and why the conversation started in the first place: Apple is charging developers $99/year to be able to have software running on their platform and making it increasingly harder for those that do not. Then someone posts something along the lines of but the alternative is also privacy invading and provided by hypercapitalistic (sic) companies. There is nothing we can do. ¯\_(ツ)_/¯ This is what I was calling out for BS. This is a trade-off on moral principles that I am saying people should not accept.
Your complaints about Linux are technical trade-offs, and it just happens that you don't want to deal with the choices made by the most common systems. Totally fine. The point that I am arguing with you is that you are giving in the moral principle based on the refusal to (or being tired of to) work on technical things.
This is the part that I don't get: there are tons of other systems there work only with statically linked files. There are two OSes (NixOS and Guix) that basically allow you to run anything you want, however you want. There are Linux systems that make a point of not using systemd.
You certainly know all that. But you prefer to say "screw it, people are not doing things the way I want and I am tired of dealing with this shit. I am going to go use Windows".
Again, fine. But at least accept that you are giving in on a moral principle. No amount of technical discussion or accusations on my "identity" or trying to put this on "people from this community" is going to change that. You can call me all the cute names you want, but in the end of day you are trading your freedoms for convenience and familiarity.
> Yet you assume that because I don't like your waifu-OS that I must be some kind of scared newb.
No. The opposite. I assume that you are a very smart person! I just think you are just willing to compromise on a moral principle that I would not expect from smart and capable people and I think "others do not want the same thing that I do" is a feeble attempt at rationalization.
I just want to point out that these are able to cover only a small fraction of the things I listed, and you are required to learn a completely new language (each!) in order to use them.
> You can call me all the cute names you want, but in the end of day you are trading your freedoms for convenience and familiarity.
I don't deny it, that's the world we live in. At the end of the day I have to get things done. My frustration is because I wish OSS was better at supporting me in that, but 20 years of waiting for that to happen, and watching good ideas manifest only to die out practically unnoticed, have lead me to conclude it never will be.
Who doesn't? Now you are the one being condescending to assume that those that stick with the principle have nothing to do.
> Which is not a simple task. Why can't keeping old software be simple? It is in sane operating systems. Hell, even Linux can do it right,
I've wondered about these things, and I think the true reason is that Linux is a source-compatible operating system.
Other OS's solve this by the boring and painstaking task of assuring binary interfaces are stable and remain working. They usually do this by hiring and paying people to do it.
Linux does all compatibility at the source level, and binary compatibility is a little hit or miss. The common way to fix it is to recompile a lot of stuff.
As one example, I installed ubuntu 18.04 and it should be Long Term Stability.... but I did an
apt-get update && apt-get upgrade
and upgraded from a 4.x kernel to a 5.x kernel. I recall all the kernel dump stuff brokeWhy not? I've upgraded a few Windows machines from 7 to 10, and the upgrade has gone just fine, assuming there's enough disk space for the OS to store the upgrade files before it starts the upgrade. Similarly, I've upgraded Linux boxes (both Ubuntu and Fedora) across major versions. MacOS as well.
I don't know where you're getting this notion that an OS upgrade is a scary thing to do. In my experience, it's been a routine, if somewhat long process.
Also, I'm old, maybe things have improved but I've had upgrades wipe my hard drive due to centos anaconda bug once (centos 5 to 6) other times it just did not boot (yay using encrypted boot partition but thats on me and updating grub fixes it)
Added benefit is it also forces me to check/update backups
Certainly I have issues with Apple, but it's a simple cost/benefit calculation. Right now the benefits of macOS vastly outweigh the downsides for me.
Unless Apple's problems increase to the point of being unbearable (very likely to happen at some point) or the quality of desktop Linux increases significantly (unlikely to ever happen), I just can't justify switching. And I expect many, many other people are in the same boat.
My computer is a tool. Idealistic notions about free software are nice, but they don't mean anything if that software is worse than a nonfree alternative. Free software needs to be _better_ to win, and I just don't see that ever happening in the consumer OS space.
My point is that if you are willing to sacrifice your freedom for the convenience provided by the hypercapitalistic (sic, and lol at how pathetic this term is) companies, then don't complain about the lack of choices available.
> developers don't care about stability and/or polish
Try paying them just a fraction of whatever premium you paid for your iDevice. That might help.
I use Linux Mint and love it.
MS Teams, Skype and a surprisingly good list of software runs on it natively.
A Hackintosh inside VirtualBox IS a pain to setup, but pretty cool when it works. Windoz inside VirtualBox works better than ever, thanks to MS new attitude on embracing Linux.. which is still hard to wrap my head around.
I suppose if you're a socialist you probably don't understand how it all works without a government edict giving you instructions and making sure you and your neighbor have the same marginal product.
However, even without this edict, rest assured that you can make the change without the government allowing you to... Fell free to switch.
The level of rationalization of these lock in practices is just sad to be honest, fully neglecting how software becomes more accessible.
Even signed apps have been victims of malware attacks and I do think the check is primarily to ensure the developer has paid their Apple tax. It isn't that high, but I don't think I want to spend it. If it normalized, Apple will surely increase it and developers would have absolutely no handle to protest.
I think the true reason for the check is not money, but control. They want to control what software runs on "their" platform. For historical reasons, they don't have that control on desktops/laptops yet (but they already have it on phones).
I don't think that's a particularly good thing, but it does explain how <10% market share can make such a big splash. Especially for more casual projects, IMO.
That was wishful thinking from the get go.
No commercial UNIX was ever on open source camp, in fact they are the very reason while GCC was ignored for several years, it got a bunch of helping hands as Sun started the trend of user and development UNIX versions.
Also given NeXTSTEP heritage, UNIX on NeXTSTEP was always a means to have a foot on the DoD UNIX requirements, there was nothing open source about Renderman, Lotus Improv and many other NeXTSTEP based tooling.
What's that about? The "macOS User Guide" is available online only?
macOS is becoming an increasingly difficult platform on which to release software. We're going down the notarization rabbit hole (which is a nightmare), but given that we don't fit on the App Store, it's very obvious that Apple doesn't want us on the platform.
My suspicion is that they will eventually charge $$$ for a "developer unlock" on Apple Silicon, a move that I think will make both Windows and Linux look increasingly attractive to developers.
Don't mind me, I'm just annoyed that Microsoft won't add support for ssh-copy-id.
>>I also can't imagine $100 is easy to come up with in countries below level 4[1]
Someone who is developing for Apple platform in specific, has already spent ~$1000 in devices. Say they couldn't afford to build explicitly for Apple[1], they instead develop for web using a Raspberry Pi and try to leverage smartphone capabilities using PWAs; Alas Apple throws in hurdles there as well so that your PWA doesn't function properly on Apple devices[2].
I get it, perhaps this is part of Apple's aspiration i.e. 'You should deserve to be part of the Apple ecosystem' which is enticing to its customers.
But what's overwhelming to me is, Apple's blatant hypocrisy.
Exihibit -1: Data
Apple calls Google by name, questioning its business model around data and proudly calims 'they chose not to do business with data'.
Then why does Apple advertise its products using Google Ads?
So, it's like 'I will call out dirty work, but I will use the results of that dirty work for my own advantage'.
Exihibit -2 : Values
Apple claims itself to be the beacon of human rights.
a. We know Apple was included among list of other companies supplying user data for snooping in the documents highly regarded to be genuine.
b. We know Apple actively cooperates with an autocratic regime and its highly publicised 'Privacy features' isn't applicable there. But, Apple never includes 'USA only' when it advertises it's 'Privacy'. More over when confronted with proof of Apple's platform being actively used for exploitation of minorities, it outright downplayed/dismissed the impact of it.
[2]https://ionicframework.com/blog/is-apple-trying-to-kill-pwas...
> ...Then why does Apple advertise its products using Google Ads?
Congratulations, this cracks top 5 oddest Apple hater argument ever posted in this land of many of 'em.
If you could give a justifiable answer to what you've quoted from me, I'm all ears.
Apple’s alternative to google ads is essentially no online advertising.
Why again? In the world of silos and proprietary platforms it's an absolute godsend that PWAs even exist.
Ignoring the fact someone might have been given a Mac by someone else, or bought one second-hand for less, or that they might be working on a computer they don't own themselves, why is it that someone who can afford $1000 for a Mac can automatically afford another $100? Surely there has to be an amount that you assume they can't afford, right? If they can afford 10% more then why not 15%? Or 20% or 100%?
You're applying a sort of reverse of Zeno's Arrow[1] to affordability, and I think shows a distinct lack of understanding of how money works when you don't have all that much of it.
[1] https://en.wikipedia.org/wiki/Zeno%27s_paradoxes#Arrow_parad...
My main machine is a linux one. Costs nothing to write software on that of course.
I get the feeling that developers who 'came of age' in the last 10-15 years will slowly discover RMS was right all along.
Someone who has invested in ~$1000 specifically to develop applications for Apple ecosystem has to invest $100 to release the application, that is the overall context of my statement in that sentence.
>You're applying a sort of reverse of Zeno's Arrow[1] to affordability, and I think shows a distinct lack of understanding of how money works when you don't have all that much of it.
Cherry picking part of my sentence to make a statement, then claiming to throw insight about my understanding of how money works based on how much of it I have seems like using your own logical fallacy intentionally to make an ad hominem argument.
What they primarily "do" is have an identity to sue or pursue in case of issues. That keeps everyone in line.
For years, Windows got laughed at by EVERYONE because there was so much malware on it - in part because of its laissez-faire approach to letting the user install anything from anywhere.
Mac went for the closed garden approach and there's hardly any malware, adware, scareware or whatever -ware you can think of on the platform, which is one of the reasons why Mac is safer and considered to have a better user experience.
Curation is not a bad thing. And if an open source application wants to become popular for the masses - not the HN power user crowd, which represents only a small percentage of potential customers - they have to conform to its rules.
Likewise, they will want to be available through the Windows store as well.
Using the tools and platforms offered by the OS developers is the lowest friction option for installing software.
As for poorer people and countries, isn't this where the open source charities come in? Isn't this where the big FAANGs - including Apple - and the investors and everyone that earned billions off of software should come in? I mean come on, it's only $99.
This comment makes it seem like installing software outside of a curated store is responsible for security issues, but this is exactly what Linux and other like OSes do. You can install apps from anywhere and I'll wager you'll find less malware, adware etc. for them in the wild, than the Mac. Granted usage of these platforms as a Desktop is way lower making it a less attractive target for bad actors, but much of it owes to inherent OS design.
> And if an open source application wants to become popular for the masses - not the HN power user crowd, which represents only a small percentage of potential customers - they have to conform to its rules.
Open source applications have been popular with the masses way before the curated store app store model came into place. Publishing on an app store has a good chance for increasing outreach, but it should not make distribution and installation of applications in the classical way more cumbersome, should the user so desire.
The difference is that there is no rent seeking and you can choose your curator.
Gatekeeper is a commercial boiling-frog lock-in strategy sold as a security feature nobody asked for.
> open-source charities
Open-source, as a term, was invented in order to sell what was then called Free Software. It has nothing to do with charity.
> Curation is not a bad thing
Apple does little or no curation on the Mac AppStore, because the amount of developers using it is still relatively low.
I mention this since these stores are more comparable in size than Mac v Windows.
It would be hilarious if Facebook, Apple, Google, Microsoft, Amazon, Netflix, etc. decide to start a charitable foundation which just deposits $99 checks into Apple's bank account. They should do it. I wouldn't be able to stop laughing.
Curation, in the sense that Apple uses the term, is a bad thing because it creates a false sense of security. It blurs the line between protecting users from security threats and protecting Apple's business interests.
If Apple was truly interested in protecting users, they would keep these things separate as much as possible.
But they're doing the exact opposite. They keep mixing these things up as much as they can in order to shield their questionable business practices from scrutiny.
On top of that, the iOS side-loading ban is clearly aiding and abetting human rights violations.
So small utils and stuff, smaller open source projects etc. are not legitimate? Or should they shell out $99 extortion fee to have the pleasure of giving stuff away for free? This is just one of thousands cuts that will kill traction for Mac software.
Apple's focus is on maximising profit, and ours is on maximising mapping and the width of our membership, especially after the entryism attempt last year ( https://news.ycombinator.com/item?id=19008792 ).-
We've also recently received a non-profit signing certificate from Apple through our German local chapter, and two of us are working on getting JOSM automatically signed and notarized. Our workflow is at https://github.com/thomersch/josm/blob/master/.github/workfl... and a JOSM.app built yesterday can be downloaded at https://github.com/thomersch/josm/actions/runs/214334897 .
$99+ every year is a lot of money to an independent open source developer who's in most cases losing money for their work. The fact that a company worth $2 trillion is demanding it - it's really beyond outrageous.
Many of us used to pay for every single piece of software that we had to run on top of our already expensive computer around 2000 euros on today's money.
It's also a straw man, since I was talking about an OS developer wanting to publish their software, and you're attempting to sink it by portraying it as referring to a consumer wanting free stuff.
The subject of your conclusion, 'current generations', is also so vague as to be redundant. Current generations who are alive? Generations of 21st century? Of modernity? Of the West?
I'm afraid this is not a very good HN post.
The exception is being able realistically develop for a platform without little/no expense. People really are spoiled by FOSS tooling.
What you're referring to is the top-tier MSDN subscription, which is something that very few organizations will require.
This is in contrast with Apple, which requires you to pay $99 regardless of whether you're an individual or a corporate entity.
There are people that make Visual novels,text based games and other indie stuff(without using Apple tools most are Python,Java or Web tech) for free or a few bucks, I think they would not pay the Apple tax and either not support Mac at all or link to some instructions to workaround this limits while it is possible.
How many people stick with iOS because of all the apps they like, which may not be available on Android.
At minimum one would need the Shareware or PD disks tax to get hold of some similar compiler.
Sure, but in the case of an open-source developer working on macOS, he has already paid for his operating system; if he is using GCC, he has already paid everything the GCC developers require; why then must he pay extra money to Apple in order for other people to run his software in a straightforward manner on their machines (or, in the future, at all)? How is Apple even a party when two people wish to transact, when one writes and compiles free software on his hardware (paid for) and software (paid for) and the other runs it on his hardware (paid for) and software (paid for)?
Ironically that you mentioned GCC, it only came to be, because Sun made their development tools an additional payment to the base Solaris price.
DG/UX, Aix, HP-UX, Tru64, Solaris, and some Linux boxes ironically not considered serious enough for production deployments.
Apologies for the hijack...
Back to the main issue with right click.....
For that particular case, if you post the URL or location I can take a look if you want.
Thanks for putting me right.
So there's no point (is there?) letting any old people send in corrections, and waiting years...?
Perhaps you notice that (as a gross example too large to be likely) the big field a few kilometres away from you that's used to fly aeroplanes isn't labelled on OSM. You don't know much about maps or aeroplanes, but it's not on there.
If you go into an OSM editor and tell it that's an airport you're probably unintentionally adding false information. Because it probably isn't an airport, there's a good chance OSM cares exactly what it is, like maybe it distinguishes controlled and uncontrolled airfields, maybe it would prefer you label the area one way, and then also label any marked runway (perhaps there isn't one) separately. There's a Wiki full of instructions about the best way to label things. Sometimes there are also local conventions, maybe the Wiki says not to distinguish uncontrolled airfields, but in your area a convention has arisen to add a specific marker for them. All this is stuff that an editor ideally should know, but a random person who thinks "Hey why isn't this on the map" doesn't know.
For small corrections (such as changing a business from a pub to a store, adding a road, naming a street…) it's perfectly accessible to anyone interested.
For sure for complex edits (like touching important objects such as airports) it's better to make a note if you're not familiar with it.
Apple has as low as 0% penetration in those countries. The market has solved this problem. They still use technology; there are alternative platforms. Android, Windows, ChromeOS, KaiOS, and desktop Linux (which has as high as 5% market share in India) are cheap to use and develop for. It was always going to end up this way. There's the brand for the haves and the brand for the have-nots. Although even people on welfare in the United States have iPhones, consider that they're still the elite in global terms.
Does this change affect running unsigned binaries from the terminal?
It isn't. Apple's view of the world is that computer users are non-technical consumers who need to be protected from others and themselves, and that Apple are the ones to offer that protection. Open source is antithetical to this view because it puts the responsibility on the user, which is the last thing Apple wants.
I can sympathize to some extent with this view. There's obviously a large (perhaps majority) share of computer users who it describes - just not small/independent developers/hackers. Those users are better served elsewhere.
sudo spctl --master-disable
This removes all of these dialog boxes entirely.
It is still convenient enough for me to run software I want that isn't signed, but sufficiently obtuse that neither of my parents have figured it out. Given they are both prone to running any executable that any website tells them to download and run, this feature has probably save me several dozen hours of fixing their computers.
Currently most desktop management structures try to do it backwards by taking an OS, i.e. macOS or Windows, and then trying to glue restrictions on top of it which always leaves holes or undesired side-effects.
The best 'middle of the road' so far seems to be active monitoring with Apple's or Microsoft's native management tools or with stuff like OSQuery; it also tends to be less intrusive for people that are convinced they are 'better than average' (nobody is) and don't need to have an MDM babysitting them.
But even then, there will always be people thinking their personal preference definitely means the big bad corp did it wrong or their personal need is more important than trying to do something about the constant barrage or crap any machine faces during its lifetime.
For the home user, all bets are off.
I know the complaints remain that not enough apps are in the Microsoft Store, especially compared to iPadOS and Chrome OS if you include Android apps, but it is comparable to Chrome OS without Android support and still seems like an "alright, not terrible" third choice.
Personally I'd prefer family to be on iOS than MacOS, there's even less rope to hang yourself with there.
Can anyone confirm if I am recalling this correctly?
Out of curiosity, how often do your parents encounter the dialog in the article?
But in the Windows days every time I'd visit, they'd say there computer was "fucked" and had been put away until I could look at it.
It's shocking, it's worse than Windows (sad fact: Mac has more malware/adware than Windows since the last 3 years).
Of course you can't see that if you're not on Mac or if you have an adblocker. Ads detect the browser and specifically target Safari. Safari removed support for extensions last year, dropping all adblockers, it's wide open to targeting.
Safari has ad-blockers. It also has extensions. Just google it.
They rely on declarative blocking and/or system-wide interception (ie, you run them as an entirely separate app outside of Safari). The majority of them are not going to be able to handle things like CNAME unmasking or page source rewrites[1]. The declarative blocking API in Safari isn't built to support those kinds of features.
[0] https://github.com/el1t/uBlock-Safari/issues/158
[1] The exception to this being maybe AdGuard when you run it system-wide? I vaguely remember reading that it sets itself as a MITM for all of your web traffic at an OS level, which allows it to do page-source rewrites. I could be wrong about that though.
> Safari removed support for extensions last year, dropping all adblockers, it's wide open to targeting.
This is not true. There’s a dedicated section in the Mac App Store for Safari extensions, including ad blocking extensions:
New versions of mac os introducing new restrictions.
Doesn't take a genius to see that their end goal is to make mac os as restrictive as ios.
When that happens, will it still be the right spot for you?
I do wish they would just bundle up all of the safety-guards under a single toggle - put it in the recovery UI for maximum obscurity - to make this stuff as convenient for developers as possible. But I take the fact that they don't to be a shortcoming of product development, not malice.
By definition there will always be something out there that can't be developed on a locked-down platform. So there will always be an open platform, even if Apple decided one day (again, unlikely I think) to recuse themselves from that market.
This whole "issue" is just Apple trying to get people to put their software in the Mac App Store. Maybe a day will come where Apple try and lock down macOS to the level that they have locked down iOS... but I just don't see it happening. Apple will always need developers to develop software for Apple products.
Maybe they will drop a nuclear bomb on themselves. Anything is theoretically possible.
Apple moved their focus from the professional market who were willing to pay premium for productivity with better UX/Hardware/Software, to people paying just the premium .
It is a lifestyle brand now, people money because it is Apple, not because there is real value they gain for the higher cost.
Depending on what you work with, Windows or Linux is by far better option today. MS listens to developers (eventually), WSL , professional support, a lot of graphical professional grade applications all make it attractive. Linux is lot more flexible, works with less friction makes it easy to work with containers servers etc,
If you really need Apple hardware dual boot or flash a sensible OS .
My 2013 Macbook Pro is also still the best laptop I have ever used (I also have a 2017 Macbook Pro for work and I have to admit that the newer models rightfully earn their bad reputation).
If Apple continues to head in this direction, I think the right move is to migrate to Linux. Windows is a huge step back, as far as I'm concerned.
Gestures on trackpad for recent (libinput) Linux. It runs xdotool to stuff the keyboard buffer with keystrokes when it sees certain gestures. E.g. three finger swipe left and right do Alt-Left and Alt-Right, which have the effect of Back and Forward in the browser and some other browsing apps (e.g. IntelliJ). Four-finger swipe left and right switches desktop on my machine. It's one more finger than Mac but probably required not to conflict with two finger scroll.
Continuous: pinch zoom, rotate, swipe between pages, swipe between virtual desktops, swipe between fullscreen apps, show notification center, show all windows on current desktop ("Mission Control"), show all application windows ("App Exposé"), show Launchpad, show desktop
Discrete: browser back/forward I guess?
Leaps and bounds ahead of where things were at 4 years ago.
Libinput, while less fully featured than synaptics, seems to have a better physics model for the trackpad pointer translation. It still doesn't have fractional scrolling though, every scroll is still a discrete increment.
My 2019 XPS 15 went through eight at-home repair visits after hardware failures within four months. Can honestly say I’ve never used a less reliable machine- and every unit I’ve ever touched has had some of the worst coil wine issues I’ve ever encountered in any computer.
“Very similar” doesn’t really count for much.
Build quality is amazing, keyboard is great, screen is awesome (4k, hdr, touch).
It has the exact amount of ports my son needs, it can run games and it's weight is good to take it to the school.
Running an MBP now, but if sticking with Windows was important I'd have chosen a ThinkPad.
The trackpad feels like it's from 2012. The speakers are very bad. The fans are constantly whirring. It misses on all the details, while also making it harder to do my job.
It’s sad because the XPS is beautiful, but these same issues plague every Dell, HP, and basically non-Apple laptop. Even the most premium lineup (Envy, XPS, etc.)
How many years and fancy designs will it take before PC OEMs actually develop an excellent trackpad, not use tinfoil speakers, and use silent fans?
I wonder why not use Linux at that point tho?
But I have never had a laptop that gave me as much trouble with Linux. I bought two of them over the course of a couple of years, and both the one that shipped with Windows and the one that shipped with Ubuntu had CONSTANT hardware compat issues.
This was a while ago (after the reboot of the line), so the build quality and compatibility may each have gotten better/worse.
Note: I'm not a mac hater. I have 2, one I use every day and love it. I also have a PC I use every day. I still found the comparison videos enlightening.
AMD is currently running circles around Intel and won't be that easy to beat, especially because they have much lower prices.
You are right, for the price of a 16" MBP with 64 GB RAM and 1 TB SSD, I could buy a maxed out Lenovo X1E with 2 SSDs, so I could dual boot windows and Linux (I use Photoshop / Lightroom for personal photography but can't stand Windows otherwise). Oh, and I'd probably have more than enough left to go on a trip somewhere and actually use the mobile part of the laptop.
So yes, on pure performance numbers, I completely agree. However, that's really not the whole story. Not everybody needs absolute maximum performance. I wouldn't still be happy with my 7 yo mac if I did.
I use my laptop every day for (hopefully) years and years. So I care about other things. First and most important of all, the touchpad. I've tried Lenovo (T series), Dell XPS and HP Elitebook models. They all absolutely suck compared to a mbp. A friend has a 2-3 yo Dell XPS. The palmrest plastic is all sticky, the screen is wobbly the touchpad is a nightmare (sometimes it clicks on its own). I have an HP from work I sometimes use. The junction between the palm rest and the body isn't level, so after a few hours of working on it my wrists are raw from rubbing on the body. The same laptop has a power light right in front of the screen that is blinding. I had to cover it with a piece of aluminum foil to be able to work in the evening. These kinds of annoyances make it worth it for me to spend the extra cash on a mbp that will just get out of my way and let me work.
Razer Blade 15 Studio Edition - OLED 4K Touch 60Hz - Quadro RTX 5000 - Mercury
Intel Core i7-10875H
Windows 10 Pro
15.6" 60Hz OLED 4K Touch
Quadro RTX 5000
32GB RAM, 1TB SSD
US$4,299.9916-inch MacBook Pro - Space Gray 2.4GHz 8‑core 9th‑generation Intel Core i9 processor, Turbo Boost up to 5.0GHz 64GB 2666MHz DDR4 memory AMD Radeon Pro 5500M with 8GB of GDDR6 memory 1TB SSD storage
$3,899.00
Different enough that certain pro workflows (e.g GPU rendering) would be feasible on that machine that are not on the MacBook
You mention the worse touch pad, and I agree, it took me a week to adjust... but on the other hand, the keyboard of the ThinkPad is so much better, in fact it might be the best keyboard I have ever used (not only on a laptop, and I have used mechanical keyboards).
Also, KDE/Kubuntu seems to have progressed so far over the past 10 years (since I used it last) that it feels better than Mac OS to me currently.
The only pain point remains my photography workflow, which I still haven't migrated and for that I still use the MBP... If I manage to migrate that, I don't think I'm going back to the Apple ecosystem soon.
Currently I feel much more productive at my programming workflow than with the MBP. Doing mostly TypeScript, OCaml and Rust development. And that for about 1/3 of the cost.
Linux desktop has so many hidden problems, especially on laptops, you're definitely better off going the Windows route, unless your time is free.
For what an OS should do, Linux does it far better, and Windows does it terribly with its ancient nt kernel.
Then it comes down to usability for end user, gnome gets out of the way, and allows pretty good customization. MacOs is pretty mediocre and restrictive. And Windows is again pretty bad.
Then it comes to software availability, which is a bit a chicken and egg issue that I don't find too much value in. If the software availability restricts you, then you got to do what you got to do, with the options available.
Then it comes to value for hardware. And here, oh my how things have changed in the past 5-10 years. If you don't buy a mac for the software availability, or for some other restriction, you are literally making a terrible purchase. You get a far worse computer for more than twice the cost. This is no exaggeration. Upgrading components when buying is somewhere between twice and ten times more expensive than the equivalent components.
I laughed. A lot. The whole thread is full of people noting the level of hardware and software polish on offer from Apple but unavailable elsewhere, and the seamlessness of working in a MacOS + iOS + WatchOS world and how nice that is, and your takeaway is that we're all dumbasses making the wrong choice.
Peak HN right there, boyo.
Oh come now, there are millions and millions of professionals using macOS to do work every single day.
This is basically a slippery slope fallacy. Today they're making it marginally hard, what might they do tomorrow?!?
There are many reasons to prefer macOS to Linux or Windows. The Apple ecosystem works extraordinarily well together. There is nothing that you can buy, not with all the money in the world, that matches the seamlessness of owning an Apple Watch, iPhone, iPad, AirPods, and a macOS device. You can't do it with Linux, Windows, Android, or anything else. It doesn't exist.
I prefer macOS for development work, and for basically any kind of work. I loathe the Windows UI/UX and Linux is far too often a second (or third) class citizen. There is nothing that I have needed to do that I have been unable to do because of macOS. Not once.
Not to mention... if you want to write software for macOS, iPadOS, WatchOS, or iOS you must own at least one Mac.
"The core of the slippery slope argument is that a specific decision under debate is likely to result in unintended consequences." [1]
I don't see any claim of unintended consequences here.
Speaking for myself, every time I've used a Mac for work it's because I had to, being that it was what the employer issued.
Could I have made a stink to be issued something else? Sure, but that is trading problems for problems. Have I used worse OSs? Yes, but that doesn't mean I should be grateful for what I find negative about the Mac OS.
I'm not going to be buying myself a Mac as I'm more productive using a different OS, but it's fine if millions of others do. Just factor in that there's employers with IT decisions out there too.
There was one short term gig [small start up needed short term help, I was available] and they wanted//needed me to bring my own laptop for work. "Fine by me, is it OK that my laptop runs off of Linux?" It was fine. Everyone was happy. If similar would happen more often that'd be great, but I'm going to cooperate otherwise within reason.
Right, and how many of those are using macOS because they're "forced" to, as a sibling suggests, or simply by force of habit?
Moving from macOS to Linux or Windows (or from any one OS to any other, really) does require some time. It's not necessarily difficult, but it still takes time. Time that the same professionals might find is better spent on their actual professional work.
It could be argued it's a boil the frog situation, but for me that means the incentives to change the OS aren't quite there yet. Maybe if MacOS 10.17 goes too far with restricting what people can run on it, there could be more people switching. But remember, many of those "professionals" are not programmers, they use standard "enterprise" software, like Adobe or whatever. I bet most of those people have no idea what a terminal is. They would probably not even notice such restrictions are in place.
We’re probably not doing that anymore
Right, because you know why each and every one of the billions of users do what they do, and of course, none of them would be doing something by choice, because how could anyone possibly like something you do not?
Of course people may choose MacOS. I've been using it for a very long time and hopefully that won't change anytime soon. But that doesn't mean that everybody who uses MacOS does so by choice.
I don’t want to move to Windows or Linux. The time sink is irrelevant. I am a software engineer and I PREFER macOS. So do my coworkers. So do many, but not all, of my friends. So does my spouse.
Many of you replying here just seem completely unable to grasp that other people exist, with other thoughts and opinions.
As someone who never bought any Apple products, I find it harder and harder to see why I would buy one. I have friends who are quite invested Apple owners who say they will most likely not buy Apple again because of the way the product has changed for the worse (in their eyes).
No. My line in the sand is Apple locking down macOS so that I cannot install applications outside of the Mac App Store. These "restrictions" that seem to annoy other people do not bother me. At that point I would just migrate over to Linux and maintain a Mac for any remaining Apple specific dev.
I'm not sure exactly where the line is on mobile. I don't feel restricted by the iOS ecosystem, but I do understand that others might. If there became a time where I wanted to abandon iOS then I would likely just go without a phone or get a flip phone. I refuse to use Android or any product developed by Google.
They've been making it marginally harder for years and years and have consistantly announced features that tend towards making it more like iOS.
It is a fallacy when you're signaling the world a roadmap to slide down the slope ?
Wait, have you seen them ? Can you link the source for this claim ?
> seamlessness of owning an Apple Watch, iPhone, iPad, AirPods, and a macOS device.
Why do you need this seamlessness ? Is your attention span so short that you forget what you were doing after the first error pops up ?
Are you seriously asking why one would want a system to be more seamless? Less cognitive overhead = more productivity, period.
For me, the "seamlessness" opened new possibilities of use. What I really love is being able to use the phone from my computer. I don't have to have it handy.
Examples :
1. Call and take calls directly from the computer. Extremely practical with corded headphones I use for listening to music. Could I just get my headphones off and grab the phone? Of course. If I noticed the phone ringing.
2. Handle messages from the computer. I don't send and receive messages that often, but for some random 2FA over SMS this is just so practical. Could I grab the phone and read the code? Yeah, but if the computer does it automatically it's much nicer.
3. The Handoff feature, for example when I'm on the bus, start reading some article on some website. When I get home / at the office, I can open the page on the computer. Couldn't I copy the URL and type it in? Of course, but it's clearly a pain.
4. Internet sharing: just activate it from the computer, don't have to copy the password, etc by handling the phone. As above, I could of course do this by hand, but it's much more practical.
Maybe all this could be set up somehow with Linux / Windows and maybe with android too. I honestly don't know - my windows PC can't even get internet sharing via usb out of the box (didn't care enough about this to look into it more). It works fine on Linux though.
It's not a question of having a short attention span or of doing something very difficult. It's just having tools that work for you and getting out of your way. After all, that's why we use machines (which computers are): to automate things.
1. If I don't notice my phone ringing it's because I don't want to notice it ringing. If I'm waiting for a phone call I will check my phone often or not use headphones.
2. Is being aware of where your phone is and typing off the code from it really so challenging for you ? I don't know about you but I spend maybe 1-2 minutes per day on punching in 2FA codes and most of the time I don't even realize I'm doing it.
3. DM link to yourself on twitter or any other platform. There is also sync for chrome so you can sync stuff as you want, but to be honest whenever I am reading something on the bus the link is still where I found it when I get home. Somebody sent it to me ? Open messages on computer. Found it after searching google ? Make the same search on PC.
4. I don't understand what is complicated about this. I swipe down on my phone and press icon for hotspot. My computer connects.
It's really interesting that Apple users speak about how everything is so smooth yet they don't want to "fumble around with the phone", seems like an oxymoron for me.
Seamless means I can call or text from any of my devices. Switch a phone call audio from my laptop, to my phone, to my AirPods. Go for a run and stream music from my watch directly to my AirPods, without my phone. Unlock my laptop with my watch. Confirm a password from the keychain with my watch. Pull up a browser tab from my phone. Share a clipboard between all my devices with zero setup. On and on and on.
I can't remember the last time I ran an unsigned GUI app as part of my development workflow.
"To each their own" is the key principle we're missing I think, personally my encounters with Windows have been by far the most frustrating and unproductive interactions with an OS, but some people wouldn't ever step their toes out of Microsoft land. I'm not sure how much of my dislike for Windows is because I'm simply too set in my *nix ways and how much is genuine bugginess and UI obtuseness as well.
On the downside, Linux still doesn't have an advanced GUI Git app and other cool stuff like Paw.
Or you just buy apple stock and keep using Apple ? That way you are just helping yourself.
People who do not see the value love to say this, but it doesn't make it true.
Today I use a system76, I have used various thinkpads over last few years , I would recommend thinkpad any day over similar priced Apple .
I don’t see value for the cost anymore .
Not everyone is. I have absolutely no interest in going to an environment where I can't run native Office, or a decent mail client, etc. And I have less interest in putting up with the garbage fire that is Windows.
I don’t need native MS office, with sharepoint and google there is really limited value to run a desktop version .
Perhaps if you are professional publishing there maybe a need, for vast majority of regular office users who are just doing documents / presentations and spreadsheets for limited consumption , there is no real need for native office. The collaborative features online are lot more valuable
One of the reasons I originally choose OS X was exactly office , it was valid 5-10 years back , I needed to be able to talk to developers and management/customers OSX fit that perfectly , it gave the best of both worlds , today using Linux if I download to file to Libreoffice sure the formatting still gets messed up ,however not once in sharepoint has it happened to me and only rarely in google docs
Pre office 2016 , Apple versions of office had all kind of kinks which made it just as annoying to work with sometimes you were forced to keep mentioning your were on Apple version of Office
Everyone ‘s needs are different, if your workflow does not have suitable alternatives you need it sure .
My point is with average hardware and increasingly locked down OS the alternatives keep becoming more attractive .
Don’t get me wrong OS X was/is still great . first time I did OS X upgrade 10-12 years back I was amazed , it did everything on its own , the files I had opened back exactly it felt out of the world ! compared to windows back then you had to format your disk reinstall all your apps and copy your files back .
The application install/uninstall is great no messy over abused Registry needing you to reinstall the OS every 6 months. The UX is still great .
However the other OSes have caught up and Apple is no longer ahead of the curve enough to warrant the effort
I don’t see that. I see them trying to protect average users from malware, something they have done a pretty decent job of.
It’s the job of a gui shell (finder/explorer) to discern user intent and do the thing it thinks the user wants. This is that happening. Users don’t want to run malware.
I’ve not seen anything that suggests that Apple wants to remove the ability of people to run arbitrary programs. Indeed, it is essential for developers to run novel binaries.
I've been hearing that for the past decade. With the exception of some reasonably deprecated technologies (32-bit support, etc...), to this day I'm able to run essentially all of the software on my Mac that I did back in 2010.
If and when Apple does prohibit the running of third party apps, I'll switch to another platform. Until then, this is all just FUD.
Apple doesn't really care that you can run it by using a bunch of workarounds if they have 99.9% control over all software distribution.
Come on. It’s literally five mouse clicks.
Why does it even matter if it's a usability nightmare if the user wants it they should be able to install it if it's open source.
> Why does it even matter if it's a usability nightmare if the user wants it they should be able to install it if it's open source
Sure. And users are able to install it... it's just a little hidden. My point is if you can't even figure that out then you probably can't figure out most OSS either. Most.
Being so dismissive of the user's wants is just Apple fanboyism.
I will agree that many OSS desktop applications don't have the most modern UI and are not as visually appealing as some paid-for apps. But in terms of usability, "beautiful" apps can be just as if not more frustrating than dated-looking ones.
There's especially often a lazy route to perceived usability that consists in just not providing many features. Of course, it's easy to create an easy to use application if it doesn't do all that much (like $20 mail clients that can't even do GPG - no thanks, I'll switch back to ugly, but perfectly usable Thunderbird).
So yes, you can run the same software (mostly) as in 2010 knowing the workarounds. But as a consumer you are probably missing out on new, great software because developers wont pay the apple tax to make their stuff available. So you're already affected. It's not FUD, you're just not seeing the issue.
What "great software they're missing out of"? Who knows? That's my point! It increases the burden to distribute software for Macs, so as a consumer one's missing out on what could have been. My guess is lots of small open source software won't make easy to install distributions for Mac.
What makes me sad is there is nowhere to switch to seamlessly.
The writing has been on the wall since gatekeeper was introduced, but we stayed because there is just no better option. Some options are viable, but require sacrificing a decent chunk of the comfort we have now. It's the eternal waiting for the "year of desktop linux" except we moved the goalpost to laptop linux, battery performance, commercial third party support etc.
The funny thing being that people who didn't have these frictions already switched and will say "just do it, it's easy". But we won't have a choice anyway.
And people like you and me can turn it off.
It's not at all clear that Apple will remove the ability to run unsigned binaries. As of now, it's FUD. That's all.
And, moreover, it's mostly FUD in places like this from people who hate Apple anyway.
Issues are on the implementation, with for instance the network calls on every command run if for any reason the CLI is not whitelisted.
Also I am not against iOS either, I just need an alternative for the tools that don’t fit the model, and that role is currently filled by macos. The more macos is iOSified, the less it fills that role.
I mean, sure, it might happen. But hasn't happened yet.
still the real concern many have is, with the switch to ARM based processors will MacOS effectively inherit the restrictions of iOS
Apple had been transitioning to 64-bit for over a decade when they finally dropped 32-bit support. That transition period is more than reasonable.
Well, there is no Mac ransomware, right?
People like Gruber coined the term "App Console" to try and justify locked down iOS yet we're also told how powerful iPads are and how they're computers.
Why is it ok for the iPads to be locked down "App Consoles", if that's ok shouldn't it also be fine to lock down Macs and force everything through the App Store and make sure Apple gets a cut from say Creative Cloud subscriptions and Alberton Live installations?
I personally don't agree with any of it but I'd like to try and understand why people think one is ok but also not the other.
The iPad is by definition a more limited environment in that it IS locked down and heavily sandboxed. What you get from that is a hyperportable tool that pretty much Just Works All The Time without the need to worry about security or administration.
There are absolutely things you can't do there. For any advanced user, it's unlikely to provide a sufficient computing environment in and of itself -- but there are lots of folks for whom a nice iPad is entirely enough. My 80 year old mother only rarely touches her laptop nowadays (realistically, it exists for the version of Quicken she likes + the need to write embroidery patterns to flash drives for use with her INSANELY complicated sewing machine).
This is good.
But you trade some things away by setting the dials in that way (high portability & battery, high security) -- obviously, there's less direct user control, and less ability to customize, and outside environments like Pythonista I don't think there's any way to write code on it you could use on it.
But that's fine, because if the iPad doesn't meet your need as a primary, you probably have a regular computer on your desk, too. A Mac works just like computers have worked for 40 years -- you own the machine, down to the metal, and can do anything you want with it. This freedom comes at a cost (increased risk of crashes or malware infection), and may not represent the dominant mode of computing for regular humans going forward. That's fine. Not everybody needs that.
So the distinction is actually really simple: They're different products, positioned to address different user stories. Why shouldn't they have different approaches to lockdown/security/customization?
I mean, car makers have several models available, too, with often very very different capabilities and functions. That's also ok.
Apple's new linker automatically adds an ad-hoc signature to ensure people building outside Xcode don't experience any disruptions as part of this new requirement.
This requirement does not change GateKeeper or Notarization.
More details here: https://eclecticlight.co/2019/07/09/understanding-signature-...
Yes, it's just an initial check. But is it necessary? What exactly is the use case basis for Apple transmitting and logging data on every application you run on an operating system you have a consumer guarantee of zero-tampering post-sale.
So, let's work this out: How easy is it to not upgrade macOS, retain consistent performance as usual, and not lose support if the userbase remains unsatisfied with Apple's change to an exchanged good? By my understanding, as with Windows 10, Apple will eventually require you to upgrade. If you're upgrading to a system that maintains the same performance and does not introduce express limitations to the product post-sale, that's great! Go for it, live merry. However, in this case, the userbase has zero clarification on both co-owned data transmission and a remote check that appears to trigger a constraint on workflow. There's no use case basis that makes sense for doing this, because Apple has established guarantees for decades prior to this new process that claim macOS is not susceptible to malware. So, it begs the question: Was Apple violating consumer protections by making false guarantees, or is Apple violating consumer protections by limiting the function and utility of the product post-sale?
That's what people are asking right now. We don't care about the nuance of the check. We care about the basic characteristics of, and more importantly the legitimacy of any use case for this check, given promises made to consumers at a prior time of purchase.
macOS is, in fact, susceptible to malware. (A notable example hit HN just the other day [1].) I don't think Apple has ever literally claimed that it isn't susceptible, though they may have sort of hinted at it (especially at the height of the "Get a Mac" campaign). To be fair, there has not been very much macOS malware then or now, though it's questionable how much that has to do with macOS's design as opposed to factors like the size of the target userbase.
The broader point though, is that Apple has established the belief that macOS is not susceptible to malware. That's why people don't "need" a virus scanner running in the background.
And this belief is widespread enough that it warrants questioning the basis of a use case for this check: Why does macOS need to send my data to a remote server upon initial load of each application to verify it with Apple's whitelist (approve-list? what's the right term these days?), if the operating system's existing protection has to date fulfilled the implied guarantee by CEO, Tim Cook, and former CEO, Steve Jobs, of zero or limited, but otherwise insignificant, exposure risk to malware?
When a piece of (signed) malware becomes even moderately sucesful, Apple shuts down all its installation vectors by banning every dev account that's ever signed it. If nothing else this makes it harder to develop malware that spreads rapidly through the App store, forcing bad actors to invest a lot more work into finding 0-days.
Also so the os doesn't have to repeatedly rescan apps, etc.
All major Linux distros for example still have no viable way of creating signed programs or anything like Gatekeeper.
So, what follows next?
Hence the slope.
https://developer.apple.com/documentation/xcode/notarizing_m...
> You can only notarize apps that you sign with a Developer ID certificate. If you use any other certificate — like a Mac App Distribution certificate, or a self-signed certificate — notarization fails with the following message: "The binary is not signed with a valid Developer ID certificate."
https://developer.apple.com/documentation/xcode/notarizing_m...
https://developer.apple.com/library/archive/technotes/tn2206...
The issue is not whether expert users can run unsigned software, the issue is whether unsigned software will even be written and distributed by developers. Perhaps some free software, but it's not a viable way to distribute paid software.
To make my app visible to the main app, I place a "cookie" in the main app's directory (not my design), which is done by the installer script. Without this, the main app will never find my app. And the user can't launch me until he sees me in the list of available plugins. Vicious circle.
However my impression is also that it's mostly non Mac users who are concerned with this, so it seems unlikely that Apple will have much incentive to reverse course unless they screw up and go a few steps too far too soon and create a bigger outcry. Even that would probably just delay the process.
Nothing has really changed in this article though. You can still run software just as before.
But I almost never see anyone pointing out this is the equivalent of think of the children applied to software distribution.
While indeed this kind of control reduces the chance less informed users run random code downloaded from sketchy sites. I think it does little to actually curb malware, since all you have to do to pass the bar is pay 100 dollars to apple.
I believe this is Apples attempt to fully control the software distribution business for macs the way they do for iphones. Eventually mandating that all software comes through their store, uses their payment provider, etc.
Mobile OSes got to rethink everything in an era of constant adversarial connectivity and started off on a better foot in this regard.
just curious, but what makes it specifically hard?
SPI is system private interface, also known as private API–Apple doesn't document it, can change it at any time, and usually discourages its use.
the term threw me off
Whilst this works for some programs, it gets... Difficult... When dealing with others.
What permissions should sh get, for example? And do the programs it will call inherit the same, or do they get their own permissions, or a hybrid?
The permission model works pretty similar here to a restricted user account. It sees system files as read-only, cannot see the contents of certain files and directories, etc. The root of the filesystem might be of the parent system or of the sandbox itself.
On macOS, reading certain directories (like the user's Desktop) will result in a user consent prompt due the sensitive contents. There is, after all, no guarantee that the request was directly initiated by the user, and not some curl-pipe shell script. There is however a "Developer Tools" entitlement that encompasses all of these sorts of prompts - but this is meant to be enabled through a developer action and not any user-presented prompt.
On macOS, there are basically higher-than-root system integrity protections, such as modifying files that the OS maintains. You can disable this system protection by booting into recovery mode and running a command-line tool.
Generally, the goal with system integrity protection is not to restrict professional work but to restrict the ability to publish software that tells the user to disable system-wide protections. There was recently an issue with the Google installer where a Chrome update wiped out part of the system when these protections were disabled, primarily noticed on hackintoshes and video production Macs where tools require SPI to be disabled to run unsigned kernel extensions, etc. Oops.
Apple has been trying to reduce the need across macOS releases to have applications need to be installed at all, with recent releases making items like browser, system, and kernel extensions bundled inside the application itself rather than being distributed across the filesystem. The goal is likely to eliminate app installation on macOS from needing to be a privileged operation.
For example, say you use pass [0], it's just a Bash script. You want it to be able to access pbcopy/pbpaste, for basic functionality to work. You don't want to give it permission every time.
However, you probably don't want sh to be able to access pbcopy/pbpaste without permission.
Scripts themselves should hold certain permissions, but those permissions are currently held by their host application, because sh /usr/local/bin/pass isn't identified by the system as an application. The app is still considered to be sh.
Software like clipboard managers also wont work. Screen sharing and remote desktop software similarly wont work. Screencast software wont work. Hotkeys software wont work. Most desktop automation software wont work.
I could go on and start looking at what i have installed to extend this list (i'm sure most of the software i have on my PC wont work), but i guess you get the idea. Almost everything that doesn't fit in the media consumption model that you'll often find on a phone or a tablet wont work (and amusingly enough, at least on my Android, stuff like a file server does work, though i've heard Google wants to remove that functionality).
The real problem is that the desktop security model is outdated - it was designed for a world where software developers are trusted by default and users need to protect their data from each other. Today we can’t trust that developers will respect my data. I mean, the fact that any application I run or any npm module I transitively install could upload or delete any of my personal documents is insane. We absolutely need to preserve my ability to run software I write, and run screencast software, file servers, etc. But permission to read my data should not be given by default to any software I happen to run. The Epic thing makes me nervous but generally I think Apple’s direction here is the right one.
Media consumption apps are nice and good but I think pretty much all innovation is dependent on media production apps. A permissions model that treats media consumption as the most important use case will necessarily inhibit artistic expression and utility.
Why is it any different today? You can always only install applications you trust. It would be useful to have sandboxing for untrusted applications (especially when said sandboxing would also allow you to monitor what the application is doing), but not all applications are untrusted.
Today I have several computers. Each computer only has 1 user. And yet my /etc/passwd file still has 110 entries somehow. And it doesn't really help - the thing I need to protect the most on my computer is my data, and most programs on my computer could read and modify all my data with impunity if they wanted to. The permission model nothing to protect my own files from the programs I run.
Using tools like homebrew I install new software very frequently, and I don't have time to vet the code I run. There is a staggering number of software developers who have contributed code that runs on my computer. Some of them work at companies in direct competition with each other. Some of those companies I don't really trust. (Hi Facebook). So I rely on sandboxing in the browser and on my phone to keep my data safe.
The UNIX user permission model just doesn't meet modern needs.
A game engine isn't likely to do that in a production build. Even if it wanted to though, these sorts of "file ticket" sandboxes still has support for "directory ticket" and "file watchers". Even if storage specifics like "drive" or "path" are opaque to the application, they can still ask the user for permission to an entire directory (either explicitly in an "Open Directory" or implicitly in directories they naturally own such as "app data" and "resources" directories). Figuring out "where" that directory is for the user in Blender or Krita might not be straightforward, but just because those "tickets" are designed to be opaque to applications doesn't mean they have to be opaque to users and the operating system has lots of interesting possibilities to answer user questions about where things are, such as smarter Save File dialogs that are "ticket aware". ("Open Tickets > Game X has an Active File Watcher on this Resource Directory")
Almost all the same applies to other similar tools like file servers, file managers, VCS clients. Opaque/transparent is a "cone" in "ticket" based systems. It probably should be opaque where exactly my "file share" folder is stored, and all of my folders that are not my file share folder to a file server, so long as the contents inside that file share are transparent enough. The hard thing is defining those "cones", but the past default of "everything is transparent" is a problem and the over-correction in some systems to "nothing is transparent" sometimes blinds us to finding better ways to define these visibility cones rather than complain that they exist at all.
(Fwiw, all of the above is possible in the strict UWP Windows sandbox today: you can ask for directory tickets, you can ask for file watchers with those tickets. This isn't entirely theoretical, there have been practical applications, if not enough.)
I actually have worked on two AAA game engines that did exactly that. The entire idea was to make importing stuff easier and minimize the time between the artists editing content in their content editor and having it imported and visible in the engine.
> Even if it wanted to though, these sorts of "file ticket" sandboxes still has support for "directory ticket" and "file watchers".
How are those given exactly? You'd need to ask for permission for every directory? If you cannot have the program monitor the directories, how would it know that a file changed before asking permission? Or the permissions will be asked at startup (since it is very common to edit existing content instead of only importing new content - the editor remembers the original paths for all content and can start monitoring it at startup).
TBH this all sounds like a UX nightmare, especially when the entire goal is to make the process smoother.
For example, some backgrounding modes on iOS require an app to get an entitlement to act as a VOIP client, or a mapping directions app. The system access is limited to only give access to the things which a VOIP client or map should need in the background.
On iOS, ReplayKit allows apps to participate in screen casting - both with first party support for an app being cast, and for an app which wants to share a video stream out.
Screen sharing on macOS also will likely move to ReplayKit, but it currently requires the user to approve a request to share the screen.
You can open a 'folder' rather than individual files to gain access to a full project structure.
Clipboard managers are difficult in a sandbox model where the clipboard manager has no permission to stay running in the background. Similar applications like custom keyboards on iOS solved this by having a smaller 'extension' stay resident, and having that extension run with a very restricted set of permissions. For instance, no access to shared storage, IPC, or to the network. A keyboard must work without these permissions to get in the App Store, but they may prompt the user to elevate permissions.
I agree with this, but I can't fully get on board with it.
I've worried about the lax security model of desktop software too. Apps these days need to ask permission before accessing my documents, or my desktop, or my downloads folder, but they can still access all my company's code and SSH private keys. It feels wrong for this to be open-by-default. Same with accessing the clipboard, or drawing on the screen, or changing system settings, or injecting code into the Finder: these all seem like things I want to opt in to doing.
But my problem with this — and it's a stretch, I know — is that if the only extra entitlements a program can have are the ones that Apple explicitly allows, then no developer can have any ideas outside of what's already been thought up. As we increase security, we also dry up the innovation well.
For example, there's a Finder API that allows you to add badges to files in a directory to reflect their syncing status. This is an API that Apple allows apps to use — but it was originally implemented by Dropbox, which injected code into the Finder. They had the idea, and the idea turned into a general API.[1] (Now that I think about it, there's almost certainly prior art to this, but Dropbox was where I first saw it)
Similarly, I use a whole bunch of background utilities that currently use the "Screen Recording" or "Accessibility" Privacy permission on macOS, even if they aren't screen recorders or accessibility helpers: things like letting me move windows by holding Option, or switching apps by using the keyboard, or a Spotlight replacement, or adding a delay to ⌘Q, or the snippet manager I just used to insert the '⌘' character there. The entitlements that allow these applications to continue existing were developed after the applications themselves, and to use them, I have to opt-in to functionality that was previously allowed. If the entitlements didn't exist, we'd have to rely on Apple to think it up, and the way they're behaving, I doubt they'd be as generous as allowing one like "can read any pixel and draw anywhere on the screen".
Clipboard managers are another thing that wouldn't exist if OSes started out locked down. Not only do you need to access the keyboard, you need to do so from the background! It was the openness of desktop OSes that gave developers this idea — on iOS, nobody would have thought it up.
Way back when, in iOS 4, Apple gave apps the ability to run in the background, but only certain types of app — music playing, voice calling, and location-based apps received dedicated APIs to do that. Again, Apple waited to see which types of program were popular on other platforms, and based their APIs around allowing those specific kinds of app. If all platforms started life locked-down, maybe one or two of these categories won't be available today.
f.lux, the program that runs in the background and dims your screen red in the evening, is another example. I used to love using it on my desktop computer. But in iOS, they asked for the API, and weren't given it. And honestly, I'm kind of on Apple's side with this one: tinting the screen is the sort of system property I want only done by the OS itself, not an app, so now I use Apple's implementation of the same idea, Night Shift. But again, if the ability to tint your screen did not exist on desktop OSes, I'm willing to bet that Apple would not have come up with the idea.
And even if the idea is there for an entitlement to exist, that doesn't mean that Apple are going to allow it: adding one costs developer time, testing time, and documentation time. In a recent episode of Accidental Tech Podcast, I discovered that Switchglass (a Dock replacement I use) isn't allowed to Quit other apps, a feature I've sorely missed, because it's disallowed by the macOS sandbox. The idea for the entitlement is there, and the need is there, but Apple isn't bothered about apps opting in to such fine-grained functionality as quitting others. Ask me it through a prompt! That would be great!
I hope you see what I'm trying to say here. It used to be the case that macOS "allowed" iOS to exist, because it soaked up all the complexity — and slowly, features that proved popular on the desktop were allowed to exist, in a secure fashion, on mobile. I'm worried about how when I run random programs on my Mac, they have access to all my important files. But I'm also worried about the future. The tighter the grip OS manufacturers have on what sort of code can run on users' machines, the less innovation we'll see, and the worse computers will become.
[1]: https://developer.apple.com/library/archive/documentation/Ge...
More importantly, if they see something like a permissions screen, they will have a false sense of security.
And severe restrictions on the app, would hamper user experience. Code signing and developer ID are the most practical means to ensure quality software.
With weak sandboxing we're still left with the problem of LPE -- once you're on the box (with, by default, unlimited network access!) you can gain root quite quickly, because the kernel interface is rather large. So you still need code signing and developer IDs. However dev IDs could be a federated system -- user's shouldn't have to accept Apple as the total and sole authority for accepting or rejecting apps/developers.
$100/year to avoid a scary warning about how your app is definitely a virus? It's like a protection racket.
Since the latest awful hardware products (terrible keyboard, control strip thing that breaks, no escape key) with MacBooks and a great improvement with using Linux via Purism and System76 I've managed to move away from Apple.
I look forward to the day when I can afford a System76 laptop.
The latest round fixed all of these problems.
There's also a physical ESC key now, and for me, personally, the touchbar is a pretty neat feature after a bit of getting used to it, and some tweaking.
No idea if it is prone to fail, but I believe the rather sizeable fleet of touchbar Macbooks at work hasn't had a broken touchbar yet (there have been other failures)
I've yet to see anyone get a Linux machine and not struggle with something; maybe that'll happen someday soon, but so far everyone seems to have issues that I'd find unacceptable.
Developer time to build out the signing and notarization features is not free, and running the notarization servers in a highly-available manner is also not free. As much as we all like to call out Apple sometimes for how they don't take good care of their developers, adding hoops for your developers to jump through is not a great idea.
So I think in some ways Apple really does it for the security aspects, and also probably just because Apple likes to maintain rigid control over their experience.
So while $100M might not look like a ton to Apple as a hole, it might look like a lot to the business unit responsible for apps on macOS
Why not?
Apple has been pushing very hard lately to increase their 'services' revenue, by getting users to sign up for Apple Music, iCloud, etc. It makes perfect sense for Apple to force developers to jump through hoops, not because it makes the developers' lives worse, but because it gives Apple a leg up! Some examples:
• When launching Chrome for the first time, you have to opt-in to Chrome notifications, but macOS pops up its own notification telling you to use Safari instead.
• Similarly, Apple News notifications are allowed by default, but you have to explicitly opt-in to notifications from other news websites.
• Again, similarly, you'll get Apple Music adverts through push notifications, something that's explicitly disallowed in the App Store guidelines.
• System Preferences gets an obnoxious (1) badge next to it, because I haven't signed in to iCloud.
I use SyncThing, rather than iCloud Drive. It definitely benefits Apple to waste the SyncThing developers' time and money keeping up with things the iCloud Drive team doesn't need to deal with — do you really think the sort of company that pulls shit like the above would do anything different?
Link to a screenshot of this Safari notification when Chrome is run?
> Similarly, Apple News notifications are allowed by default, but you have to explicitly opt-in to notifications from other news websites.
Reference to an article about this?
> • System Preferences gets an obnoxious (1) badge next to it, because I haven't signed in to iCloud.
This is something other apps can't display...?
https://danieljwilson.me/2019/10/16/a-catalina-double-standa...
> Reference to an article about this?
It's this article: https://mjtsai.com/blog/2020/02/17/the-paywalled-garden-ios-...
But it's referencing this tweet: https://twitter.com/marcoarment/status/1228431785442381824
> This is something other apps can't display...?
You're right, I should have been more specific: it shows the badge even when I don't have System Preferences open, while other apps (such as my chat client, or mail client) only show badges when they're open. It shouldn't show the badge at all, though.
I can definitely see it not really being about money, and more about leveraging their monopoly to push their own competing services.
There are +20M registered Apple developers.
https://techcrunch.com/2018/06/04/app-store-hits-20m-registe...
Especially when it comes to privacy protections, where every user's standard for privacy is going to be unique.
(Hopefully Apple comes up with a more formal process going forward...)
People from rich countries that have the spare time and skills to write reasonably decent software are likely to have $100 of disposable money per year and would probably be donating anyway, so a donation might be reasonable, and I'd understand if Apple takes a few dollars to do <whatever they claim to currently use this money for, I imagine there is some sort of vetting going on even if it's only to check that you're not on their malware authors blacklist> but it really won't cost a full $100 per developer per year. For that money they can fly in from the nearest English-speaking country to verify my scowl.
The most recent opportunity to attempt this would be with the architecture change this fall, which they have not taken.
Epic is empowered to get their app back in the store tomorrow if they want to release an updated build without the contract-infringing functionality.
They probably have lost their chance to be features by Apple or to be invited back on stage in future keynotes, but at least to me it appears Apple is trying to not be punitive in their reactions. Epic has consistently been given a no-nonsense way to recover.
I do wish Apple had a free tier for open source projects, just like many other tools on the web.
As an alternative, I wish there was an easy way to "sponsor" open source projects for this sort of thing. (I guess there is in some cases, but it's pretty hit or miss)
On Windows, although it's pretty easy to run unsigned applications, it's a huge pain to install unsigned 64 bit drivers, even if it's just the inf file that's custom. I've ended up signing open-source drivers several times with my own code signing certificate (a few hundred bucks every few years) although I haven't distributed the result. Drivers for things like USB SDRs.
Thanks for the comment! I've referenced this in a new addendum to the article.
Moral of the story is, if you want to protect your users, you have to bring some level of inconvenience and frustration to them. Or be sure that I will run that malware no matter what you say.
[1] https://forum.transmissionbt.com/viewtopic.php?f=4&t=17834
It turned out to be ransomware, for anyone not following.
Because that's a bad moral.
There seems to be a trend in the US society today to error more on the side of safety than liberty than I've seen ever before. Particularly, this is a change in the tech community which has been a bastion in the fight for individual freedoms since I've been alive.
In the end, when you make that bargain at the levels we are making it today, the safety is only temporary but the damage to liberty is unrecoverable without starting over.
It's a bad bargain.
To be clear of straw men, I'm not saying that individuals (not groups) who have personally demonstrated bad behavior should have complete freedom to repeat such acts. This argument is, and always has been, about pre-emptive actions against the innocent in the name of safety.
You're welcome to be an ideologue and paint the world in black and white of course, but more people will try to assess the tradeoffs and have some appreciation for nuance.
Obligatory disclaimer: I'm a staunch supporter of open source software and don't own any Apple devices because of it, but I do appreciate and understand why a company or an individual would want to have a device with a more locked down ecosystem.
> Free thought requires free media. Free media requires free technology. We require ethical treatment when we go to read, to write, to listen and to watch. Those are the hallmarks of our politics. We need to keep those politics until we die. Because if we don’t, something else will die. Something so precious that many, many of our fathers and mothers gave their life for it. Something so precious, that we understood it to define what it meant to be human; it will die.
-- Eben Moglen
If people don't understand that it takes away from them, not from the importance of the issue.
Being required to load your app every 7 days is such a major pain in the ass. Does anyone actually think that sideloading/self-signing is a realistic and viable way to build your own software stack (that can also be shared with other people) on an iOS device? It's obvious that this mechanism is only for development environments and the intention is that the app will eventually be signed with the $99/year version.
Perhaps the fine article has mischaracterized this behavior?
I assume you use Linux or anything other than Windows? Because the "SmartScreen"[1] feature in the newer versions of Windows does the same thing.
[1] A common trend in these times: the word "smart" really means "we think you are stupid"
It's on first launch of an application, but not on subsequent launches of that application.
The same happens on Windows through SmartScreen, but you can easily turn that off[2] at least. As far as I know, you can't disable this on macOS.
[1]: https://sigpipe.macromates.com/2020/macos-catalina-slow-by-d... [2]: https://www.tenforums.com/tutorials/5593-turn-off-smartscree...
1.1 Hit "Cancel" in the warning dialog.
1.2 Open "System Preferences" / "Security & Privacy" and select the "General" tab.
1.3 It should have a notice about the unverified app being blocked, and offer the chance to approve it. Do so.
1.4 Try to launch the app again. You'll get the dialog again, but this time it should have a button to tell it to go ahead and launch it. That will also remember that you have approved the app so you should be OK from them on (or at least until the app updates, and you will have to redo this).
Another way is to fix it from the command line.
2.1 Locate the executable.
2.2 Do "xattr -d com.apple.quarantine /path/to/executable"
I just hit this today when doing some web testing with Selenium, and it could not use chromedriver because the developer was not verified. My chromedriver is installed via Homebrew and evidently it had been updated since I last used it. A search for how to deal with that turned up both of the above solutions as part of this Stackoverflow question [1].
[1] https://stackoverflow.com/questions/60362018/macos-catalinav...
This is so far beyond reasonable from a ux standpoint and they have no reason to improve because what am I going to do? Not use macos to work on iOS stuff? It pisses me off so much
> There isn’t a specific identity requirement for this signature: a simple ad-hoc signature issued locally is sufficient, which includes signatures which are now generated automatically by the linker. This new behavior doesn’t change the long-established policy that our users and developers can run arbitrary code on their Macs
So, the sky isn't falling yet, but it is reasonable to be concerned.
This irks me, I don't know why. Maybe because calling it an Apple policy is something that can be changed. I consider it more a right that I can run arbitrary code on my computer.
So yes, I would agree, quite reasonable to be concerned.
Now we are literally only one step away from not being able to run our own software on Macs without paying Apple 100$/year (or whatever amount they want).
They just need to disable adhoc blocking, and require a signed developer. All systems are in place for this. The only thing they need to justify such a change is a "catastrophe". For example, next year, some macos malware might pop up, that could have been prevented with this signing. And Apple could just use that as an excuse to fully lock their platform.
We are fast becoming corporate citizens, for better and for worse: https://www.youtube.com/watch?v=l3pkkSNRug4
While there is some truth to the security argument - security after all is sometimes at odds with freedom - good computer security can certainly be achieved without this degree of centralization of power. Maybe you can't protect a determined user from hurting themselves, but that seems like an acceptable price for freedom.
I’m constantly running npm, mvn, sbt, docker and some that download hundreds of megabytes from unknown organizations, hosted on unknown servers, written by unknown developers.
Next to that, I’m running desktop applications downloaded roughly under the same circumstances, and was the update image it just installed when I opened it genuine? Transmission was 0wned, as well as Handbrake. Any other I was never aware of? Perhaps one that I’m currently using?
I have several GB of irreplaceable (to me) photos and financial documents on this laptop. When was the last time I tested my cold-storage restore procedure? (Hint: never.) What if I get hit by a ransomware? What if they grab my GAccount cookie and run away with my identity?
All this makes me fret, and aware of how much vulnerable my information persona has become.
I can run Linux, and trust Ubuntu or Debian or whatever to thoroughly audit and verify every line before PGP signing any package released for distribution (riiight, it’s already a gift out of free will, am I going to make demands now?) I could manage, begrudgingly though because I’m more interested in using the tool than to constantly grind it’s sharp edges.
But what about normal users? Not necessarily idiots. Just people that haven’t explored the dense thicket of Linux on the desktop and ACPI, and kernel driver (oh, by the way... what about those drivers?) Don’t they have the right to some trust and expectation of privacy? (that they can immediately forego and upload to Facebook)
Why must everyone constantly have to risk their own neck to defend someone else’s perception of freedom. Why should they all pay (in terms of risk and time mitigating against it) for something that someone else presumes it would benefit them?
Apple can abuse their grip on their integrated platform. Apple can turn this infrastructure into a rent-seeking scheme, into extortion.
But for the time being, they can’t deliver cryptographic app control soon enough.
Even giving warnings by default about unsigned apps requesting high privileges would be fine if the implied message weren't basically "everything we haven't checked is malware". Something like "We nor any other provider you've chosen to trust have no idea who made this and we haven't checked if it contains malware. This program may steal and delete all your files. Be really sure you trust the author before running this." would be much more honest.
Good security does not require a single entity becoming the sole gatekeeper and taxman for a huge fraction of users.
> Why must everyone constantly have to risk their own neck to defend someone else’s perception of freedom. Why should they all pay (in terms of risk and time mitigating against it) for something that benefits someone else alone?
I'm not advocating for Windows-levels of "install anything with access to everything with barely any warnings". And I wouldn't say you're "constantly risking your own neck" if you deliberately ignore warnings.
In computing as in society, I don't see how we can remove all possibility of getting cheated into hurting yourself (by installing malware in this case) without essentially submitting to some form of autocracy. And I think freedom benefits almost everyone, at least indirectly. As a concrete example, in the Apple/Epic case, an alternative game store would likely result in healthier competition i.e. lower prices. As another example, Hong Kong protesters with iPhones would have had an alternative way to coordinate: https://www.bbc.com/news/technology-49919459
Well, what you ask is what's written in the very first prompt screenshotted in the blog post; it says "the developer cannot be verified", "macOS cannot verify that this app is free from malware." I don't see how this choice of words is much different from your proposal.
I don't want to go too deep into the "alternative store" discussion, it's much broader than this, but let me just say Adobe Flash. I don't think Apple will ever relinquish the strategic power to force developers to adopt APIs and track their lifecycle, and never again have to deal with the Flash scenario.
If they let the door open to "alternative stores" good luck explaining to the general public how it's not their fault if <insert major app> works like shite and kills hardware performance. As an example, to this day, people still rant about Apple's "proprietary music file formats" when really it's just bog standard mp4 (it's even unencrypted... you can copy it over to any industry-standard decoder and you're good to go. Good luck with WMA (if they're still around) or whatever madness Sony came up with.
The moment they would decide a major overhaul, you'd see "alternative app stores" advertising "backward compatibility", "freedom from Apple's treadmill", fragmenting user experience in an endless passing of blame about who's fault it is for the rot.
There are nuances about the UI and wording as discussed elsewhere in this thread, but my main objection is about Apple positioning themselves as the only one who decides which apps don't get that warning.
> [..] I don't think Apple will ever relinquish the strategic power to force developers to adopt APIs and track their lifecycle, and never again have to deal with the Flash scenario.
I don't see how alternative stores would prevent Apple from breaking backwards-compatibility on an OS they would still control. Even open source projects do BC breaks as they see fit. And I think Microsoft demonstrates that proper BC is something a company the size of Apple could well afford to do if they cared to.
The Flash case could be seen to support my position as well. Wasn't it a case of Adobe getting into a dominant position (for their particular niche) and then "abusing" it by letting Flash stagnate with awful security? It's good that we eventually got rid of Flash, but wouldn't it have all been much easier if Adobe had never become that dominant in the first place?
You can of course say Apple would never let something stagnate in that way, but all companies have their (sometimes shifting) priorities and interests. Often they'll align with you as the user - that's the nice thing about capitalism - but there's no guarantee that they always will (e.g. that Hong Kong example), and a dominant player in the absence of healty competition is always incentivized to charge as much as the market will bear.
> If they let the door open to "alternative stores" good luck explaining to the general public how it's not their fault if <insert major app> works like shite and kills hardware performance.
Is this really that big of a problem? Seems like something platforms already deal with by surfacing and by default restricting apps' energy use etc, though this too can be a double-edged sword. I have a few apps on Android that need to constantly show a pointless notification just so they can run in the background, and they have legit reasons to do so, and I'm OK with the battery drain.
Again I'm compelled to draw an analogy to society: freedom indeed requires some degree of responsibility and understanding from everyone. Benevolent dictators are a great place to "outsource" all that. The trouble is that they (or their successors) rarely stay benevolent for long, especially if you're not in their ingroup. I've yet to see power accumulation have good long-term consequences in history.
Nothing like a good old protection racket. No wonder Apple's worth trillions of dollars.
It would be nice if there was a Sys Prefs option to add a "run anyway" button to the initial prompt. It wouldn't even need to be on by default. Just give me the option.
Imagine I install some app from a trusted third party and am walked through the steps to toggle the system setting to allow installs. Then a year later when I am installing some untrustworthy tool, I am no longer warned (at least not to the same severity) that this tool is unsigned. It leaves me more likely to install that software and end up putting myself at risk in the future.
Take for example the Android settings for installing third party apps. I can enable it on a per-app basis, but that permission persists for the lifetime of my device. If I allow Chrome to install apps for me, that enables apps from ANY site from now until the EOL of my device, to more easily make their way onto my phone.
If I am asked every time (or even periodically) I am given a moment to consider if I know what I am doing.
Gatekeeper right now won't even allow you to run an application unless you somehow know and remember to right-click. This is sadistic. Many well-informed users won't even know about it and even more will forget to right-click on the first try. This is far from "forcing the user to make a choice about each binary". It's clear Apple doesn't want users to even be aware that there is a choice.
> sudo spctl --master-disable
> sudo defaults write /Library/Preferences/com.apple.security GKAutoRearm -bool false
> :> ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2
> sudo chflags simmutable ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2
You may need to disable system integrity protection to do this
> csrutil disable
If you know what you're doing, like probably everyone here, you don't need any of this junk. I didn't need it in 1998, and I don't need it now either.
It's impossible for someone who's not technically oriented to know how to disable S mode or even what it is, and trying to get my mum to install Google Chrome on her new computer was harder than it has any right to be.
When did the ability to run software get this bad?
The reality is that the HN audience are complete outliers. Just look at the junk your friends and family install on their machines.
On a related note, the equivalent in Windows is SmartScreen. It prompts similarly to Mac for unsigned downloads as well as signed ones where there isn't yet sufficient reputation on the signing key. That last part is frustrating - we have a downloadable software component for our SaaS. It's not that frequently used and every time we renew the cert (third party BTW, not with MS), it takes a few weeks for SmartScreen to start trusting it.
If you’re including solo non-business programmers in that, I’ll say I find it unreasonable to ask of an open-source developer that in addition to giving their time to develop and support their software, they should also give their money.
It’s great that $100 is chump change for you. That’s not the case for everyone, certainly not all open-source developers.
But the issue isn’t about money, it’s about the control a petty company exerts on what you can develop: https://news.ycombinator.com/item?id=24217921
They just confirm the developer has $100? Does Apple actually make sure signed binaries don't do anything bad?
This is how some mac viruses were stopped; the developer license was retracted, making the executables hard to open in the background, slowing the spread or even killing the virus during its infection track.
It also maintains Apple as the administrator of your computer. You may have paid Apple for your laptop, but it is Apple who decides what you can and cannot execute. Options to work around the blocks Apple throws up are reduced and made harder with every new release. I predict that eventually all binaries will need to have Apple's blessing or be signed with a corporate certificate, just like on iOS. It's still years away, but the direction Apple is taking this is obvious.
Also, what kind of "viable software business" has trouble paying $100 a year?
Do you know how much $100 is in Iran?
It doesn't really matter, because for developers in Iran, the question becomes do you know how hard it is to pay US companies from Iran?
If that's the point you want to make, there are much better ways to make it.
I don't think there's anything wrong -- or snarky -- with pointing out that there are whole countries out there where each and every developer would have as much trouble coughing up the necessary $100 as you would have had during your years of homelessness.
I used to speak regularly with an Iranian who was, among other things, a software developer. My general impression is that money was not nearly as big a problem as other things, thanks to the embargo.
Your comments don't quite fit with my understanding of things, which could be just my lack of knowledge about a lot of things. If you are Iranian and, thus, your primary language is Farsi, perhaps it's due to a language barrier.
I'm trying to bow out of this discussion and already deleted one of my comments. It seems like a rather lot of negativity over a minor observation on my part. So it doesn't seem like a good place to try to start a meaty discussion of open source in Iran, or I think that would be interesting to me personally, in spite of my limited knowledge of code and so forth.
Iran's economy has changed significantly in the past few years. University professors that used to make around ~60K USD a year just a decade ago are now making 8-12K USD a year today.
Money is definitely a problem, and even if you have the money dealing with American companies completely closing off everything is a pain.
Thankfully Android, being a little bit more open than Apple has allowed a ton of small software startups to become successful in Iran, while Apple has stifled them and has actively removed Iranian apps from the AppStore.
This brings back me to my original point that if we keep wanting Apple to keep control of what can be published and used on the iPhone then what happens when a questionable US government decides to start banning apps that help people organize? Or apps that help people combat and fight injustices?
Apple, keeping the strict control they have on the iPhone, is making the future of computing under a questionable state a dangerous thing.
It's been a few years since I've had any contacts in Iran. I wasn't aware the economy had gotten so much worse, so my apologies. My information is out of date, apparently.
I did look up some things about the embargo and open source platforms at one time. My knowledge of programming is limited. I know a little CSS and HTML and I run some websites, but I don't really think of myself as a "programmer." So I probably can't meaningfully add anything here.
I'm generally on your side. Thank you for the interesting comment.
$100 for half a week of work would be a lot. People who think otherwise live in a bubble.
It's surprising how many people have forgotten that software development and starting out new projects wasn't always for an endgoal of monetizing it.
I looked at your website you have linked on your bio as well. You've never even worked in Iran.
Stop lying.
Edit: this comment was a misunderstanding, ignore please.
2. Your information regarding salary seems terribly outdated. There has been several sudden and dramatic losses of purchasing power and reduction in exchange rate for Iranian Rial, cumulatively by a factor of more than 7, during the past year. At the current exchange rate of ~220,000 IRR to 1 USD, the monthly salary of an Iranian developer would be around ~160 USD a month. Breaking the 100MM IRR/~454 USD barrier would be difficult for most developers. So even if the sanctions were lifted tomorrow, only large corporations would be willing to spend 100 USD at the current exchange rate, not independent developers.
Source regarding salary [in Farsi]: https://jadi.net/2020/02/programmers-97-stats/
If this is a problem, projects can join together into one large app.
Much less than a Mac that you need to develop macOS software.
With a gate like the developer account that's far less possible.
It's also easy to buy a mac laptop from the blackmarket in Iran (since Apple can't legally export their laptops there), but you can't really do that with a developer account.
The issue isn't the money. The blog post was written in the context of the widely reported story of Apple threatening to terminate the developer account of Epic Games, which would prevent them from signing and notarizing their Mac software.
This part is key. It shows that Apple's signing and notarising requirement isn't about money, nor is it about security. Epic broke the rules of the iOS store, and now they'll be forbidden from developing on a completely different platform, just because Apple doesn't like them.
Apple has a single developer program for all platforms. Epic has been given a deadline to stop breaking the contract terms - submit a new version of the application which reverts the remotely activated payment logic.
This is the fundamental problem, in my opinion.
When Developer ID was introduced, it was supposed to be a mere formality, a cryptographic guarantee that an app was signed by a particular developer, to be used only for security purposes. At the time, nobody knew it would be used as leverage in an App Store dispute.
Epic didn't simply implement their own in-app purchase plan; they also remotely updated Fortnite to include it after it had passed app review (because Apple wouldn't have approved it, obviously). The whole point of app review is that Apple can assure its customers that apps are safe to run. Having apps that bypass the review by updating themselves subverts the whole process. You may not agree with the app review process, but it's clearly a feature that Apple regards as an important selling point.
Given that Epic has demonstrated a willingness to subvert the app review process, why should Apple allow such an untrustworthy developer to place its apps on any Apple platform?
(To be clear, Apple has said that they will gladly allow Epic back onto the App Store if they remove the private in-app purchase mechanism, so apparently Apple has not fully adopted this viewpoint -- at least, not yet...)
The point of my blog post wasn't to defend Epic, but rather to explain how difficult it would be for a developer to continue distributing software on the Mac without a code signature approved by macOS. The frequent suggestion is that users could "just right click", but it's not that simple.
Whether or not this is a good thing for most users is certainly arguable, but it still doesn't sit right that you have to pay Apple and get their permission to distribute macOS software that isn't presented to the user as likely malware.
The actual java binary (JVM) can be (is?) signed and used for many different apps/programs. But the .jar file that is executed probably can't be signed.
(Note: I have never done any "native" Mac programming)
In my opinion, it's simply not possible to learn how to override it by following macOS UI "hints". Every step of the way seems designed to hide this possibility, instead of giving users a warning and a clear choice.
Not for nothing, Gatekeeper once did not exist. Myriads of Mac OS X users were not p0wned. But your point is not lost on me.
$ sudo spctl --master-disable
Then the “Anywhere” option is visible in the System Preferences UI. But only while active.I have a similar idea about services like Amazon Lambda; why would developers build apps tightly integrated with a product that they don't own.
Most millennials these days own nothing because they keep perpetually accepting their position as 'renters' through every decision they make.
For me, this is a much stronger reason to avoid Apple software than whether it's FOSS or not. I can live with a company which makes some proprietary app. I mean, I am annoyed that access to it is restricted, but at least the "deal" is upfront.
When what I see and what I can run and how it runs is the object of direct partisan manipulation, and trade between commercial companies for epistemic access to a captive user-base, that's a whole other story and it just makes me sick.
---
[1] : I'm letting Apple enjoy the benefit of the doubt and assuming the "signing" business is not enforced at kernel-level, only by the graphical desktop environment's application launching mechanism.
It is displeasing to see Apple not having an open-source program in-which they give free certificates for popular open-source projects after a review. They are a large beneficiary of OSS after all.
Furthermore, smaller companies do it frequently these days: Jetbrains gave me free IDE licenses, poeditor gave me a free account, github hosts the project code, ticketing system, and is the distribution channel for first downloads and updates, appcenter hosts crash reports for free, travis does the CI for free, etc.
That, or their "techy friend" will jailbreak it for them, and now we're worse off in every way.
Thankfully one of my users is also a developer and now he signs all my releases.
What does this have to do with users being savvy or not? Unsurprisingly nothing at all.
Of course, more tech-savvy users can always use a system that doesn't impose this on them, but I really wish Apple would provide different experiences to different users. If they hadn't diluted the "Pro" moniker, I'd advocate for "Pro" editions of MacOS that remove all this stuff. As it is, every amateur user thinks they should get a Macbook Pro, and my user experience on any distro of Linux is miles ahead of any other platform available. That's fine for me (I'll probably never leave Linux unless something drastic changes), but what about folks that love Apple and are tech-savvy? Why should they have to jump through increasingly arcane hoops to do very reasonable things (like run unsigned code) on a machine they bought? It seems like a massive missed opportunity.
The industry tried to morph desktop computing into the world of Windows XP playschool friendly computing. Teach grandma for the 6th time how to click the start menu, etc.
That was a stopgap solution, and that era is over. We need to move all of those people off of computers and onto consumer-safe devices. Then restore desktop computing back to its originally intended audience, take off the bumpers and give unregulated access back to serious computer users who want to build important stuff, not get constantly nagged and prohibited from doing so.
Is your app signed and secured? it runs in the current environment. Otherwise it runs in a copy of the current environment, with restrictions as to what it can send/receive from the world.
The next step is naturally adding boundaries about what applications can do just akin to containers, sandboxes, or permissions found on smartphones operating systems. I just hope some sort of standard emerges so we don't have each major vendor implementing their own incompatible system (okay, too late).
Incidentally I have never run those binaries via the Finder either, so it makes one wonder where exactly this check is --- is it something Finder does when you open apps, or when GUI libraries are loaded, or something much lower-level in the kernel, like on an exec() call? I don't have a suitable machine around at the moment to check, but the need to right-click suggests Finder is doing this?
Either there could be a pro-mode app/setting that let's use tone down the warnings a bit and give the extra "allow" option already in the first dialog.
And/or let app developers add an extra dialog to ask for ermissions on install (e.g. in Homebrew).
I haven't tested this but apparently you can disable Gatekeeper completely using:
sudo spctl --master-disable
from https://help.apple.com/xcode/mac/10.2/index.html?localePath=...
To my knowledge, this depends on what APIs you wanna use. Using certain capabilities like Network Extensions (the on-device low-level networking APIs) requires paying $99/year for the Apple Developer Program. See https://developer.apple.com/support/app-capabilities/ for more details.
Probably not as much as I used to think.
I'm starting to realize something. I'm almost certain I would be just as happy with a Linux capable laptop, loaded up with Ubuntu 20.04. I'm pretty sure my next laptop purchase will not be another Macbook pro. It will surely save me a ton of money, and I'm just not convinced the walled garden is adding enough to my life to make it worth it.
Like it or not, America’s founders didn’t bow to the European kings, but now we have new tech emperors that we must bow to.
This would be totally unnessisary if apps could run in a sandbox. It wouldn't matter if I run some random game I downloaded off the internet if it can't do anything on my computer outside of its own sandbox.
And to the people that say it's not possible, just look at web browsers. Each website runs in a complete sandbox.
For apps that do need to use operating system functions, then you can escalate privellages with user consent. For example, mobile apps, that ask: "This app wants access to your camera"
Absolutely agree. There is a risk of prompt fatigue but that's a UX problem that can be solved during the installation process or first run.
I've ported an already running and shipped desktop application from Linux and Windows to Mac. First and foremost you save some time with the network stuff because there is still some POSIX in MacOS and you got a usable shell also.
We cannot use reliable XCode, because it doesn't support Meson or anything else outside of Apples own world reliable. Compiling code with 'homebrew' works, yes.
Creating the App Bundle itself is the first big burden, because outside of XCode you have to create them fully manually and using 'otool' to adjust every library path which is used internally. Even the icons hurt you, you cannot provide one big PNG or SVG (Linux) or melt it into the executable (Windows), but a icon for every size someone can imagine. ImageMagick is your friend. What year is it? 1995?
Because we cannot use XCode and have to build stuff repeatable, we also stick with 'codesign'. Which is horrible to use, because it's recursive option is not reliable and you have to sign nearly every bit in an App Bundle. On Windows you sign the executable or the howl installer, here you sign nearly everything.
But watch out. The certificates included by default in your Apple Account are likely all false friends. There badly name and desribed and you cannot see that you don't get the needed type of certificate as non account owner. So be careful with company accounts! Always ensure that multiple people have permanent access to this as owners and can immediately accept the new terms - or you cannot ship anything anymore. Happened this spring/summer to me :(
Signing done? Fine. Now hope that your 3rd party code doesn't show nasty bugs after signing, like the code from our partner. Furthermore don't expect that MacOS tell you via console what is going wrong and what you need. But itt could maybe help a little.
Then uploading for "notarization" follows. I hope you didn't make something bad and placed the right file in the wrong directory of the bundle or it is declined.
Finally attach (staple) the notarization to your bundle! Or every Mac there will ask the Apple Servers if it is "okay to execute this code now". Without it privacy is lost. And the startup is slowed down also.
If your going to support MacOS, don't assume that portable code is portable. The shipping is actually the hard part.
A more appropriate approach would be to use an actual malware detection system, similar to what AVs to when checking binaries (check fingerprints etc.). AFAIK this is what Windows does, and it's way more inclusive.
I guess if they make it more intuitive for users to run unsigned apps when they want to, everyone would be still happy with those restrictions. It's just about adding clear message and additional buttons. So I would be happy with having the option and my grandmother is also happy with some level of protection.
> Finally, we see the instructions to right click. Err, control click.
Just recently I was on my iMac playing the "free guess" minesweeper where guessing is safe whenever you're forced to guess. The game needed a right-click to mark mines, and I got frustrated by Apple's magic mouse being prone to misinterpret right-clicks as left-clicks.
Now I know how to be in control with my right-clicks!
Yes, I know that ideally Apple should be allowing opensource apps or at least have a mechanism for opensource apps also to be verified by the gatekeeper and that is something we can campaign for, but in the absence of that, we can atleast educate the users.
Where is this comming from? I doubt Apple indicated such a thing.
Why does anyone who's a creator of anything stand for this?
I don't mean to keep beating a dead horse on this subject, but why are we acting like this is only a possibility? Apple is almost certainly going to remove the ability to run unsigned code in the future.
A day or two I wrote[0] about the timeline that took Facebook from guaranteeing that you'd never need to sign into an account on Oculus to requiring a Facebook account on Oculus. Different company, same story.
We spent a long time having concerns dismissed, and then once everyone was used to the idea and the uproar had been reduced to a manageable level, Facebook did it. People get told that they're paranoid when they express concerns about the future. Then those concerns turn out to be correct, but by then the concerns seems less dystopian, and we've moved on to dismissing other concerns even farther down the road.
I'm not going to find the other threads and articles, but:
Voice assistants: same story different companies. Concerns about recordings leaking, being distributed outside of the company to 3rd-party contractors were all paranoia until they weren't.
Facebook, again: same story different company. Facebook would need to be stupid to use 2-factor phone numbers for advertising and promotion services, the people worrying about that scenario were paranoid. Until they were proven right.
Browsers: same story different companies. You can not run unsigned extensions in Chrome. You can not run unsigned extensions in Firefox unless you are on the beta-version developer branch. In both cases, even though Firefox technically has an escape hatch, the effect is the same: normal no longer have the unrestricted ability to write software for their own devices.
I'm not going to argue that Mozilla's worries about malware aren't real, I'm not even going to argue about whether or not they made the right decision overall. BUT, anyone who thinks for one second that Apple isn't in a position to bring up the exact same security justifications for removing unsigned code from the Mac is fooling themselves.
We keep on taking these companies at face value, assuming the most permissive, conservative version of their policies, and then using that assumption to avoid talking about the real dangers of a corporate war on user-controlled general-purpose computing.
When Mac signing came out, so many people were telling me that it was stupid to object, because this was just about stopping specific malware. It would never be used to enforce a ToS or directly punish another company. So when we have conversations about Apple's dominance in the space, about what walled gardens mean for Apple, we need to have those conversations under the assumption that the most likely future is one where those same exact policies apply to both Apple phones and Apple desktop computers.
iOS does this in a much more violent approach - the app verification process.
At least in Vista it was a separate command “Run as administrator”...
Anyone have a source for when Apple has indicated this?
Nit: I believe stapling is supposed to fix this issue.
No, even stapled apps phone home. The difference is that stapled apps can still run if Catalina can't contact Apple (e.g., no internet), whereas unstapled apps can't.
Look closely at the Gatekeeper dialog with and without your internet connected.
Have you really done that? REALLY? Because I work on Mac, Win10 and Linux every day. And Win10 doesn't even come close to the other two in terms of reliability, stability, and lack of unnecessary bullshit.
I just don't understand who can make this claim that Win is better than Macos with a straight face. Maybe for gaming. Maybe. The cost/fps is clearly better for Windows machines, but Apple puts so much more thought into their OS than windows. Hell, Windows still pops a Win95 dialog for drivers. Come on, man. Seriously? MacOs doesn't have built in ads on the home screen. MacOS has no REAL viruses, and clicking on malware is even harder now than Windows.
Downvote me all you want, but I think a lot of people on this thread have never even used a mac for more than five minutes, let alone developed on one. HN monoculture is real.
I for one, use mac and develop on it for my job, and I like windows significantly more than mac. Dunno how many people here are like me, but I don't think this kind of assumption is fair.
I have when I started a new job and they gave me a macbook and said it's the only option. After 2 weeks I told them I'll need a linux box asap or I'll look for a different job.
It's in my opinion the absolute worst garbage of an operating system I've ever had the displeasure of using and their window manager is a completely unusable pile of shit. Their hardware doesn't have proper cooling and burns your hands if you actually use your CPU.
People have different tastes and I really don't think you should assume people haven't tried.
Yes, I too think windows is way better than OSX, but well I also think windows is pretty shit. However, I wouldn't quit my job over having to use windows, I would have for OSX.
One day I just got tired of that thing overheating and being loud. Was given a real linux machine to work with.
> but UI stuff is really ugly.
Have you tried a linux distro without an ugly UI ? Ubuntu especially is a horrid horrid UI.
I did that after 13 years as an Apple/Mac customer. I was enough of an Apple fanboy that I queued on Day 1 for iPhone 4, and did various other things that only diehard Mac users who obsessively read Daring Fireball and MacRumors do.
I use a ThinkPad X1 running Windows 10 as my daily driver now.
The last Mac I bought was so unreliable that it had to be repaired six times by the Apple Store. Every six months the internal SATA cable failed. (Mid-2012 MBP, it's a known design flaw.) On one of those occasions, I had to help the Apple "Genius" understand what a SATA flex cable was, how it plugs into a drive, and provide him with part numbers because he couldn't find the parts on his Genius iPad. Apple refused to give me a replacement machine when I saw the manager after the second incident. It wasn't until the 5th time (!) that they finally offered a replacement Mac laptop... however, it would have been a 1st Gen butterfly keyboard model. Y'know, the model known to break so often that Apple introduced a separate "warranty" just for the keyboards.
It honestly took me until the 6th repair to understand that being an Apple customer (nevermind an Apple developer) is being in an abusive relationship. I had to get out, because frankly I needed to get work done instead of all this Apple Store repair downtime.
And that's not counting the $100s of App Store software I've lost when Apple forgot to renew their App Store Developer certificates & now the OS thinks those apps are corrupt, and I can't redownload them because the App Store doesn't keep old versions. Or how Apple mistakenly revoked the developer certificate for Charlie Munroe Software, so now the Eon business timer app I use has been remotely disabled by Apple, even though there's nothing wrong with it and Apple admits it was a false positive. Much like the false positive that won't let me launch my old REALbasic compiler anymore because Apple has flagged it as malware too. At least I stayed on High Sierra, so the 32-bit software that interfaces with my digital hardware guitar amp still works.
I've had my ThinkPad a couple of years now. I don't "love" it, but it hasn't broken on me in all that time, making it more reliable than all 4 Mac laptops I've owned. The keyboard is better than any Mac keyboard I've used, except maybe the 2000-era Pismo G3. Sometimes reliability and stability is more important - just get work done with the least downtime. I can run more audio software on Windows than was ever available for my Mac. I've never had a virus on Windows and I only run the built-in firewall & anti-virus, and I don't need to deal with that Xcode worm that's going around right now. And while there's a ton of apps that don't use it yet, the Windows approach to HiDPI works better for me than the Mac 2x / 4x system... being able to run a crisp 1.5x on my external monitor instead of jumbo 2x icons is bliss.
Honestly, I do understand where you're coming from, there's a lot Mac OS X got right and a ton of areas for Windows still to improve, but this is not the Snow Leopard era Apple anymore. Apple just doesn't care, unless it's an iPhone. And I switched to Android years ago....
I'm not claiming it's a good OS, but it is definitely possible to make it usable if you spend 20 minutes reading and 1 hour configuring.
Windows 10 + WSL is amazing. It's definitely getting better all the time while macOS is getting worse each year. Plus more and more I just seem to only need Chrome, VSCode, and a Terminal.
So yes I have done it, and I now prefer Windows.
It truly is. Especially Surface Go - the best portable computer IMO (iPads aren't real computers).
Until it forcefully restarts to update overnight, killing all you apps.
However in terms of the actual topic - code signing, Windows is almost as bad. If you run an unsigned program now you get a Smart Screen prompt and you have to click a small "More info" link and then "Run anyway".
It's a bit more obvious than Mac, and I believe there is some system to recognise common but unsigned binaries, but they're still clearly trying to head in the same direction, Apple are just a bit further down the slope.
Windows 10 is slowly getting better every year and honestly there are only a handful of things left that I think really lag behind Mac, Explorer being the main one.
> reliability, stability,
They're basically identical at this point, my PC runs for months on end just fine. One of my macs does the same, my USB-C MBP is the only standout as it kernel panics in it's sleep most nights.
If your Windows machine is having stability issues you probably have bad hardware, like my USB-C MacBook.
> and lack of unnecessary bullshit.
I'd say they're both about the same, windows has it's issues but so does MacOS, my mac asks me every single day if I want to update the OS and there is no "No" option only "Restart" and "Later", it also warns me 10 times a day that the disk space is running low, yep I know it's low because it's a 128GB machine, nothing I can do to fix that.
The days of Apple being against this sort of stuff is over, my iPhone asks me once a month to subscribe to Apple music when I open my Music app, out of the box iPhones have Apple News notifications. Daily OS upgrade request on MacOS
I could say whinge but it doesn't quite convey what I'm seeing here.
Apple has been hostile to openness since inception, see: right to repair or basically any Louis Rossman video on YouTube.
Not to mention years of news stories showing how little apple cares for developers or individuals.
It's cheaper to replace a MacBook air battery than it is to replace one of those old cartridge things, of which you could only buy from Apple.
What fraction of unsigned app openings, across the entire world each and every day, are safe?
If 99% of these events are unsafe, then such an experience seems warranted, given real malware and security threats.
The question is, what is that fraction?
Folks may say I want my computer to be “open” but do you want it open in the same way for your grandad and grandma?
Generally you see all major distribution options have signatures with a CA-type trust structure no matter what you use, be it open-source, free or commercial paid software. On Windows, macOS and at least all Linux distros based on dpkg or rpm you have signatures and circumventing that requires a bunch of steps that will prevent most users from shooting themselves in the foot.
It means that it is harder for an attacker to abuse your systems or key material to sign something in your name.
Perhaps the best analogy I can come up with is the dns-01 verification with ACME and a lower TTL. You need to compromise more pieces of the puzzle on a shorter timeline to attack that specific part of the system.
From what I understand, the most common use case here is to match against known malware inserted into an otherwise normal release, either from an infected dev machine or by way of an attacker coopting stolen credentials. It's not going to guard against truly novel malware for obvious reasons, but the vast majority of malware is a repackaging of stuff that's already out there.