We now have signed packages for macOS. You can find these packages published on the official QGIS download page at http://download.qgis.org.
Rationale
In addition to being a very powerful and user-friendly open source GIS application, QGIS can be installed on different operating systems: MS Windows, macOS, various flavours of Linux and FreeBSD.
Volunteers help with generating the installers for those platforms. The work is highly valuable and the scale of effort put into packaging over the years is often underappreciated. QGIS has also grown significantly over the years and so has its complexity to package relevant libraries and 3rd party tools to the end-users.
QGIS has been packaged on OSX/macOS for many years, making it one of the few GIS applications you can use on this platform. This is largely thanks to the tireless work of William Kyngesburye (https://www.kyngchaos.com/software/qgis/) who has shouldered the task of compiling QGIS and its dependencies and offering them as disk images on the official QGIS website. The packages for each new release are available within days for all supported macOS versions.
Unlike most other operating systems, macOS can only be run on Apple hardware. This is a barrier for developers on other platforms who wish to compile and test their code on macOS. For other platforms, QGIS developers have automated packaging, not only for the major releases but also for daily code snapshots (aka nightly or master builds). Availability of the daily packages has allowed testers to identify platform-specific issues, well before the official release.
Apple also has a system of software signing so that users can verify if the packages are securely generated and signed by the developers. Up until now, signed macOS packages were not available, resulting in users who are installing QGIS needing to go into their security preferences and manually allow the QGIS application to be run.
A new approach
In October 2018, Lutra Consulting started their work on packaging QGIS for macOS. The work has been based on OSGeo tap on Homebrew. Homebrew is a ‘bleeding edge’ package manager similar to those provided by Gentoo or Arch Linux. The packages by Lutra bundle the various libraries and resources on which QGIS depends into a single QGIS.app application bundle. The packages were made available in late 2018 for QGIS official releases and master. QGIS Mac users have eagerly tested and reported various issues and the majority of them were resolved in early 2019.
Following the successful launch of the prototype packages and in discussion with other developers, it was agreed to transfer the ownership of the packaging infrastructure and scripts (https://github.com/qgis/QGIS-Mac-Packager) to QGIS.org. Using the new infrastructure and OSGeo Apple developers certificate, all QGIS ‘disk images’ (installers) have been available since late May 2019.
What are the main difference between the new installers and the ones offered by Kyngchaos? The new installer offers:
- 3 clicks to install: download, accept Terms & Conditionss, drop to /Application
- All dependencies (Python, GDAL, etc) are bundled within the disk image
- Signed by OSGeo Apple certificate
- Availability of nightly builds (master)
- Scripts for bundling and packaging are available on a public repository
- Possibility of installing multiple versions (e.g. 3.4 LTR, 3.8 and master) side-by-side
There are some known issues:
For a full list, see: https://github.com/qgis/QGIS-Mac-Packager
Further work
We hope that by providing the new installers, macOS users will have a better experience in installing and using QGIS. Ideally, with the availability of nightly builds and being more accessible to new users, more software bugs and issues will be reported and this will help to improve QGIS overall.
Maintaining and supporting macOS costs more compared with other platforms. As QGIS is one of the only viable GIS applications for macOS users in an enterprise environment, we encourage you and your organisation to become a sustaining member to help assure the continued availability and improvement of the macOS packages in the long term.
Future plans
In future we plan to migrate the packaging process to use Anaconda QGIS packages as the source for package binaries. We also would like to integrate macOS builds into the Travis-CI automated testing that happens whenever a new GitHub pull request is submitted so that we can validate that the macOS packages do not get any regressions when new features are introduced.
Conclusion
With this work, we now have nightly builds of the upcoming release (‘master’) branch available for all to use on macOS. We now have signed packages and we have an automated build infrastructure that will help to ensure that macOS users always have ready access to new versions of QGIS as they become available. You can find these packages published on the official QGIS download page at http://download.qgis.org. A huge thanks to the team at Lutra Consulting for taking this much-needed work, and to William Kyngesburye for the many years that he has contributed towards the macOS/OSX QGIS packaging effort!