41 ms·
Can't you just right click?
- lucb1e 6y agoThis makes me wonder how open source is supposed to work on macOS. People seem to become more and more aware of it and even enterprises that insisted on support contracts can see that they can't get around open source completely anymore. Meanwhile Apple is removing the ability for me to have a pet project without paying an Apple tax. 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 https://www.gatesnotes.com/Books/Factfulness#incomegroups
- saagarjha 6y agoMany (often cross-platform) apps are no longer signed, so they throw up this warning–I assume that users of these have long since learned that the warning is just something they need to bypass. macOS-native apps have largely adopted notarization and the fee that comes with it. Open source command line tools do not need to be notarized. 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…
- lucb1e 6y ago> learned that the warning is just something they need to bypass 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".
- saagarjha 6y agoNot only is the message opaque, but it is intentionally misleading. I know the security team at Apple occasionally has trouble coming up with good explanations of what is going on, but this message really can't be looked at in any way other than being misleading, sorry. And you are absolutely right that misleading messages like these train users to click through warnings.
- deleted 6y ago[deleted]
- FabHK 6y agoHow is it "intentionally misleading"?
- saagarjha 6y agoBecause it says the binary is damaged/malware/sketchy and that is not correct.
- FabHK 6y agoIt doesn't say that. It says that it can't verify the developer, and can't verify that the software is free of malware. It's just some arbitrary piece of software, could be written by anyone, and/or could be software that purports to be Word or Photoshop or whatever, but has been modified. 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?
- saagarjha 6y agoOne of the possible warnings you can get literally has "[App name] will damage your computer. You should move it to the trash" in the dialog that shows up. There's a bunch of these, all of them pop up for various GateKeeper/Notarization shortcomings, and none of them actually seem to ever really tell you what the problem was.
- _qulr 6y agoIt's important to distinguish between Developer ID and notarization. Signing an app is done by the developer. Notarizing the app is done by Apple. 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.
- stefan_ 6y agoIt mostly doesn't. That is 20% because of bullshit like this and 80% because Apple deprecates, removes, changes and otherwise encumbers their operating system so much that keeping track of it all is a full-time job.
- oneplane 6y agoOpen source projects sign their Apps like anyone else. Works fine. They do the same on Windows of course and on Linux package managers.
- oauea 6y agoWho pays the apple tax?
- gowld 6y agoAnyone who volunteers. Same answer as "who writes the software" or "who buys the development hardware".
- nextaccountic 6y agoIs there any Linux distribution charging an yearly fee for package signing?
- recursive 6y agoIn my experience, open source installers for windows are mostly not signed. But windows has a button to let you run them though.
- ryandrake 6y agoIt seems like the right balance. As the author says: > 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.
- lucb1e 6y ago> the developer account, signing, notarizing, etc. is a cost of doing business, and you can easily justify it. 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.)
- KeepFlying 6y agoI appreciate this view except for the last point. As a hobbyist programmer, I am not "just releasing a program". I am usually "helping solve user's problems". And if my solution requires users to go through even more problems before they can use my tools, that's problematic. 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.
- saagarjha 6y agoI would generally like my open-source software not not be marked as malware.
- dddddaviddddd 6y agoThere's a segment of open source users who understand these messages and aren't necessarily dissuaded by them. I make an open source app for merging audio files in iTunes/the Music app. The userbase are people who are technical enough to install Homebrew, (generally) use iTunes scripts, and manage Gatekeeper warnings, but not so determined as to replicate the app's functionality with their own set of shell scripts. https://www.davidschlachter.com/misc/trackconcat https://www.davidschlachter.com/misc/trackconcat
- xenadu02 6y agoPlease note that Apple's linker will automatically ad-hoc sign binaries if you aren't using a signing certificate so there is no impact to package managers or any other forms of building software to run locally. Xcode already automatically opts such software out of GateKeeper checks when built from the UI. Similarly adding Terminal to the Developer Tool category in System Preferences will do the same for anything you run or build there. 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.
- wila 6y agoYou can run your own binaries locally because they do not have quarantine flags, not because they are locally signed. 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.dmg
- saagarjha 6y agoThe comment you're replying to is confusing because it's been copied out of context from where it was originally posted, which as a discussion of a mandatory signing requirement on Apple silicon.
- wila 6y agoThanks for the correction. Yes 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.
- coldtea 6y ago>I also can't imagine $100 is easy to come up with in countries below level 4[1]. While money for a Mac is?
- saagarjha 6y agoYou don't need a Mac to develop software for macOS.
- jordigh 6y agoDon't you? A few years ago I wanted to figure out how to cross-compile into macOS without ever actually using macOS. Is that possible now?
- Kaze404 6y agoI know Rust specifically supports compiling for Mac from Linux.
- efreak 6y agoDoesn't rust support cross compiling to/from any supported platform?
- steveklabnik 6y agoYes but details can get in the way. While every compiler is a cross compiler to any platform, that doesn’t mean that the platform libraries are available or that there’s a linker. For example, the MSVC target uses link.exe, and that only runs on Windows, so cross compiling to the MSCV target doesn’t work in practice even if it could in theory. You can cross compile to the GNU target for Windows though.
- saagarjha 6y agoMany POSIX-y applications will mostly work on macOS, to the point where you might ship in a package manager or something and can probably help with a segfault or two but have never touched a Mac.
- jmull 6y agoI've got to say, I think your proposed message is considerably less clear than the actual one. 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.)
- usrusr 6y agoCould that be turned into a little funding opportunity? "Here are the sources, here are the binaries, here you subscribe to get access to signed binaries that run without the scare quotes"
- _qulr 6y agoThe developer who signs the software is thereby taking legal responsibility for the software, and taking the blame if anything is wrong with it. That's not a good risk unless you're signing for someone you trust completely.
- usrusr 6y agoHow much does that actually change liability vs building and distributing unsigned? Signing has no legal implication other than lowering deniability. What's added is the contract with Apple. Is that such a minefield?
- moduspol 6y agoIt also might be tough to run as a business because it's quite possible the first time you sign someone else's malware, Apple's going to revoke the notarization of all the apps you've signed (which would be for other paying customers). Not to mention it undermines the purpose of notarization, so if it became popular enough they'd probably just squash it.
- usrusr 6y agoThat would be true for rubberstamping-as-a-service, a weaker version of running a rogue CA. But project maintainers getting themselves an Apple ID and recouping that cost + x (hopefully) via non-gratis signed binaries wouldn't have that problem at all. Or of they did (malware sneaking into their artifacts), a lost Apple ID should be the least of their concerns. 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.
- m463 6y agoI remember RMS saying that the GPL was updated because one "obvious" freedom was not so obvious -- you could meet all the requirements of the GPL, without giving the right to RUN the software. 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.
- Something1234 6y agoWhat's in rootless.h?
- m463 6y agoI don't know they don't ship it but bash is compiled with it.
- solarkraft 6y agoSo they're shipping a proprietary version of bash?
- merijnv 6y agoOf course not, that'd be a violation of the GPL. They ship their own fork/patched version of bash, whose source is on their open source page: https://opensource.apple.com/source/bash/bash-118.11.1/ https://opensource.apple.com/source/bash/bash-118.11.1/
- solarkraft 6y agoSo ... rootless.h does nothing? I can compile a bash without it that does exactly the same thing? That seems like it would contradict previous comments. What am I not getting?
- _qulr 6y agoIn addition to paying the Apple Developer Program fee, you as an open source or hobbyist developer are required to sign a legal contract with Apple in order to be able to code sign your software. This can be even more problematic than the fee.
- jyrkesh 6y agoIn my day job, I work on a relatively large open-source non-GUI application 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.
- baq 6y agoMicrosoft with WSL2 is pretty much ready to go for the jugular IMHO.
- ChuckNorris89 6y agoWindows Update 2004 made the experience even smoother on my XPS 15.
- efreak 6y agoUnfortunately, it hasn't fixed the problem with running VirtualBox using the hypervisor platform/virtual machine platform (I forget which) while hyper-v is enabled: sha sums (and other hashes like whirlpool, md5, etc) don't work properly. Meaning I can't use wsl2 and VirtualBox. Or use the Android emulator and VirtualBox. And yes, this seems to be a obscure issue that's hard to research (`Intel SHA extension` and `/etc/gcrypt/hwf.deny` may help); I've had to look this up three times now because I keep doing it in private browsing mode or on another device/browser. Don't mind me, I'm just annoyed that Microsoft won't add support for ssh-copy-id.
- H1Supreme 6y agoSame here. My terminal/neovim setup feels very close to what I run on a native Linux machine. A huge step up from WSL1, imo.
- dasKrokodil 6y agoIf developers move from Apple to Windows because of this, they haven't learned from their mistakes.
- Abishek_Muthian 6y agoApple is an aspiration selling company. >>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/ https://ionicframework.com/blog/is-apple-trying-to-kill-pwas...
- Gorbzel 6y agoPWAs are terrible, but that debate has nothing on the real gem here: > ...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.
- Abishek_Muthian 6y agoHate is a very strong word, something which I wouldn't give a private business luxury of buying from me. If you could give a justifiable answer to what you've quoted from me, I'm all ears.
- thinkloop 6y ago> or whatever it is that Apple does with that money What they primarily "do" is have an identity to sue or pursue in case of issues. That keeps everyone in line.
- teekert 6y agoAren't the new ARM macs going to support Docker in a nice way? Wouldn't that solve it? You can have what you want in your Docker, Apple can do whatever it wants (short of blocking the Dockers essential capabilities of course) to isolate said Docker.
- saagarjha 6y agoBut then you have to use Docker. It’s be nice to have something like that on iOS where it’d be an improvement, but on macOS, it’s a step down in a sense.
- Cthulhu_ 6y agoLike all other legitimate software on MacOS; they get a developer account and distribute it via the app store. 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.
- classics2 6y agoAnd yet people would vomit blood being asked to pay $99 for an app.
- bromuro 6y agoAs you say it already worked great for preventing malware. No reason to make changes like they are doing.
- mih 6y ago> ... in part because of its laissez-faire approach to letting the user install anything from anywhere. 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.
- stereo 6y agoOpenStreetMap treasurer here to jump on the tangent. Hi! 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 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/workflows/ant.yml 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 https://github.com/thomersch/josm/actions/runs/214334897 .
- nanna 6y agoI'm happy for OSM, that's great for you and in turn the community. But what about small open source projects? One-person projects where the idea of having several people working on securing legal non-profit status and then acquiring non-profit signing certificates from Apple is for all intents and purposes impossible? And certainly not worth just coughing up the annual $99 fee (+tax) to Apple? $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.
- pjmlp 6y agoOutrageous is the entitlement of the current generations for not paying for their tools. 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.
- AriaMinaei 6y agoThis isn’t about not wanting to pay. It’s about being forced to use a tool in spite of much better possible alternatives. If apple allowed SSL-style certification, I’m sure cheaper and better alternatives (similar to LetsEncrypt) would prop up.
- zelly 6y ago> I also can't imagine $100 is easy to come up with in countries below level 4[1]. 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.
- wjdp 6y agoI publish a CLI app for many platforms, including osx, on GitHub. Using the cross-compile feature of Go it just spits out a binary that Macs can run from a Linux build host. I don't own a Mac so don't see what my users do. Does this change affect running unsigned binaries from the terminal?
- tombell 6y agoI've never had an issue running binaries written in Go I've compiled myself. From what I've experienced, only appears to affect .app binaries.
- pjmlp 6y agoJust like it worked on any commercial UNIX, FCC's rise to fame was thanks to Sun no longer offering Solaris SDK as free beer.
- indigochill 6y ago>This makes me wonder how open source is supposed to work on macOS. 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.
- mlindner 6y agoYou can still disable Gatekeeper with: sudo spctl --master-disable This removes all of these dialog boxes entirely.
- LeoPanthera 6y agoThis behavior frustrates me, as a seasoned (=old) Mac user, but I am simultaneously quite grateful for it existing on my parents Macs. 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.
- lstamour 6y agoBut then you’ll have websites that walk you through changing the setting. At least this way you have to make a decision every time, even if it costs you a few clicks each time you do it.
- themacguffinman 6y agoThey can do the same for the right-click technique. Omitting a setting does not change the user's understanding of the decision, it just makes this completely undiscoverable and tedious for users who know what they're doing.
- KeepFlying 6y agoA system setting risks allowing you to make more mistakes. 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.
- themacguffinman 6y agoBut the setting doesn't have to get rid of a warning, we're discussing requiring the right-click to even show the option of running the software. 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.
- justaguy88 6y agoCan't you just [give up on macos as a general computing platform]
- d_tater 6y agoWindows is starting to pull the same shit. Walled garden OS's are the future for most regular users.
- dmart 6y agoGood. Regular users are not sufficiently computer-savvy to avoid being tricked into installing malware.
- Shared404 6y agoBad. Users will get more trapped and have less mobility to become computer-savvy. That, or their "techy friend" will jailbreak it for them, and now we're worse off in every way.
- wvenable 6y agoI developed a pretty cool piece of freeware to control a consumer hardware device and I ran into this "very scary Windows dialog" problem. I specifically don't want to charge for this application as then it's a business and it's just a hobby for me. 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.
- rpdillon 6y agoI mean, you're right, but I feel like the approach we're taking is that we have to cater to the least tech-savvy person that might every use the computer, even if that damages the experience for millions of folks that are tech-savvy. I really disagree with this this one-size-fits-all approach. It seems like a local optimum, at best. 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.
- cuddlybacon 6y agoThis feature is at about the right spot for me. 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.
- tracker1 6y agoMy answer to that was chromebooks.
- saagarjha 6y agoChromebooks are in a pretty good spot of balancing security with hackability. Apple should take a couple leaves out of their book…
- oneplane 6y agoTo be honest, I hoped microsoft and their windows rt experiment would be the 'alternative' to that so you have three choices for the end-user (get chromeOS, iPadOS or Window RT). To get 'stuff done' a user really has no business having access to the system or circumventing controls. 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.
- WorldMaker 6y agoWhat about Windows "S Mode"? That's sort of the latest iteration on the Windows RT experiment, but you can turn it on/off on any Windows PC now. 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.
- FreakyT 6y agoI still believe that Gatekeeper is a blatant cash grab and not a legitimate security feature. $100/year to avoid a scary warning about how your app is definitely a virus? It's like a protection racket.
- turblety 6y agoIt absolutely is a cash grab, and part of a series of unethical behaviour from Apple. 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.
- Shared404 6y ago> great improvement with using Linux via Purism and System76 I look forward to the day when I can afford a System76 laptop.
- suzakus 6y agoThey look to be in the same price ballpark as Macbooks? Ref: https://system76.com/laptops https://system76.com/laptops
- Shared404 6y agoCan't afford a Macbook either. :)
- dividedbyzero 6y agoUnderstandable, it's a crazy lot of money.
- FabHK 6y ago> latest awful hardware The latest round fixed all of these problems.
- bangonkeyboard 6y agoOn a related note, the macOS 11 Beta 5 released today reveals that Apple silicon Macs will require all ARM executables to be signed: https://mjtsai.com/blog/2020/08/19/apple-silicon-macs-to-require-signed-code/ https://mjtsai.com/blog/2020/08/19/apple-silicon-macs-to-req..., https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11-universal-apps-beta-release-notes https://developer.apple.com/documentation/macos-release-note...
- wtracy 6y agoFrom Apple's documentation: > 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.
- marcuskaz 6y ago> This new behavior doesn’t change the long-established policy that our users and developers can run arbitrary code on their Macs 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.
- ccmcarey 6y agoEveryone knows the direction they're heading in, so this wording comes across as .. we know you're lying, you know you're lying.
- simonklitj 6y agoShould be possible to get around, no? I guess technically they could lock us out, but my naïve self is thinking that surely there would always be a way to disable it, like how we can disable SIP now, through Recovery-mode?
- white-flame 6y agoThe fact that the standard model of computing is that applications are opaque machine code blobs that can access everything in your user permission space is the core problem in privacy and malware. Applications should see nothing but their executable jail, and whatever was intentionally allowed to them by the user (eg, Open file dialog giving the application an opaque file handle, etc, not carte blanche access to the entire filesystem). Ideally, the notion of machine code blobs should be done away with as well. Mobile OSes got to rethink everything in an era of constant adversarial connectivity and started off on a better foot in this regard.
- saagarjha 6y agomacOS ships with a quite strong and granular capability-based security model with its sandboxing mechanism (at least, when it works and is applied correctly). The feature is there, advanced applications already make use of it, but it is difficult to get arbitrary applications to adopt it (its inner workings are declared SPI after all) and it is not really exposed to the user at all except via App Sandbox, which is fairly limiting.
- andrekandre 6y ago> but it is difficult to get arbitrary applications to adopt it just curious, but what makes it specifically hard?
- saagarjha 6y ago> its inner workings are declared SPI after all 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.
- andrekandre 6y agoah, i see the term threw me off
- hyperdimension 6y ago
- nippoo 6y agoI've seen a few apps get around this by packaging them in a standard .dmg and giving the user clear instructions ("just right-click") as the background image of the opened container, or as the name of the app, or on the download website, etc. Although generally these have been fairly tech-oriented apps where the users would be likely to know the shortcut anyway!
- oneplane 6y agoI'm not sure what the point of that page or posting it here is. This system (and others like it) is neither new nor special. It's also not a bad thing, and I haven't seen anyone come up with a better alternative. 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.
- saagarjha 6y agoQuestion for you: what exactly does Notarization protect against? I have watched all the videos about it, I read the developer documentation, I notarize my apps because it is required by the OS…but I still have not gotten a single good explanation as to why it's useful. Apple claims that the process is extremely tolerant…so does it try to accept everything but blatant malware? Does it let malware through? What happens if malware does get through? Why does having build-specific certificates help security–is there any reason why Apple would disable a single build of an app from a malware publisher?
- oneplane 6y agoAs far as I know it is intended to prevent identity abuse in both the IRL sense as cryptographic sense. 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.
- saagarjha 6y agoCode signing was always a thing, and you can sign your code without notarizing it. And in fact notarization doesn't really seem to have much to do with the person who wrote the thing you are notarizing–you can notarize other people's software!
- turblety 6y agoThis is just a cash grab from Apple, and part of a series of unethical behaviour by a monopoly (eg app store dictatorship). 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"
- saagarjha 6y agomacOS ships with some of that already; users immediately complained that it turned their OS into Windows Vista. Perhaps the underlying problem is that Apple's sandbox is not under the control of the user, it's mostly controlled by Apple and (to a lesser extent) by the developer of the software itself. It's really a strange model if you think about it…
- turblety 6y ago> Perhaps the underlying problem is that Apple's sandbox is not under the control of the user, it's mostly controlled by Apple 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.
- lucb1e 6y agoThat's actually an interesting way of looking at the problem of untrusted code. We might still need a way to signal to people what pop-ups really mean so we avoid the blindly yes-yes-continue clicking, but in general if things are as sandboxed as they are on mobile (sans the sensor and network access that still allows you to do a million invasive things, so perhaps more like websites where the software is closed when you close it) then we might not need this sort of scheme.
- dec0dedab0de 6y agoI dont see any problem with this. If you don't feel comfortable doing this then you definitely shouldn't be running random code from the internet. I would take it a step further and force it to be run from the command line. Also, what kind of "viable software business" has trouble paying $100 a year?
- aaomidi 6y agoAny open source developer? Do you know how much $100 is in Iran?
- aaomidi 6y agoAlso this is a fun thing Snapp did in Iran: https://www.theverge.com/2020/1/28/21112467/iran-ridesharing-app-us-sanctions-app-store https://www.theverge.com/2020/1/28/21112467/iran-ridesharing...
- toast0 6y ago> 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?
- DoreenMichele 6y agoThe minute you admit you are in Iran, American companies aren't supposed to sell to you, generally speaking. So, yeah, that seems like a weird comment.
- CodeMage 6y agoFine, do you know how much $100 is in Serbia?
- DoreenMichele 6y agoI spent years homeless. There are sometimes homeless developers in the US. You don't have to actually go asking snarky questions about wage rates in other countries to make the point that, for some people, that's a meaningful barrier, even for the software industry. If that's the point you want to make, there are much better ways to make it.
- antipaul 6y agoHere is Apple’s calculus: 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?
- Animats 6y agoThat's how Apple protects its 30% cut.
- saagarjha 6y agoActually, this specific behavior applies exclusively to applications distributed outside of the Mac App Store.
- tzs 6y agoA couple other ways to deal with it (at least for some instances--not sure this applies to every kind of executable). 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-10-15-3-error-chromedriver-cannot-be-opened-because-the-de https://stackoverflow.com/questions/60362018/macos-catalinav...
- saagarjha 6y agoHomebrew Cask specifically opts into Quarantine, interestingly; I believe this behavior was to match the general behavior of the system to add this at most places where you could download an app. Very few other third parties opt into this.
- onemiketwelve 6y agoI have to look up this fucking procedure every time I update our internal executable tools. And for whatever reason the security setting loads up some sub tab for me and I always forget you have to go back to general to find the little thing at the bottom to allow the app. 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
- dwaite 6y agoIf you have an automated process to update internal tools, you will likely have a much better UX with updating that process to appropriately deal with quarantine.
- saagarjha 6y ago> On macOS Catalina, Gatekeeper not only checks whether the software was signed by a valid Developer ID certificate, it also "phones home" to check whether Apple has notarized the software, again refusing to run it if the check fails. Nit: I believe stapling is supposed to fix this issue.
- _qulr 6y ago> 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.
- saagarjha 6y ago…wait, what? Why is this designed like that? Surely downloading a revocation list is not that onerous…
- euske 6y agoThis would make sense if Apple guaranted that my machine is "more secure" with this feature and offered some compensation or extra services for it.
- unlog 6y agoHow do you ad-hoc from windows? I run into this just yesterday and had to explain people to CTRL+CLICK. I'm not planning to give apple anything and the users already know that. Whats funny is that on windows you can also get an app signed via a third party(not sure if this applies this day) and avoid this kind of scary dialogues.. just because you paid someone.
- shuringai 6y agosoftware security 101: if there is an "accept the obvious risk" button, the user WILL DEFINITELY CLICK IT. No matter how clear you make the danger, they always choose potential malware instead of inconvenience. It's better hide because, otherwise that button would be the center of any social engineering attack
- wruza 6y agoI thought that a developer status will autosave me either from malware or from being babysitted, but then [1] happened. No matter how hard I tried to start that binary, OSX didn't allow me to do that. Damn OS which knows better, who do yo think you are? Did you see checksums, site certs, my competence, my willpower? I thought that it must be something with a build process that transmission uses, some signature didn't get into the bundle, etc, and went to their forum for help, while trying to self-sign that app and to reduce the system protection level in a console. As I found out later, that was yet another snafu that happens with transmission every few years, and it's not that it is a particularly small or inactive project. 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 https://forum.transmissionbt.com/viewtopic.php?f=4&t=17834
- kohtatsu 6y agohttps://unit42.paloaltonetworks.com/new-os-x-ransomware-keranger-infected-transmission-bittorrent-client-installer/ https://unit42.paloaltonetworks.com/new-os-x-ransomware-kera... It turned out to be ransomware, for anyone not following.
- throwaway13337 6y agoSo the moral is that we should give up freedom for security? Because that's a bad moral.
- nemothekid 6y agoLike anything in life there is balance, and anyone living in any sort of society today has already given up some freedom for some security.
- throwaway13337 6y agoThey never had a choice. 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.
- hardmath123 6y agoI came across this problem when I wrote a small program for a humanities professor to help him draw some diagrams. He didn't want a web app ("it'll disappear once you graduate!") so I wrote him a mac app and emailed it... it was such an adventure getting him to ignore the security warnings to run it...
- FabHK 6y agoThe alternative (that macOS not display security warnings when trying to run unsigned software that someone emailed you) doesn't seem better.
- sm4rk0 6y agoCan't you just use a PC?
- henvic 6y agoI've ran into this signing issue a few years ago when trying to distribute a binary for applications (tips, if you need to do so here: https://henvic.dev/posts/cs-security/ https://henvic.dev/posts/cs-security/), and while it's a hassle for developers I really appreciate that this is making using computer applications safer. 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).
- csense 6y ago"Y'know, it sure would be a shame if our OS went around telling users your software's a virus. Now we c'n make sure this little problem doesn't happen to you, all you gotta do is fork over the $300 (yearly of course) to join our developer program." Nothing like a good old protection racket. No wonder Apple's worth trillions of dollars.
- saagarjha 6y ago$100/year
- irrational 6y agoThe crazy thing is that I had no idea those dialog boxes have the malware warnings. I just look for the buttons and click.
- ineedasername 6y agoAs I understand it, the article was referring to applications built with Apple development tools. How does Gatekeeper treat applications developed in some other way, say an Electron app?
- arkanciscan 6y agoI don't understand how anyone with self-respect uses AAPL products. I guess it's true what they say about fools and their money.
- deleted 6y ago[deleted]
- rmrfrmrf 6y agoNow do this thought experiment again with MyTrojanKeylogger.app instead of MyGreatApp.app.
- danShumway 6y ago> Can you distribute Mac software over the internet without signing it, thereby avoiding Developer ID and notarization entirely? Technically, currently, yes, although Apple has indicated that a future version of macOS may not allow unsigned code to run at all. 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. [0]: https://news.ycombinator.com/item?id=24202879 https://news.ycombinator.com/item?id=24202879
- stevage 6y agoPersonally, I don't think $99USD/year is an unreasonable burden for any business selling software targeted primarily at the MacOS platform.
- konaraddi 6y ago> Can you distribute Mac software over the internet without signing it, thereby avoiding Developer ID and notarization entirely? Technically, currently, yes, although Apple has indicated that a future version of macOS may not allow unsigned code to run at all. 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/ https://developer.apple.com/support/app-capabilities/ for more details.
- sevensor 6y agoHold on a minute -- MacOS phones home every single time you launch an application? As a non-user of MacOS, this strikes me as utterly bonkers. You'd have to place a massive level of trust in the developers of your OS to accept this. And furthermore, surely the constant attempts to phone home have a negative effect on the user experience when the computer's network connection is missing or slow! Perhaps the fine article has mischaracterized this behavior?
- rsfinn 6y agoAs I understand it: If the application has been notarized before distribution, it should contain a signed “ticket” which allows the app to run immediately. If not, it will hit a server, but it caches the result on success, so it should not have to repeat the check.
- obelix150 6y agoThis is correct, it attempts to check for notarization each time it is launched. In the case where there is no network connection most apps have the notarization "stapled" to the app meaning it actually carries the successful notarization authorization attached to the binary. This may short circuit checking for notarization with Apple's servers but I don't know if that happens for sure.
- userbinator 6y agoAs a non-user of MacOS, this strikes me as utterly bonkers. 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"
- sevensor 6y agoYou assume correctly. Although I do use Windows for my day job, my expectations for that OS are so low that I ascribed its performance shortcomings to incompetence. I'm not tremendously surprised to learn that self-sabotage was involved. Sometimes after I type my password at the Windows 10 lock screen, I'm treated to a 5 minute wait during which I get to speculate about what terrible decisions have got us to this point. I could cold-boot Arch on a ten-year-old netbook, use it to check the weather, and shut it back down in that amount of time.
- lizardmancan 6y agois it possible to make a "run from trash" app?
- tflinton 6y agoDear Mac, where the developer goes, your revenue goes.
- Marcus10110 6y agoI deal with this every day, because we only notarize our electron app in CI if we're building the master branch or an RC branch. I don't see it mentioned in the article, but what gets me every time is that the "right-click" trick only works the second time you try to launch the app. The first time, right-click or not, MacOS won't let you launch the app. 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.
- _qulr 6y ago> I don't see it mentioned in the article, but what gets me every time is that the "right-click" trick only works the second time you try to launch the app. The first time, right-click or not, MacOS won't let you launch the app. Thanks for the comment! I've referenced this in a new addendum to the article.
- waheoo 6y agoWhy do so many in tech buy into a walled garden and then bitch about it later? I could say whinge but it doesn't quite convey what I'm seeing here.
- kalleboo 6y agoWe want our cake and to eat it too
- _qulr 6y agoThe problem is that we didn't buy into a walled garden. Mac OS X was an open platform from 2000 until 2012, when Gatekeeper was added, ostensibly for security. It's very difficult if you've invested in a platform for many years, and then the platform slowly transforms into something different.
- waheoo 6y agoIts 2020. 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.
- _qulr 6y agoHas Apple become increasingly hostile? Yes. Since inception? No. For example, my MacBook Pro from 2007 had a user-replaceable battery. I just popped the old one out, popped the new one in, 15 seconds, it was brilliant.
- waheoo 6y agoOh come off it. Those user replaceable batteries were expensive as hell. 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.
- sergiotapia 6y agoI miss the wild west of download random .exes and discovering news software. Time to sandbox a win95 box?
- userbinator 6y agoIs this only for GUI applications? Admittedly I have not done much development on Macs, but have done some exclusively-command-line work post-Gatekeeper, and have never seen that dialog (or a textual equivalent) appear when running binaries I compiled and even copied across machines; from the Terminal. 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?
- gfxgirl 6y agoJust thought I'd point out this is bad for Unity and Unreal. Tons of student devs making small games putting their apps on itch.io to share, no longer allowed unless they pony up $99 to Apple.
- slmjkdbtl 6y agoThis is my biggest concern too, cross-platform game dev is just so hard to do and you even have to deal with stuff like gatekeeper. I was just thinking about giving up cross-platform entirely now and just do the web which is plain simple
- fizzled 6y agoAll of these people saying: switch to Windows, its better than mac! 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.
- arczyx 6y ago>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.
- PetahNZ 6y agoNumber 2 here, use Mac as my day job, Windows for side jobs/home, Linux for server and things like media boxes. I prefer Windows.
- lawl 6y ago> 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. 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.
- slmjkdbtl 6y agoWhat about cli applications / scripts? Why macOS doesn't seem to prevent users from using those downloaded from the internet when they can also very likely be malicious according to apple
- 40four 6y agoMan, I really love my Macbook pro. Such a nice piece of hardware, and the OS is a joy to use. But the more and more I learn about about their business practices, the more I wonder if they are really in line with my own values, and the more I think about how much benefit I really gain from the OS. 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.
- cryptica 6y agoI highly recommend Kubuntu. It looks ugly initially but you can customize it to look really good. There is even an OSX theme that you can download.
- keyb0ardninja 6y agoWhile I second the Kubuntu/KDE recommendation, I would suggest not using a Mac theme. Because that might get you in the mentality of trying to make a Mac out of Linux, which it is not. I recommended learning to use Linux like Linux with all its unique ideas and it's a joy to use.
- Andrex 6y agoI cannot recommend elementary OS enough, especially for those coming from macOS.
- 40four 6y agoI've been interested to try it out, but I've never hated Ubuntu desktop as much as some seem to, so I've never gotten up the motivation up to give it a go. My boss is very adamant about Linux Mint, and I tried one if his installations before, but I guess I just don't care enough about the desktop experience to make it worth it. Give me a terminal, a text editor, and a browser and I'm happy :)
- pkamb 6y agoI would have assumed that double-clicking is functionally equivalent to selecting “Open” from the context menu. At least in Vista it was a separate command “Run as administrator”...
- nojvek 6y agoWell. This is how you make 2 trillion dollars right? Make tightly controlled marketplace where you are the king and tax the shit out of 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.
- gspr 6y agoI really don't mean this in an inflammatory way. Please take the question at face value. Why does anyone who's a creator of anything stand for this?
- danjc 6y agoFellow devs, I have to take the minority view here. How is $99/yr a number that any business should even care about? Even for OSS. 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.
- latexr 6y ago> How is $99/yr a number that any business should even care about? Even for OSS. 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 https://news.ycombinator.com/item?id=24217921
- mpartel 6y agoThe power that tech companies accumulate with tactics like this, and the justifications for that power, are strangely reminiscent of autocratic governments: we decide which programs you can develop and run, and we can levy an arbitrary 30% income tax (on top of regular VAT). But don't worry, it's all for your safety and security! We are fast becoming corporate citizens, for better and for worse: https://www.youtube.com/watch?v=l3pkkSNRug4 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.
- eecc 6y agoFrankly, I’m afraid your premise is a bit of a straw man argument. 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.
- kinglawrence 6y ago"Apple has indicated that a future version of macOS may not allow unsigned code to run at all" Anyone have a source for when Apple has indicated this?
- hans_castorp 6y agoHow does this work for Java programs? 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)
- kossmoboleat 6y agoI think it's fine to have more checks for "normal" users, but I'd like to see a better UI for experienced users. 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=en.lproj#/dev9b7736b0e https://help.apple.com/xcode/mac/10.2/index.html?localePath=...
- yreg 6y ago>although Apple has indicated that a future version of macOS may not allow unsigned code to run at all Where is this comming from? I doubt Apple indicated such a thing.
- devboxr 6y agoI'm actually a big fan of this. Since macOS has become a lot more prevalent and most of my family and friends use it, I was asked A LOT less for IT support.
- classics2 6y agoIt costs $349/yr to rent the magic number required to ship signed drivers for Windows. $99 seems pedestrian by comparison.
- bencollier49 6y agoI have a 2015 Macbook, and for the last year or so I've known it'll be my last Apple product. Perhaps in fifteen years when they've been displaced and have made a semi-contrite return a la Microsoft, I might look at buying their stuff again.
- pkphilip 6y agoThe approach may be to start educating the Apple users to understand that these messages do not necessarily mean that the app itself is malicious or from a malicious source. 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.
- guytv 6y agoFree computing is dead. Apple and Google killed it.
- cryptica 6y agoI don't understand how any developer can willingly use a Mac these days. When you buy a Mac, you don't own it. 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.
- scoot_718 6y agoIt hasn't been worth it to develop for Mac for a good while now.
- mcintyre1994 6y agoAlso importantly Apple consider it legitimate to refuse to notarise apps if you break unrelated rules that have nothing to do with distributing malware and don't give any reason to think you're shipping anything dangerous. This was part of their threat to Epic Games.
- stunt 6y agoAs macOS market share increases, Apple definitely doesn't want to become another attractive platform for malware developers like windows XP. 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.
- greatgib 6y agoIt's hard for me to understand how so many in their right mind can spend thousands of dollars to buy Apple stuff that are made to screw them and to transform them into toddlers!
- habosa 6y agoI have yet to get a good answer to this question: what do these checks do? They just confirm the developer has $100? Does Apple actually make sure signed binaries don't do anything bad?
- jeroenhd 6y agoWhen an application turns out to be malicious, Apple can remotely disable it by invalidating the developer certificate globally. 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.
- einpoklum 6y agoI would say this is an example of how the user interface - and some of back-end plumbing - of a desktop environment [1] is not designed to serve users, their needs and interests. Instead, it's designed to serve Apple's needs and interests at the expense of users. 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.
- the_other 6y agoI wish Apple would apply this sort of security protocol to code which wanted to fingerprint my browser and identify my kids’ habits on the web.
- realistcake 6y agoIt's good that at least one company these days still cares about protecting its users from viruses and malicious software. I feel like most other companies are just not doing enough.
- blauditore 6y agoTo me, this is a lazy solution by Apple. It's easy to keep a whilelist of apps that were manually reviewed (for money!) and just block everything else, leaving out anyone who's not willing to join the club (or cannot afford it) out in the rain. 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.
- ronreiter 6y agoThe whole idea here is to protect the user. If it's important enough for you to have your app signed then you will do it. iOS does this in a much more violent approach - the app verification process.
- iso1631 6y agoI'm the user, where can I disable this on my machine?
- mFixman 6y agoI was surprised to find out the something even worse is happening on default installations of Windows 10: you cannot install non-Microsoft software at all unless you go to the system settings and disable "S mode". 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?
- benhurmarcel 6y agoOnly some PC models come with S mode by default (notably the Surface do).
- mFixman 6y agoS mode is active by default in regular, non-Surface Lenovo Ideapad laptops.
- axilmar 6y agoWhy operating systems don't provide a sandbox for running unsigned apps by default? 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.
- tromp 6y agoI'm very happy to have come across this sentence: > 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!
- m12k 6y agoYou can ensure it doesn't interpret a right-click as a left click by lifting the fingers on the left side before right-clicking, then it'll work every time. Or do like me and ditch the magic mouse, since it's insane that a mouse would force you to do that just to be able to right click with any consistency.
- catmistake 6y agoDisabling Gatekeeper From the Apple menu, open the "System Preferences" application. Click on Security & Privacy > General tab. If the lock in the left-hand corner is locked, click on it, then enter your Mac's username and password. This may not be required. Click "Anywhere" under "Allow applications downloaded from:". If you followed Step 3, please click the lock in the left-hand corner to return it to its locked state. Close "System Preferences".
- jbergens 6y agoSounds like a security disaster for non-technical users. It is much better to trust a specific app from now on than to trust the entire internet from now on.
- catmistake 6y agoThe assumption is that developers need free reign. One would hope a developer is a technical and savvy user. 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.
- ttepasse 6y agoSince MacOS Sierra the “Anywhere” option is not visible per default in the System preferences. To set Gatekeeper to “Anywhere” you‘ll need to do it via terminal: $ sudo spctl --master-disable Then the “Anywhere” option is visible in the System Preferences UI. But only while active.
- the_af 6y agoAs a data point: I am indeed a new Mac user, and I would never have guessed how to override gatekeeper and run the app if it weren't for (I think) stackexchange or a similar site providing detailed step-by-step instructions on how to do it. I'm a Linux power user so googling is no strange thing to me, but still, macOS really goes out of the way to hide this choice! 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.
- ho_schi 6y agoApple doesn't provide a good documentation and tools about manually creating Apple Bundles, Signing, Notarization and Stapling. When you cannot use XCode or don't want use XCode you're in the Apple Hell. 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.
- lordgrenville 6y agoI (a savvy and sophisticated dev who knows all about right-clicking) got stuck with this today with an unsigned binary of a command-line program. Right-click open didn't work since the OS didn't know which program to use to open it, so there was no "open anyway" option. Launching from the Terminal gave me the familiar MALWARE! PRIVACY! pop-up. Solution was to open System Preferences -> Security, click the lock, then below the radio button for "allow apps from App Store/identified developers" there was a button allowing a manual override.
- Dahoon 6y agoAnd yet Apple is supposedly better at UI and UX than anyone else. I still can't see it no matter how many times I use Apple software.
- whatsmyusername 6y agoI’m fine with this as long as there is a workaround. The average user can’t be trusted to not run every sketchy thing sent to them via email or linked on the internet. Putting even a minor speed bump that requires even a tiny amount of knowledge of how their expensive company equipment works cuts down on this foolishness by an order of magnitude. As to apples developer fee, I’m fine with that too. Having lived on the SA forums for a good portion of my 20s, putting even a nominal dollar value on access to something cuts down on more than half of trolls and noise, as well as giving the admins a stick to punish nefarious users with. I’d posit upwards of 80%. I buy Apple products for these specific reasons, as opposed to the trash security practices of most of the android/windows ecosystem.
- lwouis 6y agoI'm the main contributor of an app that emulates Windows's alt-tab feature on macOS (https://github.com/lwouis/alt-tab-macos https://github.com/lwouis/alt-tab-macos). I researched this topic extensively, and eventually decided that I would bite the bullet and pay from my own pocket, so that users get a good UX when launching the app. 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.