Licensing#
Common Licenses#
All of Phosh’s components are under an OSI compatible Free Software license. We don’t accept any non-free licenses. Common licenses are:
- LGL-2.1-or-later for libraries
- CC BY-SA 4.0 for documentation, web pages and artwork like icons, sound files or wallpapers.
- GPL-3.0-or-later for everything else
If you start a new component picking one of the above is a good idea, also making your
project reuse compliant and running reuse lint in CI. See
phoc’s CI pipeline for an example on how to do this.
License Header#
In order to make the source code reuse compliant it is recommended to put a copyright notice into the header of each source code file. You can follow this pattern:
/**
* Copyright (C) <year> The Phosh Developers
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Author: your name <youremail@example.com>
*/For the SPDX-License-Identifier pick an appropriate license, preferably from the Common
Licenses listed above. You can also use your name instead of The Phosh Developers if you prefer.
Fiduciary License Agreement#
If you want to help Phosh.mobi e.V. to make sure Phosh stays entirely Free Software you can assign the copyright over to the association (while still keeping the full rights on your submission) by joining our FLA initiative. Note that there is no requirement to do so, to contribute to Phosh but if you do you can from thereon use:
/**
* Copyright (C) <year> Phosh.mobi e.V.
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Author: your name <youremail@example.com>
*/in the license header.
Acknowledging Prior Art#
Ever so often we reuse code that was written by somebody else. If so you should acknowledge that in the copyright header:
/**
* Copyright (C) <year> The Phosh Developers
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Author: your name <youremail@example.com>
*
* Based on: <project's> <sourcefile> which is
* Author: <sourcefile's author>
* License: <sourcefile's copyright>
*/Where project is the project you copied the code from and sourcefile the source file you used.
Please also add this if you don’t copy verbatim but e.g. translate from one programming language
to another. If you only copy a single function you can move the Based on/Author/License triplet
into the comment that documents the function.