Skip to content

MONAI_Contribution_Guidelines

Ben Murray edited this page Mar 27, 2020 · 11 revisions

MONAI Contribution Guidelines

17/01/2020 - This page is under development. At the time of writing, we aren't yet looking for open source contributors; we will update this page as soon as we are.

Introduction

This documentation is intended for individuals and institutions interested in contributing to MONAI. MONAI is an open source project and, as such, its success relies on its community of contributors willing to keep improving it. Your contribution will be a valued addition to the code base; we simply ask that you read this page and understand our contribution process, whether you are a seasoned open source contributor or whether you are a first-time contributor.

Communicate with us

We are happy to talk with you about your needs for MONAI and your ideas for contributing to the project. One way to do this is to create an issue discussing your thoughts. It might be that a very similar feature is under development or already exists, so an issue is a great starting point.

Issues for Everything

Issues can be used for far more than simply raising bug reports. We encourage you to open an issue for design discussions, potential points of contributions. This enables us to ensure that your questions / suggestions are seen by the right people and helps us coordinate with you.

Does it belong in ignite / pytorch instead of MONAI?

MONAI is based on the ignite and pytorch frameworks. These frameworks implement what we consider to be best practice for general deep learning functionality. MONAI builds on these frameworks with a strong focus on medical applications. As such, it is a good idea to consider whether your functionality is medical-application specific or not. General deep learning functionality may be better off in pytorch; you can find their contribution guidelines here

Pull request early

We encourage you to create pull requests early. It helps us track the contributions under development, whether they are ready to be merged or not. Tag your pull request as [WIP] until it is ready for formal review.

If it's not tested, it's broken

All new functionality should be accompanied by an appropriate set of tests. MONAI functionality has plenty of unit tests from which you can draw inspiration, and you can reach out to us if you are unsure of how to proceed with testing.

The contribution process

The contribution procedure can be found here.

Clone this wiki locally