CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 790
Platform Support
This document describes how SuperCollider decides which platforms to support. For information on which versions of SuperCollider support which platforms, see the README.md or the website download page.
This policy was implemented as a result of https://github.com/supercollider/rfcs/pull/1.
The development community for SuperCollider has agreed on some guarantees about support for various platforms and toolchains. Anything that breaks these guarantees should be fixed as soon as possible.
These guarantees should not be taken as an indication that we do not intend to support older platforms. On the contrary, care should be taken not to lose support for platforms with which SuperCollider is currently compatible, unless there are good reasons for doing so, and patches to add or restore support for any platform are welcome.
Reasons to drop support include:
- newer versions of tools and libraries have dropped support
- security issues
- the OS vendor itself has dropped support (for example, in Windows or macOS SDKs)
- significant features require a feature not available on an older platform, and there is no practial way to make the feature configurable
These guarantees are given as both a number of years and number of releases. Whichever period is longer applies. For instance, macOS is supported for 2 years and 2 major releases. That means that any new version of macOS released in the last 2 years is supported, and that the last two major releases of macOS are always supported. At present (2020-04-02) that would be macOS Mojave 10.14 and Catalina 10.15.
These guarantees are for the official releases published on GitHub and the supercollider.github.io website (pre-compiled binaries on macOS and Windows, and a built-from-source binary on Linuxes).
The following platforms are supported:
- macOS: 2 years, 2 major releases (i.e. Mojave 10.14, Catalina 10.15)
- Windows: 4 years, 4 major updates
- Ubuntu: 4 years, 2 LTS releases
- Debian: 4 years, 2 major releases
- Fedora: latest release
- Arch Linux: latest release
- Raspberry Pi (Raspbian): latest release
- BeagleBone Black (Debian): latest release
"Compatibility" on Linuxes means there exists some toolchain easily obtainable -- preferably through the standard package manager of that plaform, or the one used for cross-compiling -- that can build SuperCollider.
SuperCollider also makes some guarantees about the toolchains (libraries, compilers, and other third-party software) that can be used to compile it.
The official minor release of SuperCollider is guaranteed to be compatible with:
- Xcode: 2 years, 2 major releases
- gcc: 4 years, 4 major releases
- clang: 4 years, 4 major releases
- MSVC: 4 years, 2 major releases
- Qt: 2 years, 1 LTS release
As much as possible, SuperCollider should support building with the latest release of Boost, and the version packaged in the source tree should be updated reasonably soon after a release.
Other libraries and tools which SuperCollider uses:
- CMake
- libsndfile
- libjack
- fftw
- git
- ALSA
- libudev
- libreadline
- Asio SDK
- NSIS
- libyaml-cpp
These are not given guarantees either because:
- a compatible version is included in the SuperCollider repository itself, or
- the library is relatively stable and so no additional compatibility requirements are necessary, or
- there have been few compatibility issues with the library.
Support guarantees can be added if needed.
To the extent that it is possible and practical, the supported platforms and toolchains for a minor SuperCollider release should also be supported by patch releases within that same minor release. For example, if SuperCollider 3.11.0 supports Debian Buster, so should 3.11.1, 3.11.2, and so on.
Contributing
Contributing to the project, filing bugs, creating pull requests, style guidelines.
Development resources
Project documentation, structure, reviewing, releasing, and other processes.
User resources
FAQ, resources for learning, tutorial lists.
Community
Forums and communication, community projects, artworks and initiatives, info about the SuperCollider project.