First of all, we appreciate every piece of code or documentation that you contribute to MITK. There are many ways to contribute:
-
Use GitHub Issues to submit a feature request, report a bug, or participate in discussions on existing issues. You can find more details in the section How to File an MITK issue.
-
Submit a Pull Request if you want to actively contribute to the MITK code repository. Please review the guidelines on How to Submit a Pull Request (PR) for more details.
Please note that we have a Code of Conduct that you should follow in all your interactions with the project.
Follow the general instructions on How to Create a GitHub Issue.
Please prefer one of the provided issue template when creating a new issue. Be aware that before submitting a PR, we kindly ask you to create an issue describing the bug or feature request and reference the issue number in the PR description.
Please follow the instructions on Creating a Pull Request. This corresponds to the Fork & Pull Model described here: Fork & Pull Model.
Make sure to open an issue along with your PR. This helps us understand which problem the PR solves or which feature it adds. MITK developers will be notified upon submission of your PR.
We kindly ask you to follow a few rules and guidelines:
-
Sign off your contribution (this is a Git feature).
-
Follow the seven rules of a great Git commit message.
-
Split your work into easy-to-digest and coherent commits.
-
Minimize reformatting of existing code or do it in a separate commit. This makes it easier to review the code and accelerates the processing of the request.
-
If you modify code in header files or write documentation, build the doc target to check for any warnings.
Please follow our Style Guide if you contribute code to MITK and follow the style of the file that is being edited for the sake of consistency.
Our Continuous Integration system is triggered every time a PR is created or updated in the repository and will check for issues such as failing unit tests, code quality violations, or integration problems. The results are displayed on the PR page, indicating whether the code passes or fails the tests. Additionally, nightly tests are conducted, and you will be informed if something in your contributed code is not working.
A PR can be merged once
- the automatic tests for the PR are successful.
- it has been accepted by an MITK developer.
PRs are merged by MITK developers and cannot be merged by external contributors on their own.
Following a PR submission, the MITK developer team will discuss the corresponding issues and the PR. A developer will be assigned to review the code and may request some changes before acceptance. Good communication is essential throughout this process.