At the moment, msolve has CI for x86_64 Linux/macOS, and binaries for x86_64 Linux. At the same time, it is known to build or pass tests successfully on other platforms, including
It is thus not surprising that msolve has been distributed on platforms that may not be directly accessible to its developers. This creates an ambiguity: accepting platform-specific PRs can be read as a stronger maintenance commitment than the project may actually want to make. As a result, portability PRs may sit idle because it is unclear whether merging them would implicitly expand the support matrix.
To avoid that ambiguity, I suggest documenting a simple target tier policy. The goal would be to clarify support levels, not to broaden official support. A possible model is Rust's target tier policy:
Rust provides three tiers of target support:
- Rust provides no guarantees about tier 3 targets; they exist in the codebase, but may or may not build.
- Rust’s continuous integration checks that tier 2 targets will always build, but they may or may not pass tests.
- Rust’s continuous integration checks that tier 1 targets will always build and pass tests.
Adding a new tier 3 target imposes minimal requirements; we focus primarily on avoiding disruption to other ongoing Rust development.
This would let the project accept low-risk portability PRs for less common platforms without implying that maintainers are committing to ongoing support for them.
At the moment,
msolvehas CI for x86_64 Linux/macOS, and binaries for x86_64 Linux. At the same time, it is known to build or pass tests successfully on other platforms, includingIt is thus not surprising that
msolvehas been distributed on platforms that may not be directly accessible to its developers. This creates an ambiguity: accepting platform-specific PRs can be read as a stronger maintenance commitment than the project may actually want to make. As a result, portability PRs may sit idle because it is unclear whether merging them would implicitly expand the support matrix.To avoid that ambiguity, I suggest documenting a simple target tier policy. The goal would be to clarify support levels, not to broaden official support. A possible model is Rust's target tier policy:
This would let the project accept low-risk portability PRs for less common platforms without implying that maintainers are committing to ongoing support for them.