Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This appears to be a very typical response from an Apple user who doesn't understand the lengths and hoops developers have to jump through to work around Apple's many, many restrictions, bugs and limitations.

In my day job, our Apple developers have spent years finding solutions to iOS restrictions around CallKit, Push Notifications and NSTodaysProblem, and those are just the things Apple has intentionally restricted, once you get into the bugs and poor documentation for some APIs it's another story.

If our users knew the half of what our Apple Developers have to do, the meetings, discussions, concessions and re-design that has to be done to make things just work, even on par with the Android equivalent, they might be a little bit more understanding.

WireGuard has been excellent, and as a Linux user, I haven't needed an app, I have a couple of aliases in my shell to start and stop my tunnels. I've used WireGuard daily for work since lockdown and I used it daily for personal use, while commuting to work before lockdown. In all of that time, I've never had a single issue due to WireGuard (and there isn't even a Linux app to be seen). The expectation is often different between Linux and Apple users though.

When I was setting up for the first time, Jason even found time to help me himself on the IRC channel, something I've never expected, and for which I am eternally grateful.

I made a donation to WireGuard last year, I'll be doing the same this year and I encourage others to "put their money where their mouth is" and show a little support for the people making and sharing this software for free. I expect an Apple user can afford a small cut of their or their employer's money to do so.



I love Jason’s response and think it carries the right tone and is delivered near flawlessly. It’s clearly frustrating to deal with Apple’s platform lockdown, and he captures such in a professional and rational manner. Bravo.

What bothers me is that I’ve experienced an increasing number of maintainers of supposed cross platform projects simply not care about macOS anymore to the extent that they’re openly hostile towards macOS users. I know what you do is free and I have no entitlement to anything from you, but don't antagonize me when I add suggestions to open discussion and feature requests to your issue tracker to try and help participate in improving the way your project works on macOS. I’m probably willing to do some work but also need to get the lay of the land first.

I would challenge those maintainers to be honest. Yes, it’s your time, but if you’re not interested in spending it actually supporting macOS, don't market your project as a cross platform. Like it or not the macOS platform is changing and if you’re not along for the ride don’t grief everyone who is (either by choice or by requirement).

Just to be crystal clear: Json does not fall in this bucket, but this topic in general seems all too familiar lately.


You can be "cross-platform" in many ways. In practice if you don't run MacOS yourself, there's just no reasonable way to support MacOS at all. It literally costs hundreds of dollars to get a compatible test environment, while most other systems (including Windows) you can download and run a in VM for free.

In practice if the MacOS support takes more than a quick headers / types update, it will likely need more care in the future as well. That means you need not just a driveby fix, but a continued commitment from someone to ensure compatibility. This is not out of hostility towards the users, but I'll keep calling things that don't work on MacOS cross-platform. (Yes, it sucks; You can vote with your money to stop that situation)


> It literally costs hundreds of dollars to get a compatible test environment, while most other systems (including Windows) you can download and run a in VM for free.

Not even that; I've developed for Windows using Wine plus a mingw cross-compiler packaged by the Linux distribution I was using. Another alternative would be ReactOS in a VM.


agreed, as a developer i don't need an android device to test, just open a simulator and most things will work. on the other hand you cant even compile for ios with a linux/windows pc.


You can put OS X in a Windows or Linux hosted hypervisor, but the Apple doesn't want you to know about it.


You can, but it's illegal. You're only allowed to virtualise MacOS on MacOS host. You also have to obtain the system which as far as I can tell you can't buy anymore - you can only upgrade to.


Just because something is unauthorized or breaks EULA (mostly void here in EU anyway) doesn't mean it's illegal.


Even if you don't expect EULA to be enforced (will you pay for my lawyers/fine if it is?), you still need a copy of the system which you can't buy directly. You're left with unauthorised copies if you don't have any MacOS hardware and the same question - would you cover my legal costs?


You can download MacOS directly from Apple for free.


How do you legally download Big Sur without having an existing Mac machine? I thought that option was gone for some time now. A quick search doesn't bring up good solutions.


On the flip side, why would it be legal? It's looks like a pretty cut case of copyright infringement. It's their software, you're not authorized to use it, but you're using it anyways.


First it's illegal but secondly the performance is atrocious anyways (at least last time I've tried) so it won't even help you that much.


Hackintoshes break the TOS last time I checked.

Some stuff can be built for Macs from Linux, stuff like the Godot game engine supports this.

It is however a guess if they're going to allow that build or not.


Godot doesn’t build Mac binaries on Linux, the export templates provided include the platform native binaries.


> In practice if you don't run MacOS yourself, there's just no reasonable way to support MacOS at all.

I think this is the key insight. I tried to do a similar thing with Windows. The free VM expired every 30 days or so and bootstrapping a build environment each time (even just downloading it) sucked. The build environment is an outlier compared to macOS/Linux/Unix. I eventually ended up paying for Windows. I still couldn't test things like OpenGL inside a VM.


> while most other systems (including Windows) you can download and run a in VM for free.

For what it's worth there are many "click and run" virtual machine creators for OS X. It's not acceptable for corporate use because of the license violations, but to be honest I see very little issue for open source developers using such a solution if they don't have a Mac.


The problem is that you're not a reviewer at apple, or an apple lawyer...


> What bothers me is that I’ve experienced an increasing number of maintainers of supposed cross platform projects simply not care about macOS anymore to the extent that they’re openly hostile towards macOS users.

So blame Apple for it - why do you blame the developers?

Apple wants you to forget that it is the developers that add value to a platform, and yet it charges them for the "privilege" of creating apps for their platform. And then they are openly and increasingly hostile to developers who do not conform to their business model and do not want to pay them or distribute the app through their app store - and thus they keep crippling API after API to make sure that the developers toe their line.

It is because of Apple's hostile attitude to developers that they no longer want to invest (or rather waste) their time on Apple platform.

Here's a real life example of an app that is now no longer viable on macOS because it doesn't suit Apple's goals - https://medium.com/tripmode/apple-started-hiding-the-traffic... ...


My condensed point is that it would be both a lot more clear to users and a more powerful middle finger to Apple if projects just dropped support for macOS.

Apple isn’t feeling the heat for the dumb decisions they make with their platform, users are because they get berated as idiots for ever owning an Apple device by frustrated maintainers.

I mean I’ve seen things like “the problem is not the $99 developer fee, it’s paying it to Apple”. If that’s how you feel then my offer to cover the fee so your project can publish notarized releases isn't going to go anywhere and your project wont ever properly support macOS. Sorry.


While Apple isn't right on everything, they are a business, and they have the responsibility to decide what they will provide and what they won't.

If they can't change X because it will screw over critical application group Y, then developers can complain as much as they want until they have some practical way to deal with that. If they were constantly screwing over Y, where Y was different depending on the problem, they could eventually screw up all of the apps, users, and developers.


Yes, developers on Apple platform need to be more vocal with their criticism and, if necessary, even boycott their platforms to be heard.


These are people that are not Apple developers however, they're cross platform developers, and support Mac OS so long as the burden is not too great (or simply allow others to do the work of supporting Mac OS in some cases).


As a long-time Apple user, I agree with developers on this. Give it time and they will abandon the platform, which is not geared to be anything more than a vertically integrated channel for money. "but if you’re not interested in spending it actually supporting macOS, don't market your project as a cross platform" This is again Apple driven effect. Most of the Open Source projects are cross-platform because of Mac Os X, not what Mac Os is now. I advocate for Linux as a platform with real control over computing and hope developers realizing that this is a chance for Linux to become desktop heaven. My main workflow is design-focused and if software like Affinity Design or Sketch was available today I will remove anything Apple-related from my job.

There is a lot of graphic design and video professionals that will jump the ship. We have Blender, and Resolve is working under Linux, but Inkscape and Gimp are not capable enough to replace Sketch/Affinity/Adobe Illustrator/Photoshop.


I agree and I try to use Linux as much as possible, just to be clear. I want Apple to feel the effects of their lockdown on their platform. Right now just directing grief at macOS users who are trying to contribute to a project that claims support for macOS in their readme is not really fair. Give Apple the middle finger and drop support for their platform officially!


What average or semi pro user (the core New Apple User) have not contemplated is that technologies on a macro scale at the current moment are a step towards the political agenda of control of governments and corporations over people.

This is not a conspiracy. This is the official plan for the 4th industrial revolution by WEF. (https://tinyurl.com/yyfmj7gk). The goal is to abolish private property and live in a real time data driven world which is clearly a Communistic Agenda "The theory of the communists may be summed up in the single sentence: Abolition of private property." - Karl Marx.

In this context big corporations are cooperating with governments under supervision of WEF to implement general control with global AI infrastructure (actually there is EU program for supercomputers network already in place). Apple, Google, Microsoft and Amazon are part of this network of influence and they will sell user data to governments on demand.

The idea of personal computing without authorisation(Digital ID https://tinyurl.com/y5he2qr9) and oversight (telemetry) will be contrary to the values of the new Digital Utopia. Obviously big tech is politically driven and will be protected from scrutiny in the future in this context.

Literature: "A Framework for Developing a National Artificial Intelligence Strategy" - WEF link - (https://tinyurl.com/y6lwfdcy).


FWIW in the projects I've involved in we do get macOS-specific requests and reports from time to time but I have yet to see a macOS dev step up and contribute.

There is lots of cross-platform software, which works on Linux, Windows and even BSDs; you can't expect (or feel entitled for) open source maintainers to then also go ahead and buy expensive Apple hardware just to support their idiosyncratic almost-BSD-but-not-really-UNIX OS.


This is especially annoying when getting to the lower levels of programming. I'm maintaining a Rust client for SQL Server, and in recent OS X versions Apple decided with their secure framework to not support the measly TLS certificates of SQL Server (Azure, Docker). Now I have a ticket with no real help.

How I finally solved this is I got a Mac Mini from cloud, I could with a lots of trouble finally start docker in it (needed a desktop to click some icons) and test my code. This meant statically linking OpenSSL instead, which is not the greatest from a security point of view.

All of this took six months, and it was really hard to get Mac users to commit anything. It was ridiculously annoying to write and test without buying an Apple computer.

After this experience I just don't want to support any of their products anymore. Too much time wasted.


One thing I've noticed, as someone who's helped out on the macOS side of things for an open source project or two, is that the Mac/AppKit/Cocoa documentation issue is a barrier here.

There are absolutely OSS maintainers who wouldn't mind patching things for macOS... if they could figure out the expected behavior/etc. I've fixed things for projects that I only know about from plumbing around in AppKit for a few years now.


Being cross-platform is not the same as supporting every platform in existence


Perhaps they turn hostile because of macOS users. Such users have submitted sloppy this-works-for-me-style build patches to my project, which later were deemed incorrect by actual macOS experts. I had to do everything over again.

Then I was rudely accused of not using cmake, when autotools perfectly support cross builds (better than cmake on Linux).

It is not my problem if a purported Unix does not ship gcc or if clang cross builds are painful. Go and install gcc!

If Apple were interested in being supported, they'd fix their tool chain and provide free testing infrastructure to OSS developers.


> What bothers me is that I’ve experienced an increasing number of maintainers of supposed cross platform projects simply not care about macOS anymore to the extent that they’re openly hostile towards macOS users

This is not bothering. This is a very fortunate situation. I hope this process happens faster!

What I don't understand is your point of view. It is not these sane developers who are "hostile" towards users. It is Apple who is callously hostile towards users and developers. By degrading the macOS experience, these developers are making the world a better place.


>> if you’re not interested in spending it actually supporting macOS, don't market your project as a cross platform.

That is ironic, since for years I have seen "Cross Platform" to mean Win + Mac, and exclude linux users.

now that is Win + Lin due to how hostile the Apple Ecosystem is to anything "not invented by apple" and you want to blame the open source devs for that...


"Cross-platform" is not a promise that it will work on every platform, and saying that to be cross-platform without that including MacOS is "hostile towards MacOS users" is unreasonable. The most you can reasonably hope for, in something you can get for free, is that if it says it works on a given platform, then it is reasonably functional there.


You know, I thought I was the only one who felt this way - but it is really annoying.

I help out on an open source emulator/game project and wound up becoming the de-facto "Mac guy". I don't mind it, but I do find myself annoyed with the people who deride the platform for not being either Windows or Linux.


> I made a donation to WireGuard last year, I'll be doing the same this year and I encourage others to "put their money where their mouth is" and show a little support

Imagine, Apple even wanted 30% of any donations!!

> We faced rejections in submitting the app, because they decided to change their policy on the app having a link in the "About WireGuard" tool window to www.wireguard.com/donations/ (which they previously had allowed explicitly; now they want 30% or something), and then after removing that ... Well, finally they approved the fix ...


That is how you become a $2 TRILLION company. Nobody gets a pass on giving up the cash.


There really is such thing than too much greed though.


> This appears to be a very typical response from an Apple user who doesn't understand the lengths and hoops developers have to jump through to work around Apple's many, many restrictions, bugs and limitations.

Eh? Isn't that a description of the original complaint, and the 'a response' submitted here is from WireGuard creator/lead Jason/zx2c4 explaining much as you do the restrictions, bugs, and limitations he's tried to work around?


Apologies, I indeed meant the original post to which Jason was responding.

By "response" I meant the response of the user to the WireGuard Mac app.

Again apologies, I somehow jumped a few mental hoops of my own when commenting.


Ah, but the original post, which triggered the uninformed ranting against WireGuard, was not itself from someone who was ignorant of the lengths and hoops developers have to jump through to work around Apple's many, many restrictions. Furthermore, its author outlined how to work around the problems with the app by using Macports instead.

What about the problems? Well, it's free. They owe me nothing. But, you should still be aware what you are getting into when you choose to [use the app]. That's why I wrote this post: to serve as a warning to others. Let my frustration save you the same in the future.

When it comes to WireGuard, just stick with the tried and true low-level Unix approach, even on your Macs. Your sanity will thank you.

I just hope the iOS version never flips out on me.

Anyone who has a problem with that state of affairs has a beef with Apple, and should not be posting their displeasure to the WireGuard mailing list.


Agreed, the beef needs to be with Apple, developers targeting the platform are trying their best, and to say that they shouldn't support the platform if they can't deliver a quality product is disingenuous; you can have a quality product and Apple's policies and restrictions can absolutely destroy your UX; I've experienced this first hand.

It's not that Apple doesn't budge, if people shout loud enough; their Push/APNS change deadline was pushed back twice, it can happen again if enough people push enough for them to start treating their 3rd party developers like first class citizens.


Ah no worries, just misunderstood since between you and the submitter both sides got called a 'response'. Bloody English language, eh!


Yeah, the parent to your comment is discussing Rachel's post, not Jason's response.


I think he meant the author of the original blog post that zx2c4 is responding to.


>This appears to be a very typical response from an Apple user

Nothing Jason from WireGuard wrote invalidates anything that the original blogger wrote. The Mac App sucks and Jason merely explained why. In other words, both Jason and Rachel are correct.


> I encourage others to "put their money where their mouth is" and show a little support for the people making and sharing this software for free

Just went to donate for myself, and happened to spot Rachel’s name in the list of donors too, so that’s a nice little end to the story :)

(Not as nice as “apple either fixes their APIs or permits people to work around them”, but still...)


Also consider giving to Jason's Patreon[0]. He works on many open source projects including the original Git web interface and the `pass` tool.

[0]: https://www.patreon.com/zx2c4


I blame Google. Had they made Android good, they would've crushed the iPhone eons ago.


>If our users knew the half of what our Apple Developers have to do, the meetings, discussions, concessions and re-design that has to be done to make things just work, even on par with the Android equivalent, they might be a little bit more understanding.

It's frustrating, but it's also great job security.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: