There is many ways to join us in the OTB adventure and the more people contribute, the better the library is for everybody!

Starting out

First, you can use the library. That may not be obvious at first but this is by having people exploring remote parts of the code and using it in unplanned ways that the library can improve. Giving us feedbacks is important: for what does not work, but also on what's working. Don't hesitate to post on the OTB user mailing list or the OTB developer mailing list. This can be to let us know of some typo in the software guide, the doxygen or a major bug in otb::Image.

You can also let us know of some wonderful algorithm that you've seen on a paper and that you would like to have in OTB. Actually, we are not really lacking of ideas so we can't guaranty that we will find the time to put your algorithm in the library: but posting on the mailing list, you may find somebody who is willing to do it with you.

If you've found some bug: just fill up a bug report on our bug tracker.


Scaling up

Then, you can submit patches if you corrected some problems in OTB, you can just do that through the mailing list or the bug tracker if the corresponding bug is open. If you have some interesting algorithm that you want to share, do not hesitate to contact us.

If you have some interesting success stories with OTB, contact us as well, we will advertise for you ;-)


Developing as the developers

Finally, the most comfortable solution is probably to develop just as we do. As we are using a distributed version control system, you can perfectly set up your own OTB repository on your computer (that's actually what you do when you clone) but also within your lab. And if one day you feel comfortable with the changes you've made, let us know and we can pull directly from your repository. You will have the pleasure to have your name among the official contributors.

NEW : To make this process easier, we’ve just created a “sandbox” repository for OTB which works as a testing environment that isolates untested code changes and outright experimentation from the production environment or repository. Here is how it works:

  • Clone the main OTB repository: 

hg clone

  • Set up your mercurial identity, on windows if your using TortoiseHg, just right click on the folder to set up your identity, in Linux or Mac, edit the ~/.hgrc and put the following lines:


  • username = Your Name < This e-mail address is being protected from spambots. You need JavaScript enabled to view it >
  • Work as usual, commit locally as you would do for your own project when you are happy, push to the sandbox:

    hg push

If you have any questions, just ask.