mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-18 09:43:33 +08:00
a74e57c932
This list dates back to 2012. Since a long time now Buildroot saves the patches applied as well as the actual source code for some external toolchains. Update the manual accordingly. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
123 lines
6.0 KiB
Plaintext
123 lines
6.0 KiB
Plaintext
// -*- mode:doc; -*-
|
|
// vim: set syntax=asciidoc:
|
|
|
|
[[legal-info]]
|
|
|
|
== Legal notice and licensing
|
|
|
|
=== Complying with open source licenses
|
|
|
|
All of the end products of Buildroot (toolchain, root filesystem, kernel,
|
|
bootloaders) contain open source software, released under various licenses.
|
|
|
|
Using open source software gives you the freedom to build rich embedded
|
|
systems, choosing from a wide range of packages, but also imposes some
|
|
obligations that you must know and honour.
|
|
Some licenses require you to publish the license text in the documentation of
|
|
your product. Others require you to redistribute the source code of the
|
|
software to those that receive your product.
|
|
|
|
The exact requirements of each license are documented in each package, and
|
|
it is your responsibility (or that of your legal office) to comply with those
|
|
requirements.
|
|
To make this easier for you, Buildroot can collect for you some material you
|
|
will probably need. To produce this material, after you have 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/+ and
|
|
+host-sources/+ subdirectories for target and host packages respectively.
|
|
The source code for packages that set +<PKG>_REDISTRIBUTE = NO+ will not be
|
|
saved.
|
|
Patches that were applied are also saved, along with a file named +series+
|
|
that lists the patches in the order they were applied. Patches are under the
|
|
same license as the files that they modify.
|
|
Note: Buildroot applies additional patches to Libtool scripts of
|
|
autotools-based packages. These patches can be found under
|
|
+support/libtool+ in the Buildroot source and, due to technical
|
|
limitations, are not saved with the package sources. You may need to
|
|
collect them manually.
|
|
* A manifest file (one for host and one for target packages) listing the
|
|
configured packages, their version, license and related information.
|
|
Some of this information might not be defined in Buildroot; such items are
|
|
marked as "unknown".
|
|
* The license texts of all packages, in the +licenses/+ and +host-licenses/+
|
|
subdirectories for target and host packages respectively.
|
|
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. Certainly, more material is produced than is
|
|
needed for a strict legal compliance. For example, it produces the source code
|
|
for packages released under BSD-like licenses, that you are not required 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 for
|
|
some of the external toolchains 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.
|
|
|
|
Finally, keep in mind that the output of +make legal-info+ is based on
|
|
declarative statements in each of the packages recipes. The Buildroot
|
|
developers try to do their best to keep those declarative statements as
|
|
accurate as possible, to the best of their knowledge. However, it is very
|
|
well possible that those declarative statements are not all fully accurate
|
|
nor exhaustive. You (or your legal department) _have_ to check the output
|
|
of +make legal-info+ before using it as your own compliance delivery. See
|
|
the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the
|
|
root of the Buildroot distribution.
|
|
|
|
[[legal-info-buildroot]]
|
|
=== Complying with the Buildroot license
|
|
|
|
Buildroot itself is an open source software, released under the
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General
|
|
Public License, version 2] or (at your option) any later version, with
|
|
the exception of the package patches detailed below.
|
|
However, being a build system, it is not normally part of the end product:
|
|
if you develop the root filesystem, kernel, bootloader or toolchain for a
|
|
device, the code of Buildroot is only present on the development machine, not
|
|
in the device storage.
|
|
|
|
Nevertheless, the general view of the Buildroot developers is that you should
|
|
release the Buildroot source code along with the source code of other packages
|
|
when releasing a product that contains GPL-licensed software.
|
|
This is because the
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL]
|
|
defines the "'complete source code'" for an executable work as "'all the
|
|
source code for all modules it contains, plus any associated interface
|
|
definition files, plus the scripts used to control compilation and installation
|
|
of the executable'".
|
|
Buildroot is part of the 'scripts used to control compilation and
|
|
installation of the executable', and as such it is considered part of the
|
|
material that must be redistributed.
|
|
|
|
Keep in mind that this is only the Buildroot developers' opinion, and you
|
|
should consult your legal department or lawyer in case of any doubt.
|
|
|
|
==== Patches to packages
|
|
|
|
Buildroot also bundles patch files, which are applied to the sources
|
|
of the various packages. Those patches are not covered by the license
|
|
of Buildroot. Instead, they are covered by the license of the software
|
|
to which the patches are applied. When said software is available
|
|
under multiple licenses, the Buildroot patches are only provided under
|
|
the publicly accessible licenses.
|
|
|
|
See xref:patch-policy[] for the technical details.
|