mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: Veiko Aasa <veiko17@disroot.org>
68 lines
2.2 KiB
ReStructuredText
68 lines
2.2 KiB
ReStructuredText
.. SPDX-License-Identifier: CC-BY-SA-4.0
|
|
|
|
Part 8: Finishing
|
|
-----------------
|
|
|
|
Adding a License
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
FreedomBox is licensed under the GNU Affero General Public License Version 3 or
|
|
later. FreedomBox apps, which run as modules under FreedomBox Service (Plinth),
|
|
also need to be under the same license or under a compatible license. The
|
|
license of our app needs to clear for our app to be accepted by users and other
|
|
developers. Let us add license headers to our application.
|
|
|
|
.. code-block:: python3
|
|
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
The above header needs to be present in every file of the application. It is
|
|
suitable for Python files. However, in template files, we need to modify it
|
|
slightly.
|
|
|
|
.. code-block:: django
|
|
|
|
{% extends "base.html" %}
|
|
{% comment %}
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
{% endcomment %}
|
|
|
|
Coding standards
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
For readability and easy collaboration it is important to follow common coding
|
|
standards. FreedomBox uses the Python coding standards and uses the ``pylint``
|
|
and ``flake8`` tools to check if the there are any violations. ``yapf`` and
|
|
``isort`` tools are used to automatically format the code to ensure that all
|
|
developers produce similarly formatted code. Run these tools on our application
|
|
and fix any errors and warnings. Better yet, integrate these tools into your
|
|
favorite IDE for on-the-fly checking.
|
|
|
|
For the most part, the code we have written so far, is already compliant with
|
|
the coding standards. This includes variable/method naming, indentation,
|
|
document strings, comments, etc. One thing we have to add are the module
|
|
documentation strings. Let us add those. In ``__init__.py`` add the top:
|
|
|
|
.. code-block:: python3
|
|
|
|
"""
|
|
FreedomBox app to configure Transmission.
|
|
"""
|
|
|
|
Contributing code to FreedomBox
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The ``HACKING.md`` and ``CONTRIBUTING.md`` files in the FredomBox source code
|
|
have tips on how to contribute code to the project. Be sure to read them if you
|
|
are submitting your app for including on the project.
|
|
|
|
Here is ``HACKING.md``:
|
|
|
|
.. literalinclude:: ../../../HACKING.md
|
|
:language: md
|
|
|
|
Here is ``CONTRIBUTING.md``:
|
|
|
|
.. literalinclude:: ../../../CONTRIBUTING.md
|
|
:language: md
|