summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorLuca Ceresoli <luca@lucaceresoli.net>2012-05-17 19:33:07 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-07-17 19:06:27 +0200
commit00ba118fcaa9ae398c138d7823b3acdea3bfb0bf (patch)
tree6d340df35908e5daaf145ad0d6a945d7bf663535 /docs
parent86f7382a6c8d216658ae400dee93a4c45a7f5406 (diff)
manual: document usage of the legal-info feature
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/manual/adding-packages-gentargets.txt21
-rw-r--r--docs/manual/using.txt103
2 files changed, 124 insertions, 0 deletions
diff --git a/docs/manual/adding-packages-gentargets.txt b/docs/manual/adding-packages-gentargets.txt
index 84cf06bd2..6e9dc8990 100644
--- a/docs/manual/adding-packages-gentargets.txt
+++ b/docs/manual/adding-packages-gentargets.txt
@@ -245,6 +245,27 @@ information is (assuming the package name is +libfoo+) :
You can find some documentation for this syntax in the xref:makedev-syntax[].
This variable is optional.
+* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package
+ is released.
+ This name will appear in the manifest file produced by +make legal-info+.
+ If the license is one of those listed in xref:legal-info[],
+ use the same string to make the manifest file uniform.
+ Otherwise, describe the license in a precise and concise way, avoiding
+ ambiguous names such as +BSD+ which actually name a family of licenses.
+ If the root filesystem you generate contains non-opensource packages, you
+ can define their license as +PROPRIETARY+: Buildroot will not save any
+ licensing info or source code for this package.
+ This variable is optional. If it is not defined, +unknown+ will appear in
+ the +license+ field of the manifest file for this package.
+
+* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package
+ tarball that contain the license(s) under which the package is released.
+ +make legal-info+ copies all of these files in the +legal-info+ directory.
+ See xref:legal-info[] for more information.
+ This variable is optional. If it is not defined, a warning will be produced
+ to let you know, and +not saved+ will appear in the +license files+ field
+ of the manifest file for this package.
+
The recommended way to define these variables is to use the following
syntax:
diff --git a/docs/manual/using.txt b/docs/manual/using.txt
index a5dc9e1ae..42d406120 100644
--- a/docs/manual/using.txt
+++ b/docs/manual/using.txt
@@ -181,3 +181,106 @@ or +g+++ for building helper-binaries on your host, then do
--------------------
$ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
--------------------
+
+Complying with opensource licenses
+----------------------------------
+[[legal-info]]
+
+All of the end products of Buildroot (toolchain, root filesystem, kernel,
+bootloaders) contain opensource software, released under various licenses.
+
+Using opensource software gives you the freedom to build rich embedded
+systems choosing from a wide range of packages, but also gives some
+obligations that you must know and honour.
+Some licenses require you to publish the license text in the documentation of
+your product. Other require you to redistribute the source code of the
+software to those that receive your product.
+
+The exact requirements of each license is documented in each package, and it is
+your (or your legal office's) responsibility to comply with these requirements.
+To make this easier for you, Buildroot can collect for you some material you
+will probably need. To produce this material, after you configured Buildroot
+with +make menuconfig+, +make xconfig+ or +make gconfig+, run:
+
+--------------------
+make legal-info
+--------------------
+
+Buildroot will collect legally-relevant material in your output directory,
+under the +legal-info/+ subdirectory.
+There you will find:
+
+* A +README+ file, that summarizes the produced material and contains warnings
+ about material that Buildroot could not produce.
+* +buildroot.config+: this is the Buildroot configuration file that is usually
+ produced with +make menuconfig+, and which is necessary to reproduce the
+ build.
+* The source code for all packages; this is saved in the +sources/+
+ subdirectory (except for proprietary packages, whose source code is not
+ saved);
+ patches applied to some packages by Buildroot are distributed with the
+ Buildroot sources and are not duplicated in the +sources/+ subdirectory.
+* A manifest file listing the configured packages, their version, license and
+ related information.
+ Some of these information might be not defined in Buildroot; in this case
+ they are clearly marked as "unknown" or similar.
+* A +licenses/+ subdirectory, which contains the license text of packages.
+ If the license file(s) are not defined in Buildroot, the file is not produced
+ and a warning in the +README+ indicates this.
+
+Please note that the aim of the +legal-info+ feature of Buildroot is to
+produce all the material that is somehow relevant for legal compliance with the
+package licenses. Buildroot does not try to produce the exact material that
+you must somehow make public. It does surely produce some more material than is
+needed for a strict legal compliance. For example, it produces the source code
+for packages released under BSD-like licenses, that you might not want to
+redistribute in source form.
+
+Moreover, due to technical limitations, Buildroot does not produce some
+material that you will or may need, such as the toolchain source code and the
+Buildroot source code itself.
+When you run +make legal-info+, Buildroot produces warnings in the +README+
+file to inform you of relevant material that could not be saved.
+
+Here is a list of the licenses that are most widely used by packages in
+Buildroot, with the name used in the manifest file:
+
+* +GPLv2+:
+ http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
+ GNU General Public License, version 2];
+* +GPLv2++:
+ http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
+ GNU General Public License, version 2]
+ or (at your option) any later version;
+* +GPLv3+:
+ http://www.gnu.org/licenses/gpl.html[
+ GNU General Public License, version 3];
+* +GPLv3++:
+ http://www.gnu.org/licenses/gpl.html[
+ GNU General Public License, version 3]
+ or (at your option) any later version;
+* +GPL+:
+ http://www.gnu.org/licenses/gpl.html[
+ GNU General Public License] (any version);
+* +LGPLv2.1+:
+ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
+ GNU Lesser General Public License, version 2.1];
+* +LGPLv2.1++:
+ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
+ GNU Lesser General Public License, version 2.1]
+ or (at your option) any later version;
+* +LGPLv3+:
+ http://www.gnu.org/licenses/lgpl.html[
+ GNU Lesser General Public License, version 3];
+* +LGPLv3++:
+ http://www.gnu.org/licenses/lgpl.html[
+ GNU Lesser General Public License, version 3]
+ or (at your option) any later version;
+* +LGPL+:
+ http://www.gnu.org/licenses/lgpl.html[
+ GNU Lesser General Public License] (any version);
+* +BSD-4c+: Original BSD 4-clause license;
+* +BSD-3c+: BSD 3-clause license;
+* +BSD-2c+: BSD 2-clause license;
+* +PROPRIETARY+: marks a non-opensource package;
+ Buildroot does not save any licensing info or source code for these packages.