123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- // -*- 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.
|