diff options
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 230 |
1 files changed, 111 insertions, 119 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 40d994a2b2..f088f30a07 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -656,126 +656,118 @@ | |||
| 656 | </section> | 656 | </section> |
| 657 | </section> | 657 | </section> |
| 658 | 658 | ||
| 659 | <section id='bsp-licensing'> | 659 | <section id='bsp-licensing-considerations'> |
| 660 | <title>BSP Licensing Considerations</title> | 660 | <title>BSP Licensing Considerations</title> |
| 661 | |||
| 661 | <para> | 662 | <para> |
| 662 | In some cases, a BSP contains separately licensed IP | 663 | In some cases, a BSP contains separately licensed Intellectual Property (IP) |
| 663 | (Intellectual Property) for a component or components | 664 | for a component or components. |
| 664 | that impose upon the user a requirement to accept the | 665 | For these cases, you are required to accept the terms of a commercial or other |
| 665 | terms of a commercial or other type of license that | 666 | type of license that requires some kind of explicit End User License Agreement (EULA). |
| 666 | requires some kind of explicit EULA (End User License | 667 | Once the license is accepted, the Yocto Project build system can then build and |
| 667 | Agreement). Once the license is accepted the Yocto | 668 | include the corresponding component in the final BSP image. |
| 668 | Project build system can then build and include the | 669 | If the BSP is available as a pre-built image, you can download the image after |
| 669 | corresponding component in the final BSP image, or if | 670 | agreeing to the license or EULA. |
| 670 | the BSP is available in the form of an already built | 671 | </para> |
| 671 | image, the user will be able to download the image after | 672 | |
| 672 | agreeing to the license or EULA. | 673 | <para> |
| 673 | </para> | 674 | You could find that some separately licensed components that are essential |
| 674 | <para> | 675 | for normal operation of the system might not have an unencumbered (or free) |
| 675 | Some affected components might be essential to the | 676 | substitute. |
| 676 | normal functioning of the system and have no 'free' | 677 | Without these essential components, the system would be non-functional. |
| 677 | replacement (i.e. the resulting system would be | 678 | Then again, you might find that other licensed components that are simply |
| 678 | non-functional without them). On the other hand, other | 679 | 'good-to-have' or purely elective do have an unencumbered, free replacement |
| 679 | components might be simply 'good-to-have' or purely | 680 | component that you can use rather than agreeing to the separately licensed component. |
| 680 | elective, or if essential nonetheless have a 'free' | 681 | Even for components essential to the system, you might find an unencumbered component |
| 681 | (possibly less-capable) version that could be used as a | 682 | that is not identical but will work as a less-capable version of the |
| 682 | in the BSP recipe. | 683 | licensed version in the BSP recipe. |
| 683 | </para> | 684 | </para> |
| 684 | 685 | ||
| 685 | <para> | 686 | <para> |
| 686 | For cases where you can substitute something and still | 687 | For cases where you can substitute a free component and still |
| 687 | maintain functionality, the Yocto Project website's | 688 | maintain the system's functionality, the Yocto Project website's |
| 688 | <ulink url='&YOCTO_HOME_URL;/download/all?keys=&download_type=1&download_version='>BSP | 689 | <ulink url='&YOCTO_HOME_URL;/download/all?keys=&download_type=1&download_version='>BSP |
| 689 | Download Page</ulink> makes available 'de-featured' BSPs | 690 | Download Page</ulink> makes available de-featured BSPs |
| 690 | that are completely free of any IP encumbrances. For | 691 | that are completely free of any IP encumbrances. |
| 691 | these cases you can use the substitution directly and | 692 | For these cases, you can use the substitution directly and |
| 692 | without any further licensing requirements. If present, | 693 | without any further licensing requirements. |
| 693 | these fully 'de-featured' BSPs are named appropriately | 694 | If present, these fully de-featured BSPs are named appropriately |
| 694 | different as compared to the names of the respective | 695 | different as compared to the names of the respective |
| 695 | encumbered BSPs. If available, these substitutions are | 696 | encumbered BSPs. |
| 696 | the simplest and most preferred options. This, of | 697 | If available, these substitutions are your |
| 697 | course, assumes the resulting functionality meets | 698 | simplest and most preferred options. |
| 698 | requirements. | 699 | Use of these substitutions of course assumes the resulting functionality meets |
| 699 | </para> | 700 | system requirements. |
| 700 | 701 | </para> | |
| 701 | <para> | ||
| 702 | If however, a non-encumbered version is unavailable or | ||
| 703 | the 'free' version would provide unsuitable | ||
| 704 | functionality or quality, you can use an encumbered | ||
| 705 | version. | ||
| 706 | </para> | ||
| 707 | |||
| 708 | <para> A couple different methods exist within the Yocto | ||
| 709 | Project build system to satisfy the licensing | ||
| 710 | requirements for an encumbered BSP. The following list | ||
| 711 | describes them in order of preference: | ||
| 712 | </para> | ||
| 713 | |||
| 714 | <orderedlist> | ||
| 715 | <listitem> | ||
| 716 | <para> | ||
| 717 | Yocto recipes that have commercial or other types of | ||
| 718 | specially-licensed packages define a variable named | ||
| 719 | LICENSE_FLAGS. For each of those recipes, a user | ||
| 720 | can specify a matching license string in a | ||
| 721 | local.conf variable named LICENSE_FLAGS_WHITELIST. | ||
| 722 | This signifies that the user agrees to the license, | ||
| 723 | and the corresponding recipe can then be built and | ||
| 724 | included in the image. See Section 3.3.2. in The | ||
| 725 | Yocto Project Reference Manual for details on these | ||
| 726 | variables and how to make use of them. | ||
| 727 | </para> | ||
| 728 | |||
| 729 | <para> | ||
| 730 | If you build as you normally would, without | ||
| 731 | specifying any recipes in the | ||
| 732 | LICENSE_FLAGS_WHITELIST, the build will stop and | ||
| 733 | provide you with the list of recipes that you've | ||
| 734 | tried to include in the image which need entries in | ||
| 735 | the LICENSE_FLAGS_WHITELIST. Once the appropriate | ||
| 736 | license flags have been entered into the whitelist, | ||
| 737 | restart the build to continue where it left off. | ||
| 738 | During the build the prompt will not appear again | ||
| 739 | since you have satisfied the requirement. | ||
| 740 | </para> | ||
| 741 | |||
| 742 | <para> | ||
| 743 | Once the appropriate license flags are whitelisted | ||
| 744 | in the LICENSE_FLAGS_WHITELIST variable, the | ||
| 745 | encumbered image can be built with no change at all | ||
| 746 | to the normal build process. | ||
| 747 | </para> | ||
| 748 | </listitem> | ||
| 749 | <listitem> | ||
| 750 | <para> | ||
| 751 | Get a pre-built version of the BSP. You can do this | ||
| 752 | by visiting the Yocto Project website's | ||
| 753 | <ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> | ||
| 754 | page and clicking on "BSP Downloads". BSP tarballs | ||
| 755 | that contain proprietary components can be | ||
| 756 | downloaded after agreeing to the licensing | ||
| 757 | requirements of each of the individually encumbered | ||
| 758 | packages as part of the download process. Obtaining | ||
| 759 | the BSP this way allows you to access an encumbered | ||
| 760 | image immediately after agreeing to the | ||
| 761 | click-through license agreements presented by the | ||
| 762 | website. Note that if you want to build the image | ||
| 763 | yourself using the recipes contained within the BSP | ||
| 764 | tarball, you will still need to create an | ||
| 765 | appropriate LICENSE_FLAGS_WHITELIST to match the | ||
| 766 | encumbered recipes in the BSP. | ||
| 767 | </para> | ||
| 768 | </listitem> | ||
| 769 | </orderedlist> | ||
| 770 | <para> | ||
| 771 | Note also that the pre-compiled images are bundled with | ||
| 772 | a time-limited kernel which will run for only a | ||
| 773 | predetermined amount of time (10 days) before it forces | ||
| 774 | the system to reboot. This is meant as a discouragement | ||
| 775 | to directly redistributing the image as-is, and means | ||
| 776 | that you'll have to eventually rebuild the image if you | ||
| 777 | want to remove that restriction. | ||
| 778 | </para> | ||
| 779 | </section> | ||
| 780 | 702 | ||
| 703 | <para> | ||
| 704 | If however, a non-encumbered version is unavailable or | ||
| 705 | it provides unsuitable functionality or quality, you can use an encumbered | ||
| 706 | version. | ||
| 707 | </para> | ||
| 708 | |||
| 709 | <para> | ||
| 710 | A couple different methods exist within the Yocto | ||
| 711 | Project build system to satisfy the licensing | ||
| 712 | requirements for an encumbered BSP. | ||
| 713 | The following list describes them in order of preference: | ||
| 714 | <orderedlist> | ||
| 715 | <listitem><para><emphasis>Use the <filename>LICENSE_FLAGS</filename> variable | ||
| 716 | to define the Yocto Project recipes that have commercial or other types of | ||
| 717 | specially-licensed packages:</emphasis> | ||
| 718 | For each of those recipes, you can | ||
| 719 | specify a matching license string in a | ||
| 720 | <filename>local.conf</filename> variable named | ||
| 721 | <filename>LICENSE_FLAGS_WHITELIST</filename>. | ||
| 722 | Specifying the matching license string signifies that you agree to the license. | ||
| 723 | Thus, the build system can build the corresponding recipe and include | ||
| 724 | the component in the image. | ||
| 725 | See the | ||
| 726 | "<ulink url='&YOCTO_DOCS_REF_URL;#enabling-commercially-licensed-recipes'>Enabling | ||
| 727 | Commercially Licensed Recipes</ulink>" section in the Yocto Project Reference | ||
| 728 | Manual for details on how to use these variables.</para> | ||
| 729 | <para>If you build as you normally would, without | ||
| 730 | specifying any recipes in the | ||
| 731 | <filename>LICENSE_FLAGS_WHITELIST</filename>, the build stops and | ||
| 732 | provides you with the list of recipes that you have | ||
| 733 | tried to include in the image that need entries in | ||
| 734 | the <filename>LICENSE_FLAGS_WHITELIST</filename>. | ||
| 735 | Once you enter the appropriate license flags into the whitelist, | ||
| 736 | restart the build to continue where it left off. | ||
| 737 | During the build, the prompt will not appear again | ||
| 738 | since you have satisfied the requirement.</para> | ||
| 739 | <para>Once the appropriate license flags are whitelisted | ||
| 740 | in the <filename>LICENSE_FLAGS_WHITELIST</filename> variable, you | ||
| 741 | can build the encumbered image with no change at all | ||
| 742 | to the normal build process.</para></listitem> | ||
| 743 | <listitem><para><emphasis>Get a pre-built version of the BSP:</emphasis> | ||
| 744 | You can get this type of BSP by visiting the Yocto Project website's | ||
| 745 | <ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> | ||
| 746 | page and clicking on "BSP Downloads". | ||
| 747 | You can download BSP tarballs that contain proprietary components | ||
| 748 | after agreeing to the licensing | ||
| 749 | requirements of each of the individually encumbered | ||
| 750 | packages as part of the download process. | ||
| 751 | Obtaining the BSP this way allows you to access an encumbered | ||
| 752 | image immediately after agreeing to the | ||
| 753 | click-through license agreements presented by the | ||
| 754 | website. | ||
| 755 | Note that if you want to build the image | ||
| 756 | yourself using the recipes contained within the BSP | ||
| 757 | tarball, you will still need to create an | ||
| 758 | appropriate <filename>LICENSE_FLAGS_WHITELIST</filename> to match the | ||
| 759 | encumbered recipes in the BSP.</para></listitem> | ||
| 760 | </orderedlist> | ||
| 761 | </para> | ||
| 762 | |||
| 763 | <note> | ||
| 764 | Pre-compiled images are bundled with | ||
| 765 | a time-limited kernel that runs for a | ||
| 766 | predetermined amount of time (10 days) before it forces | ||
| 767 | the system to reboot. | ||
| 768 | This limitation is meant to discourage direct redistribution | ||
| 769 | of the image. | ||
| 770 | You must eventually rebuild the image if you want to remove this restriction. | ||
| 771 | </note> | ||
| 772 | </section> | ||
| 781 | </chapter> | 773 | </chapter> |
