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

libcamera is developed as a free software project and welcomes contributors.
Whether you would like to help with coding, documentation, testing, proposing
new features, or just discussing the project with the community, you can join
our official public communication channels, or simply check out the code.

Mailing List
------------

We use a public mailing list as our main means of communication. You can find
subscription information and the messages archive on the `libcamera-devel`_
list information page.

.. _libcamera-devel: https://lists.libcamera.org/listinfo/libcamera-devel

IRC Channel
-----------

For informal and real time discussions, our IRC channel on Freenode is open to
the public. Point your IRC client to #libcamera to say hello, or use the `WebChat`_.

.. _WebChat: https://webchat.freenode.net/?channels=%23libcamera&uio=d4

Source Code
-----------

libcamera is in early stages of development, and no releases are available yet.
The source code is available from the project's `git tree`_, hosted by `LinuxTV`_.

.. code-block:: shell

  $ git clone git://linuxtv.org/libcamera.git

.. _git tree: https://git.linuxtv.org/libcamera.git/
.. _LinuxTV: https://linuxtv.org/

Documentation
-------------

Project documentation is created using `Sphinx`_.  Source level documentation
uses `Doxygen`_.  Please make sure to document all code during development.

Sphinx integration with Doxygen is planned, likely using `Breathe`_ and
`Exhale`_.

.. _Sphinx: http://www.sphinx-doc.org
.. _Doxygen: http://www.doxygen.nl
.. _Breathe: https://breathe.readthedocs.io/en/latest/
.. _Exhale: https://exhale.readthedocs.io/en/latest/

Submitting Patches
------------------

Patches submitted to the libcamera project must be certified as suitable for
integration into an open source project. As such libcamera follows the same
model as utilised by the Linux kernel, and requires the use of 'Signed-off-by:'
tags in all patches.

By signing your contributions you are certifying your work in accordance with
the `Developer's Certificate of Origin`_

.. _Developer's Certificate of Origin: https://developercertificate.org/