Contributing
============

.. meta::
   :description: Contribute to DataLab project, the open-source scientific data analysis platform
   :keywords: DataLab, contribute, open-source, scientific, data, analysis, platform, signal processing, image processing

DataLab is **your** platform. If you want it to be improved, you **can** contribute to
the project, whether you are a developer or not.

There are many ways to contribute to DataLab project, depending on how much time you
have, your experience with open source projects, and your skills.

Share your ideas and experiences
--------------------------------

.. only:: html and not latex

   :octicon:`info;1em;sd-text-info` :bdg-success-line:`No coding required`

Besides the classic bug reports and feature requests, you can share your ideas and
experiences for improving DataLab. In particular, we are very interested in your
feedback on the documentation and tutorials. Moreover, if you have a use case that
you would like to share with the community, please let us know.

.. only:: html and not latex

   .. grid:: 2
       :gutter: 1 2 3 4

       .. grid-item-card:: :octicon:`bug;1em;sd-text-info` Bugs
           :link: https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=

           Reporting a bug

       .. grid-item-card:: :octicon:`light-bulb;1em;sd-text-info` Enhancements
           :link: https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=

           Suggesting an enhancement

       .. grid-item-card:: :octicon:`book;1em;sd-text-info` Documentation
           :link: https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=documentation&projects=&template=doc_request.md&title=

           Suggesting a documentation topic

       .. grid-item-card:: :octicon:`mortar-board;1em;sd-text-info` Tutorial
           :link: https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=documentation&projects=&template=tutorial_request.md&title=

           Suggesting a tutorial topic


.. only:: latex and not html

   Without coding, you can contribute to DataLab project by:

   - `Reporting a bug <https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=>`_
   - `Suggesting an enhancement <https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=>`_
   - `Suggesting a documentation topic <https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=documentation&projects=&template=doc_request.md&title=>`_
   - `Suggesting a tutorial topic <https://github.com/DataLab-Platform/DataLab/issues/new?assignees=&labels=documentation&projects=&template=tutorial_request.md&title=>`_

Share your scientific/technical knowledge
-----------------------------------------

.. only:: html and not latex

   :octicon:`info;1em;sd-text-info` :bdg-success-line:`No coding required`

Your technical or scientific knowledge is also very valuable to us, as you may
directly contribute to the documentation or tutorials. Or, better, if you want
to write a tutorial, we will be happy to help you.

Again without coding, you can contribute to DataLab project by:

- Writing documentation
- Writing a tutorial

Contribute to new features
--------------------------

.. only:: html and not latex

   :octicon:`info;1em;sd-text-info` :bdg-info-line:`Coding (beginner)` :bdg-warning-line:`Coding (advanced)`

Even if you are not a developer, you can contribute to the project by:

- Testing new features
- Writing and submitting new Plugins
- Writing and submitting macro-commands

Develop new features
--------------------

.. only:: html and not latex

   :octicon:`info;1em;sd-text-info` :bdg-warning-line:`Coding (advanced)`

If you are a developer, you can contribute to the core of the project by fixing
bugs or implementing new features.

.. only:: html and not latex

   .. grid:: 1
       :gutter: 1 2 3 4

       .. grid-item-card:: :octicon:`terminal;1em;sd-text-info` Code
            :link: contribute_code
            :link-type: doc

            Contributing to the code

.. only:: latex and not html

   See :ref:`contribute_code` section for more information.

.. toctree::
   :maxdepth: 2
   :hidden:

   contribute_code
   guidelines
   environment
   roadmap
   changelog
