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:15 +0100 |
commit | 4c35e5a983f215e83ce80fde1810403d26a3341d (patch) | |
tree | ee02b8ef7c187046c8ca7e0c6599b78fa18d834d /documentation/dev-manual | |
parent | 715456acb8aa2866eca4f04b667a12d070e18cfa (diff) | |
download | poky-4c35e5a983f215e83ce80fde1810403d26a3341d.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>
Diffstat (limited to 'documentation/dev-manual')
-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> |