Contributing to UNIVIPLink to the section Contributing to UNIVIP

On this page

Thank you for helping build an open drone interoperability standard.

Before you startLink to the section Before you start

  • Read README.md, then spec/README.md for the document map.
  • Check docs/decisions/ so you do not reopen a decision without new information.
  • Search existing issues and pull requests.

What makes a good contributionLink to the section What makes a good contribution

Type Expectations
Editorial (typos, clarity, formatting) Small, focused PRs. No ADR needed.
Normative (fields, enums, endpoints, conformance rules) Issue first, then an ADR, then a PR that updates spec text, schema/API, an example and the changelog together.
Mappings (ONVIF, MAVLink, MISB, vendor APIs) Cite the source document and version. Mark anything you could not verify.
Implementation experience Open an issue titled Implementation report: <product> describing what worked and what did not. These are the most valuable input we receive.

Local checksLink to the section Local checks

pip install -r tools/requirements.txt
python3 tools/validate.py

The validator checks that every file in examples/ validates against the schema named by its schema field (or its directory), that all schemas are themselves valid JSON Schema 2020-12, and that the OpenAPI document parses and references only schemas that exist.

StyleLink to the section Style

  • Use RFC 2119/8174 keywords (MUST, SHOULD, MAY) in capitals only in normative sections.
  • Units go in field names: _m, _mps, _deg, _degps, _pct, _v, _ms, _s.
  • Enumerations are UPPER_SNAKE_CASE. Field names are lower_snake_case. Event topics and command types are lower.dot.separated.
  • Prefer "vehicle" for the flying vehicle, "payload" for cameras and sensors, "device" for the UNIVIP endpoint as a whole, and "client" for the VMS or other consumer.

Safety-relevant changesLink to the section Safety-relevant changes

Anything under spec/11-vehicle-control.md, the vehicle.* command family, or the control-lease model is safety-relevant. Please tag the PR profile-n and expect an additional reviewer.

Code of conductLink to the section Code of conduct

Be respectful, assume good faith, and keep discussions technical. Vendor-specific advocacy is welcome when it is framed as a requirement or a mapping; it is not welcome as a veto.

Generated from CONTRIBUTING.md.