We welcome external contributions. If you would like us to list your contribution on our page, please contact us. If you would like us to include your code in OMPL, please read on. We want to make the process of contributing code as easy as possible. To this end we came up with the following guidelines:
Mercurial [preferred]: contributors clone the OMPL repository on bitbucket.org like so:
$ hg clone https://bitbucket.org/ompl/ompl
Contributors should then create their own branch, add their files in the appropriate places, and either send us a “pull” request (if the repository is accessible to us) or email us a bundle. We will then merge your code in that separate branch, test the code and then merge it to the default branch. If you have a simple fix, using the default branch is fine.
Git: contributors clone the OMPL repository on github.com like so:
$ git clone https://github.com/ompl/ompl.git
Analogous to mercurial, contributors should then create their own branch, add their files in the appropriate places, and send us a “pull” request. We will then merge your code in that separate branch, test the code and then merge it to the default branch. If you have a simple fix, using the default branch is fine.
In the unlikely event that the submitted code is of poor quality, we will try to suggest the changes necessary to include the contribution in OMPL, and postpone merging until the necessary changes are made.
In almost all cases there will be minor issues. Bitbucket makes it very easy to have a two-way conversation with the OMPL developers about the code. Common issues that are typically easy to fix include: const-correctnes of methods and their arguments, missing/incorrect documentation, memory leaks, and gross deviations form the OMPL style guide.