Page 1 of 1

End of Macintosh support

Posted: 2021-03-10, 12:15
by Moonchild
After some lengthy discussions about the pros and cons of various options regarding Mac builds, the general size of the Mac user base, reliability of contributors and not in the least future developments in the Apple world, we've made the decision to completely drop Mac support (in the platform and all applications).

This decision is rooted both in organisational issues and the technical outlook for the future on Mac computers as two main drivers. I will highlight these two most important factors in this decision (although there are more reasons, I'd like to keep this to the point and easily digestible):

Continued maintainer issues and lack of official releases

For reasons unknown to the core community members and coordinators (as well as myself), there has been years-long resistance to putting in that last little bit of effort to solve a few final issues (that require someone on Mac to build, contribute and test) to officially build and release Mac binaries - the closest we've come has been "beta" recently with (still) ad hoc builds every release cycle to give some semblance of updated builds to at least keep users somewhat secure in their browsing on Macintosh. None of the contributors/maintainers were willing to take responsibility for official releases or to commit to supporting them in any way, shape or form. Without anyone taking at least some responsibility for the releases we could not in good conscience call them official releases, and as such they have not been and have hovered in this almost-release-ready limbo all this time.

Also, once again we are without a maintainer for Mac builds. This makes like a half dozen or so Mac contributing maintainers that for one reason or another can't or won't continue to contribute and release on Mac.

Mac's technical future is incompatible

As most Mac users know, Apple announced that new Macs will no longer be built with Intel CPUs. Instead, new Macs utilize a new custom-built ARM CPU going forward. Apple has indicated they aim to fully replace all Intel with ARM over the course of about 2 years from launch of their ARM-based devices.

Please be aware that these new ARM-based Macs cannot run software created for Intel-based computers. Additionally, these new machines will not support Boot Camp either, so you cannot dual boot an ARM-based Mac into Windows. This means that all software running on the new Macs must either be re-written for ARM or must run through an emulator. X86 emulation on ARM comes with a significant performance impact, and while emulation is okay-ish for software like office productivity apps, it is not for gaming or applications like modern web browsers that need to be able to leverage acceleration and native instructions.

All of this puts a burden on software developers like us to port their products to the new architecture. It is a huge undertaking to port a product as old, large, and complex as Pale Moon or UXP to a new CPU, with no certain outcome of success. Because of these factors, we will not be porting UXP to run on the new ARM-based Macs. While it will be technically possible to run UXP via x86 emulation on the new Macs, it is a subpar experience that we cannot reasonably support.

Note: While we have experimental support for ARM CPUs running Linux, the ARM-based SoCs (system-on-chip) Apple is employing in their news Mac devices is not a standard ARM CPU, and our MacOS support is also lacking a lot of the underpinnings required to support that O.S. on any ARM hardware, let alone the new SOCs.

Considering these points and more, we've been left with the question what to do with Mac support as it causes a lot of complexity in the code base that would at most be necessary for unofficial support on deprecated hardware that is currently not even being built. Since we can't reasonably support what none of us can natively build, there is no complete maintainer support and hasn't been for years, and new Macs are completely incompatible at the hardware level, the only reasonable option was to make this decision to drop it.

If you have any plans on building anything UXP on Mac computers in the future, then now would be the best time to fork as we'll be steadily removing Mac and MacOS-specific code from UXP as we go forward.