Skip to content

Latest commit

 

History

History
76 lines (46 loc) · 4.46 KB

CONTRIBUTING.md

File metadata and controls

76 lines (46 loc) · 4.46 KB

Contributing

This document describes the motivations and steps for contributing to this repository.

Why should I contribute

This section explains the reasons to contribute and the collaboration between actors.

Motivations

  1. Introduce new features beneficial to you and other users.
  2. Fix an issue that impacts negatively your work or the work of others.
  3. Provide better practices to improve the robustness and efficiency of the code base.
  4. Increase the code base performance to speed-up the execution and consume less resources.
  5. Write clearer and more complete documentation to improve the comprehension and usage for end users.

Collaboration

The collaboration process happens between end users and repository owners.

End users can explain a problem and provide a code solution as their main contribution.

Repository owners are mainly and solely responsible for both the approval and release process.

How to contribute

This section details the steps to contribute to this repository using issues and pull requests (PR).

Explain a problem

The first step of the collaboration process is to write a GitHub issue to describe the problem to others.

This allows the repository users and owners to discuss options and find the best approach to solve the problem.

You can refer to GitHub documentation on creating an issue to explain a problem with advanced structure and markup.

Provide a code solution

You can solve an issue documented in this repository by writing some code and creating a Pull Request (PR).

A pull request is required to isolate and review the proposed changes as part of the approval process.

You can quickstart the development of the repository by following the instruction in README.md.

How to publish

This section defines the approval and release processes for merging contributions to this repository.

Approval process

The approval process is the responsability of the repository owners. There are 3 requirements:

  1. The contribution provides added value to the organization
  2. The technical status checks pass before merging the pull request
  3. The contribution receives the approval of at least one repository owners

If the requirements are met, the repository owners can accept and merge the pull request to the main branch.

Release process

To provide a consistent evolution of the repository to end users, contributions are grouped into versionned releases.

During development, the repository owners address several issues in a milestones to report their progress.

Once a milestone is complete, the repository owners can publish a new tag and a release.