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 ------------------ The libcamera project has high standards of stability, efficiency and reliability. To achieve those, the project goes to great length to produce code that is as easy to read, understand and maintain as possible. This is made possible by a set of :ref:`coding-style-guidelines` that all submissions are expected to follow. 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/ .. toctree:: :hidden: Coding Style