documentation/bsp-guide/bsp.xml: Edits to BSP Licensing section

Grammar, style, and formatting edits applied to the "BSP
Licensing Considerations" section.

(From yocto-docs rev: 9809e0b5081bdc4f27d7d949930c409575a9a083)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark
2012-03-22 13:43:51 -06:00
committed by Richard Purdie
parent 2e0b9014e2
commit 40a45af01f

View File

@@ -656,126 +656,118 @@
</section> </section>
</section> </section>
<section id='bsp-licensing'> <section id='bsp-licensing-considerations'>
<title>BSP Licensing Considerations</title> <title>BSP Licensing Considerations</title>
<para> <para>
In some cases, a BSP contains separately licensed IP In some cases, a BSP contains separately licensed Intellectual Property (IP)
(Intellectual Property) for a component or components for a component or components.
that impose upon the user a requirement to accept the For these cases, you are required to accept the terms of a commercial or other
terms of a commercial or other type of license that type of license that requires some kind of explicit End User License Agreement (EULA).
requires some kind of explicit EULA (End User License Once the license is accepted, the Yocto Project build system can then build and
Agreement). Once the license is accepted the Yocto include the corresponding component in the final BSP image.
Project build system can then build and include the If the BSP is available as a pre-built image, you can download the image after
corresponding component in the final BSP image, or if
the BSP is available in the form of an already built
image, the user will be able to download the image after
agreeing to the license or EULA. agreeing to the license or EULA.
</para> </para>
<para>
Some affected components might be essential to the
normal functioning of the system and have no 'free'
replacement (i.e. the resulting system would be
non-functional without them). On the other hand, other
components might be simply 'good-to-have' or purely
elective, or if essential nonetheless have a 'free'
(possibly less-capable) version that could be used as a
in the BSP recipe.
</para>
<para> <para>
For cases where you can substitute something and still You could find that some separately licensed components that are essential
maintain functionality, the Yocto Project website's for normal operation of the system might not have an unencumbered (or free)
substitute.
Without these essential components, the system would be non-functional.
Then again, you might find that other licensed components that are simply
'good-to-have' or purely elective do have an unencumbered, free replacement
component that you can use rather than agreeing to the separately licensed component.
Even for components essential to the system, you might find an unencumbered component
that is not identical but will work as a less-capable version of the
licensed version in the BSP recipe.
</para>
<para>
For cases where you can substitute a free component and still
maintain the system's functionality, the Yocto Project website's
<ulink url='&YOCTO_HOME_URL;/download/all?keys=&amp;download_type=1&amp;download_version='>BSP <ulink url='&YOCTO_HOME_URL;/download/all?keys=&amp;download_type=1&amp;download_version='>BSP
Download Page</ulink> makes available 'de-featured' BSPs Download Page</ulink> makes available de-featured BSPs
that are completely free of any IP encumbrances. For that are completely free of any IP encumbrances.
these cases you can use the substitution directly and For these cases, you can use the substitution directly and
without any further licensing requirements. If present, without any further licensing requirements.
these fully 'de-featured' BSPs are named appropriately If present, these fully de-featured BSPs are named appropriately
different as compared to the names of the respective different as compared to the names of the respective
encumbered BSPs. If available, these substitutions are encumbered BSPs.
the simplest and most preferred options. This, of If available, these substitutions are your
course, assumes the resulting functionality meets simplest and most preferred options.
requirements. Use of these substitutions of course assumes the resulting functionality meets
system requirements.
</para> </para>
<para> <para>
If however, a non-encumbered version is unavailable or If however, a non-encumbered version is unavailable or
the 'free' version would provide unsuitable it provides unsuitable functionality or quality, you can use an encumbered
functionality or quality, you can use an encumbered
version. version.
</para> </para>
<para> A couple different methods exist within the Yocto <para>
A couple different methods exist within the Yocto
Project build system to satisfy the licensing Project build system to satisfy the licensing
requirements for an encumbered BSP. The following list requirements for an encumbered BSP.
describes them in order of preference: The following list describes them in order of preference:
</para>
<orderedlist> <orderedlist>
<listitem> <listitem><para><emphasis>Use the <filename>LICENSE_FLAGS</filename> variable
<para> to define the Yocto Project recipes that have commercial or other types of
Yocto recipes that have commercial or other types of specially-licensed packages:</emphasis>
specially-licensed packages define a variable named For each of those recipes, you can
LICENSE_FLAGS. For each of those recipes, a user specify a matching license string in a
can specify a matching license string in a <filename>local.conf</filename> variable named
local.conf variable named LICENSE_FLAGS_WHITELIST. <filename>LICENSE_FLAGS_WHITELIST</filename>.
This signifies that the user agrees to the license, Specifying the matching license string signifies that you agree to the license.
and the corresponding recipe can then be built and Thus, the build system can build the corresponding recipe and include
included in the image. See Section 3.3.2. in The the component in the image.
Yocto Project Reference Manual for details on these See the
variables and how to make use of them. "<ulink url='&YOCTO_DOCS_REF_URL;#enabling-commercially-licensed-recipes'>Enabling
</para> Commercially Licensed Recipes</ulink>" section in the Yocto Project Reference
Manual for details on how to use these variables.</para>
<para> <para>If you build as you normally would, without
If you build as you normally would, without
specifying any recipes in the specifying any recipes in the
LICENSE_FLAGS_WHITELIST, the build will stop and <filename>LICENSE_FLAGS_WHITELIST</filename>, the build stops and
provide you with the list of recipes that you've provides you with the list of recipes that you have
tried to include in the image which need entries in tried to include in the image that need entries in
the LICENSE_FLAGS_WHITELIST. Once the appropriate the <filename>LICENSE_FLAGS_WHITELIST</filename>.
license flags have been entered into the whitelist, Once you enter the appropriate license flags into the whitelist,
restart the build to continue where it left off. restart the build to continue where it left off.
During the build the prompt will not appear again During the build, the prompt will not appear again
since you have satisfied the requirement. since you have satisfied the requirement.</para>
</para> <para>Once the appropriate license flags are whitelisted
in the <filename>LICENSE_FLAGS_WHITELIST</filename> variable, you
<para> can build the encumbered image with no change at all
Once the appropriate license flags are whitelisted to the normal build process.</para></listitem>
in the LICENSE_FLAGS_WHITELIST variable, the <listitem><para><emphasis>Get a pre-built version of the BSP:</emphasis>
encumbered image can be built with no change at all You can get this type of BSP by visiting the Yocto Project website's
to the normal build process.
</para>
</listitem>
<listitem>
<para>
Get a pre-built version of the BSP. You can do this
by visiting the Yocto Project website's
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> <ulink url='&YOCTO_HOME_URL;/download'>Download</ulink>
page and clicking on "BSP Downloads". BSP tarballs page and clicking on "BSP Downloads".
that contain proprietary components can be You can download BSP tarballs that contain proprietary components
downloaded after agreeing to the licensing after agreeing to the licensing
requirements of each of the individually encumbered requirements of each of the individually encumbered
packages as part of the download process. Obtaining packages as part of the download process.
the BSP this way allows you to access an encumbered Obtaining the BSP this way allows you to access an encumbered
image immediately after agreeing to the image immediately after agreeing to the
click-through license agreements presented by the click-through license agreements presented by the
website. Note that if you want to build the image website.
Note that if you want to build the image
yourself using the recipes contained within the BSP yourself using the recipes contained within the BSP
tarball, you will still need to create an tarball, you will still need to create an
appropriate LICENSE_FLAGS_WHITELIST to match the appropriate <filename>LICENSE_FLAGS_WHITELIST</filename> to match the
encumbered recipes in the BSP. encumbered recipes in the BSP.</para></listitem>
</para>
</listitem>
</orderedlist> </orderedlist>
<para>
Note also that the pre-compiled images are bundled with
a time-limited kernel which will run for only a
predetermined amount of time (10 days) before it forces
the system to reboot. This is meant as a discouragement
to directly redistributing the image as-is, and means
that you'll have to eventually rebuild the image if you
want to remove that restriction.
</para> </para>
</section>
<note>
Pre-compiled images are bundled with
a time-limited kernel that runs for a
predetermined amount of time (10 days) before it forces
the system to reboot.
This limitation is meant to discourage direct redistribution
of the image.
You must eventually rebuild the image if you want to remove this restriction.
</note>
</section>
</chapter> </chapter>