In all ROS 2 releases up to and including Foxy Fitzroy, macOS is listed as a Tier 1 platform. That means that build and test failures on macOS are considered a serious regression and need to be examined/fixed before the code can go into a ROS 2 release.
However, there are several problems with supporting macOS going forward. The problems in order of severity are:
- We currently require that users disable SIP to run ROS 2 on macOS.
- Useful tools like RViz2 and the RQt family of tools do not run very well on macOS (see this thread for some details about it).
- The binary distribution that we provide for releases goes out-of-date almost the moment we release it. That’s because our binary distribution relies on Homebrew to provide system dependencies, and Homebrew changes extremely quickly. Thus, any library that we build against today has a high likelihood of being changed/upgraded in the near future.
- Keeping the macOS build machines working and up-to-date takes a non-trivial amount of effort. This can be partly automated away, but because of the previous point this is actually somewhat difficult.
- Upgrades from one macOS version to the next have gotten more difficult over time. This is because we treat macOS as “just another Unix”, but that is increasingly not the case. The result of this is that we are often several macOS versions behind.
- We now need to get hardware and do a port to the new macOS M1 hardware.
Because of all of the above problems, we are considering dropping macOS from a Tier 1 platform to a Tier 3 platform for ROS 2 Galactic, due in May 2021. As a Tier 3 platform, we would continue to accept fixes for it, but we would not block releases for regressions in it and it would be up to the community to continue to develop and test on it.
To continue Tier 1 support for macOS we need funding for a dedicated maintainer to support the release process and improve the overall end user experience. If you or someone you know would be interested in staffing/funding this project please let us know by responding to the post or contacting us at info@openrobotics.org. If we do not find a dedicated maintainer for macOS, then we will drop macOS support in Galactic to Tier 2 (if there is an organized team of volunteers willing to do regular maintenance), or Tier 3 (best effort maintenance).