Contributors guidelines

From OTBWiki
Jump to: navigation, search

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.