Skip to content

Latest commit

 

History

History
34 lines (21 loc) · 3.44 KB

CONTRIBUTING.md

File metadata and controls

34 lines (21 loc) · 3.44 KB

Contributing to this repository

Welcome to the DSS repository and thank you for your interest in contributing to it.

In order to maximize the quality of contributions while keeping the time and energy spent by contributors and committers to a minimum, we kindly ask you to adhere to the practices described below.

General principles

  1. Any change to resources in this repository must be handled through a Pull Request (PR).

  2. PRs to the master branch are expected to pass continuous integration automated tests.

  3. No PR on the master branch can be merged without being reviewed.

  4. The master branch should remain stable at all times. Before a PR is merged into the master branch, it shall pass the tests described in the Development Guidelines. Checks are run automatically on every PR.

  5. Before your PR can be accepted, you must submit a Contributor License Agreement (CLA). See here for more details.

  6. Contributions involving Python code should generally follow the InterUSS Python style guide.

  7. The size of individual PRs is a key factor with respect to the quality and efficiency of the reviews. When Large Contributions are required, they should be structured as a series of small and focused PRs. Here are some helpful references:

Large contributions

Given the critical nature of the content of this repository, contributions require careful review. To ensure that large contributions don't have a negative impact on the quality of the reviews, the following steps help ensure your contribution gets merged progressively, maximizing knowledge sharing between contributors and committers.

Initial discussion

Get in touch with an InterUSS committer using the mailing list or Slack so they know what to expect and can provide early feedback and guidance.

Design document

Following the initial discussion, the next step will be to create a design document that provides a detailed description of the contribution and outlines clearly how it will integrate and interact with the existing components. The expected content of this design document includes a narrative, overall architecture description, sequence diagrams, and test plans. If applicable, based on the advice of an InterUSS committer, this material should be submitted as a PR to the repository in a DESIGN.md file or design directory.

Work and PRs breakdown

Upon reviewing your design document, an InterUSS committer may require you to break the contribution into smaller packages, allowing small PRs to be reviewed progressively. See this page for an actual example.