diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-10-12 10:47:34 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-10-15 14:45:51 +0100 |
| commit | e6bb30d96c785b0a1bdb3016d70d58265e49414f (patch) | |
| tree | 428bc35c35eff585639c62f053ed5355253df553 | |
| parent | dbd5778d749871be99cb25843de6409c8807d5f7 (diff) | |
| download | poky-e6bb30d96c785b0a1bdb3016d70d58265e49414f.tar.gz | |
documentation: dev-manual - edits to the license compliance section.
Implemented Beth Flanagan's review comments.
(From yocto-docs rev: d480c8525861db4383ce1b656168c01d01c26b2e)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 5ba1ff0173..fc7a535f85 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -2636,8 +2636,8 @@ | |||
| 2636 | With hundreds of different open source licenses that the Yocto | 2636 | With hundreds of different open source licenses that the Yocto |
| 2637 | Project tracks, it is difficult to know the requirements of each | 2637 | Project tracks, it is difficult to know the requirements of each |
| 2638 | and every license. | 2638 | and every license. |
| 2639 | However, we can cover the requirements of all of the known licenses, by | 2639 | However, we can begin to cover the requirements of the major FLOSS licenses, by |
| 2640 | assuming that there there are three main areas of concern: | 2640 | assuming that there are three main areas of concern: |
| 2641 | <itemizedlist> | 2641 | <itemizedlist> |
| 2642 | <listitem><para>Source code must be provided.</para></listitem> | 2642 | <listitem><para>Source code must be provided.</para></listitem> |
| 2643 | <listitem><para>License text for the software must be | 2643 | <listitem><para>License text for the software must be |
| @@ -2649,6 +2649,10 @@ | |||
| 2649 | There are other requirements beyond the scope of these | 2649 | There are other requirements beyond the scope of these |
| 2650 | three and the methods described in this section | 2650 | three and the methods described in this section |
| 2651 | (e.g. the mechanism through which source code is distributed). | 2651 | (e.g. the mechanism through which source code is distributed). |
| 2652 | As different organizations have different methods of complying with | ||
| 2653 | open source licensing, this section is not meant to imply that | ||
| 2654 | there is only one single way to meet your compliance obligations, | ||
| 2655 | but rather to describe one method of achieving compliance. | ||
| 2652 | </para> | 2656 | </para> |
| 2653 | 2657 | ||
| 2654 | <para> | 2658 | <para> |
| @@ -2667,7 +2671,7 @@ | |||
| 2667 | <title>Providing the Source Code</title> | 2671 | <title>Providing the Source Code</title> |
| 2668 | 2672 | ||
| 2669 | <para> | 2673 | <para> |
| 2670 | Compliance needs to begin when you generate the | 2674 | Compliance activities should begin before you generate the |
| 2671 | final image. | 2675 | final image. |
| 2672 | The first thing you should look at is the requirement that | 2676 | The first thing you should look at is the requirement that |
| 2673 | tops the list for most compliance groups - providing | 2677 | tops the list for most compliance groups - providing |
| @@ -2683,20 +2687,24 @@ | |||
| 2683 | used by the build. | 2687 | used by the build. |
| 2684 | This method, however, has a few issues. | 2688 | This method, however, has a few issues. |
| 2685 | The most obvious is the size of the directory since it includes | 2689 | The most obvious is the size of the directory since it includes |
| 2686 | all sources used in teh build and not just the ones to be released. | 2690 | all sources used in the build and not just the source used in |
| 2691 | the released image. | ||
| 2692 | It will include toolchain source, and other artifacts which | ||
| 2693 | you would not generally release. | ||
| 2687 | But, the more serious issue for most companies is accidental | 2694 | But, the more serious issue for most companies is accidental |
| 2688 | release of proprietary software. | 2695 | release of proprietary software. |
| 2689 | The Yocto Project provides an archiver class to help. | 2696 | The Yocto Project provides an archiver class to help avoid |
| 2697 | some of these concerns. | ||
| 2690 | </para> | 2698 | </para> |
| 2691 | 2699 | ||
| 2692 | <para> | 2700 | <para> |
| 2693 | Before you employ <filename>DL_DIR</filename> or the | 2701 | Before you employ <filename>DL_DIR</filename> or the |
| 2694 | archiver class, you need to decide how you choose to | 2702 | archiver class, you need to decide how you choose to |
| 2695 | provide source. | 2703 | provide source. |
| 2696 | The source archiver class can generate tarballs | 2704 | The source archiver class can generate tarballs and SRPMs |
| 2697 | and SRPMs and can create them with various levels of compliance. | 2705 | and can create them with various levels of compliance in mind. |
| 2698 | One way of doing this is to release just the original source | 2706 | One way of doing this (but certainly not the only way) is to |
| 2699 | as a tarball. | 2707 | release just the original source as a tarball. |
| 2700 | You can do this by adding the following to the | 2708 | You can do this by adding the following to the |
| 2701 | <filename>local.conf</filename> file found in the | 2709 | <filename>local.conf</filename> file found in the |
| 2702 | <link linkend='build-directory'>Build Directory</link>: | 2710 | <link linkend='build-directory'>Build Directory</link>: |
| @@ -2712,7 +2720,8 @@ | |||
| 2712 | <filename>DEPLOY_DIR/sources</filename> based on the | 2720 | <filename>DEPLOY_DIR/sources</filename> based on the |
| 2713 | <ulink url='&YOCTO_DOCS_REF_URL;#var-LICENSE'><filename>LICENSE</filename></ulink> | 2721 | <ulink url='&YOCTO_DOCS_REF_URL;#var-LICENSE'><filename>LICENSE</filename></ulink> |
| 2714 | for each recipe. | 2722 | for each recipe. |
| 2715 | Releasing an entire directory ensures compliance. | 2723 | Releasing the entire directory ensures compliance with |
| 2724 | requirements concerning providing the unmodified source. | ||
| 2716 | It is important to note that the size of the directory can | 2725 | It is important to note that the size of the directory can |
| 2717 | get large. | 2726 | get large. |
| 2718 | </para> | 2727 | </para> |
| @@ -2731,7 +2740,8 @@ | |||
| 2731 | At this point, you could create a tarball from the | 2740 | At this point, you could create a tarball from the |
| 2732 | <filename>gpl_source_release</filename> directory and | 2741 | <filename>gpl_source_release</filename> directory and |
| 2733 | provide that to the end user. | 2742 | provide that to the end user. |
| 2734 | This method achieves full source compliance for GPL. | 2743 | This method would be a step toward achieving compliance |
| 2744 | with section 3a of GPLv2 and with section 6 of GPLv3. | ||
| 2735 | </para> | 2745 | </para> |
| 2736 | </section> | 2746 | </section> |
| 2737 | 2747 | ||
| @@ -2754,6 +2764,11 @@ | |||
| 2754 | Adding these statements to the configuration file ensures | 2764 | Adding these statements to the configuration file ensures |
| 2755 | that the licenses collected during package generation | 2765 | that the licenses collected during package generation |
| 2756 | are included on your image. | 2766 | are included on your image. |
| 2767 | As the source archiver has already archived the original | ||
| 2768 | unmodified source which would contain the license files, | ||
| 2769 | you would have already met the requirements for inclusion | ||
| 2770 | of the license information with source as defined by the GPL | ||
| 2771 | and other open source licenses. | ||
| 2757 | </para> | 2772 | </para> |
| 2758 | </section> | 2773 | </section> |
| 2759 | 2774 | ||
| @@ -2780,7 +2795,8 @@ | |||
| 2780 | and a distro layer, and those those layers are used to patch, | 2795 | and a distro layer, and those those layers are used to patch, |
| 2781 | compile, package, or modify (in any way) any open source | 2796 | compile, package, or modify (in any way) any open source |
| 2782 | software included in your released images, you | 2797 | software included in your released images, you |
| 2783 | must release those layers. | 2798 | must release those layers as required by section 3 of GPLv2 |
| 2799 | and section 1 of GPLv3. | ||
| 2784 | One way of doing that is with a clean | 2800 | One way of doing that is with a clean |
| 2785 | checkout of the version of the Yocto Project and layers used | 2801 | checkout of the version of the Yocto Project and layers used |
| 2786 | during your build. | 2802 | during your build. |
| @@ -2818,10 +2834,11 @@ | |||
| 2818 | ##COREBASE##/meta-my-software-layer \ | 2834 | ##COREBASE##/meta-my-software-layer \ |
| 2819 | " | 2835 | " |
| 2820 | </literallayout> | 2836 | </literallayout> |
| 2821 | Creating a tarball from the top-level | 2837 | Creating and providing an archive of the |
| 2822 | <link linkend='source-directory'>Source Directory</link> | 2838 | <link linkend='source-directory'>Source Directory</link> |
| 2823 | (e.g. <filename>poky</filename>) at this point ensures | 2839 | (e.g. <filename>poky</filename>) ensures that you have met your |
| 2824 | that you include the scripts and the modifications. | 2840 | requirements to include the scripts to control compilation |
| 2841 | as well as any modifications to the original source. | ||
| 2825 | </para> | 2842 | </para> |
| 2826 | </section> | 2843 | </section> |
| 2827 | </section> | 2844 | </section> |
