This document describes the motivations and steps for contributing to this repository.
This section explains the reasons to contribute and the collaboration between actors.
- Introduce new features beneficial to you and other users.
- Fix an issue that impacts negatively your work or the work of others.
- Provide better practices to improve the robustness and efficiency of the code base.
- Increase the code base performance to speed-up the execution and consume less resources.
- Write clearer and more complete documentation to improve the comprehension and usage for end users.
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.
This section details the steps to contribute to this repository using issues and pull requests (PR).
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.
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
.
This section defines the approval and release processes for merging contributions to this repository.
The approval process is the responsability of the repository owners. There are 3 requirements:
- The contribution provides added value to the organization
- The technical status checks pass before merging the pull request
- 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.
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.