Contributors guidelines
This page deals with guidelines to contribute code and features to the Orfeo ToolBox. Some of this content is also present in the SoftwareGuide There are three ways of contributing code to OTB:
- Bug fixes, small changes and documentation. These are accepted as GitHub pull requests against the develop branch. They will be reviewed by the core team. You are also welcome to send a patch to the developers mailing list (otb-developpers@googlegroups.com)
- Remote modules
- Large contributions (new features, refactoring, etc.) via the RFC process
Caution
- This page has to be reviewed by PSC
- Some guidelines only apply after modularization is completed
Contributing code to OTB sources
Some contributions can not be packaged as remote modules (for instance contributions to existing modules), or might as well be integrated directly in Orfeo ToolBox source code. The process for such contribution depends on the permissions granted to the author on our git repository.
Step 1: RFC submission and acceptance
All major changes should be approved by the Project Steering Committee by following the RFC submission process. Small changes such as bugfixes, compilation warnings and errors fixes, typos, and small optimisation or refactoring do not require to follow this process however they should be advertised and discussed on otb-developers list.
Step 2: Writing code
Development should follow OTB git workflow as described HERE.
Development should follow OTB coding style as described HERE.
Step 3: merging to develop branch
If the author has write permissions on Orfeo ToolBox git repositories
Prior to any merge in the develop branch, the release manager approval should be requested and obtained. The release manager will give its approval by following the feature branch merge acceptance checklist.
If the author does not have write permissions on Orfeo ToolBox git repository
It is advised that you use the pull request mechanism of github in such case, using the official Orfeo ToolBox github repository. Once the pull request is posted, please write to otb-developers to call for review and acceptance of the release manager.