Skip to content

Target tier policy #300

@wegank

Description

@wegank

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions