.. _contributing:

###################
Contributing to ODL
###################

Introduction
------------
Great that you want to help making ODL better!
There are basically two ways how you can contribute: as a user or as a developer.

The best way to make contributions as a user is to play around with the software, try to use it for your purposes and get back to us if you encounter problems or miss features.
When this happens, take a look at our `issue tracker <https://github.com/odlgroup/odl/issues>`_, and if there is no existing issue dealing with your problem, create a new one.
Don't be shy -- use the issue tracker to ask questions, too.

If you are a developer and want to contribute code, you may want to read through the subsequent instructions.
If you are experienced with Git, you may want to skip directly to :ref:`the development workflow section <development-workflow>`.

In order to properly follow the ODL style, we recommend that you read the :ref:`dev_document` and :ref:`dev_testing` sections.

.. note::

    This documentation is intended for contributions to core ODL.
    For experimental contributions or extensions that would be too specialized for core ODL, we have the `odl/contrib <https://github.com/odlgroup/odl/tree/master/odl/contrib>`_ directory that offers a "fast lane" with a more relaxed code quality and consistency policy.


Contents
--------

.. toctree::
   :maxdepth: 3

   extend
   document
   testing
   release
   gitwash/index
