contributor-guide/recipe-style-guide.rst: explain difference between layer and recipe license(s)

Explain that the LICENSE set in a recipe does not apply to the recipe
file itself, but to the underlying software. The license of the recipe
file is the license provided in the layer itself. Give OpenEmbedded-Core
as an example for this.

Fixes [YOCTO #14410]

(From yocto-docs rev: 9d586f22b04528a12e71ee4fa794d8130320515b)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b8a56b8b2e8c0417b2f7204f80c79b05d95e9ce4)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Antonin Godard
2026-01-09 10:32:59 +01:00
committed by Richard Purdie
parent f82d22f0ca
commit 8c2c3b114e

View File

@@ -221,6 +221,20 @@ Recipes need to define both the :term:`LICENSE` and
``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names
defined in ``meta/conf/licenses.conf``.
.. note::
Setting a :term:`LICENSE` in a recipe applies to the software to be built
by this recipe, not to the recipe file itself. The license of recipes,
configuration files and scripts should also be clearly specified, for
example via comments or via a license found in the :term:`layer` that
holds these files. These license files are usually found at the root of
the layer. Exceptions should be clearly stated in the layer README or
LICENSE file.
For example, the :term:`OpenEmbedded-Core (OE-Core)` layer provides both
the GPL-2.0-only and MIT license files, and a "LICENSE" file to explain
how these two licenses are attributed to files found in the layer.
- :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this
variable to make sure the license text has not changed. If it has,
the build produces an error and it affords you the chance to figure