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> |