Browse the docs

Governance

FlatPark is kept simple on purpose: a change should never wait for more people than it needs. Day-to-day work, from a new listing to a removal, needs one maintainer and an honest account of what was tested. Only changes to the rules and the infrastructure ask for more.

Roles

  • Maintainers can merge. They keep the catalog, the infrastructure and the rules. Today there is one, the project’s owner (@jing2uo).
  • Contributors are everyone else who takes part: packaging apps, testing them, reporting problems, improving the docs.
  • Developers of listed apps have the final word on their own app: whether it’s listed, how it’s packaged, what is said about it.

Who agrees to what

Change What it needs
A new version from upstream Nothing from a person: CI merges it once the new file unpacks
A new listing, a change to a package, a batch change, a removal The PR says what was tested and what wasn’t (testing playbook), and one maintainer merges it
A developer’s request about their own app Applied as asked, in its own PR
Principles, the security floor, signing, infrastructure A second maintainer’s agreement, once there is more than one
A release found to steal data or damage systems Pulled at once by any maintainer; see security
  • An app whose main feature can’t be tested (an account, a login, hardware we don’t have) isn’t listed until its developer, or someone who can test it, confirms it works.
  • A removal needs a stated reason; the reasons are in the listing policies.

Becoming a maintainer

Contributors whose packages and reviews have held up over time are invited by the existing maintainers. A maintainer who steps back loses merge rights and keeps their place in the history.

Infrastructure

The flatpark.org domain and the Cloudflare account that serves the site and the repository (Pages, R2, Workers) are currently provided by the owner personally. When the project has partners for the long term, they move to an account the project controls, so that no single person is required to keep it running.

Edit this page on GitHub