-
Nick Mathewson authoredNick Mathewson authored
Support policy for Arti (draft)
We intend, in the long term, that Arti should work and provide privacy on all major desktop and mobile operating systems. In actuality, however, our current resources and infrastructure only allow us to run Arti's tests on a subset of the environments that we want to support.
Please read this document as a rough statement of intent, not as a formal promise. For now, we'll deviate from these policies whenever it we think it makes sense, and we'll amend from time to time without notice.
Elements of support
For this document, we define the following support tiers.
If a configuration is unsupported:
- We do not typically accept patches related to the configuration.
- We do not issue security advisories related to the configuration.
- We close tickets related to the configuration as wont-fix.
If a configuration is community-supported:
- We accept clean patches for improved features on the configuration.
- We accept clean patches for bugfixes on the configuration.
- At our discretion, we work on fixing bugs that affect the configuration.
Additionally, if configuration is maintained:
- We commit not to knowingly make releases that break the configuration.
- If we learn that the configuration is broken, we prioritize fixing it.
- We write and announce security advisories if we learn about security issues in the configuration.
Additionally, if configuration is a target:
- It is a higher priority for us than other maintained configurations.
- We'd like to make it a tested configuration, if we have the resources. We intend to add more testing to it until it can become tested.
Additionally, if a configuration is tested:
- We have automated systems to make sure that the configuration builds and runs tests correctly.
- We have one or more team members who "dogfood" the configuration, using it ourselves to get rapid notifications about usability problems.
(Note that no broad configuration can be fully tested in all of its permutations. For example, our automated tests can only be run on a limited set of the number of Linux distributions and versions, when in fact there are vast numbers of possible Linux installations whose variations might affect our behavior.)
Operating systems
Our top priorities are the following operating systems:
- Android (target)
- Linux (target, tested)
- OSX (target)
- Windows (target)
- iOS (target)
We only support modern versions of these operating systems. If the upstream providers of the operating system no longer provides security patches for it, it is unsupported. Sufficiently old versions may also be maintained or community-supported, depending on their age and the difficulty of working with them.