Bug 6499

Summary: Add more GPLv3-like licenses to non-GPLv3 examples
Product: [Documentation] Reference Reporter: Ross Burton <ross.burton>
Component: handbookAssignee: Scott Rifenbark <srifenbark>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: mark.hatle, poky.doc.watcher, poky.watcher, ross.burton, srifenbark
Version: unspecified   
Target Milestone: 1.7 M3   
Hardware: All   
OS: Multiple   
Whiteboard: 22 July 2014: RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description Ross Burton 2014-07-02 10:52:17 UTC
If the user wants to avoid GPLv3 they surely want to avoid LGPLv3 and AGPLv3.

(CC'ing Mark for confirmation of this)
Comment 1 Mark Hatle 2014-07-02 15:27:57 UTC
It appears on first glance that 'Affero GPL 3' has similar clauses.  So the example should be expanded to include the 'AGPL-3.0' license.  (At least that is the official SPDX license name.)
Comment 2 Ross Burton 2014-07-03 14:40:03 UTC
Scott, can you please change any mention of INCOMPATIBLE_LICENSE=GPLv3 to be "GPLv3 AGPLv3 LGPLv3".
Comment 3 Scott Rifenbark 2014-07-03 14:59:04 UTC
Ross, 

Here are the references to GPL 3.  Two of the occurrences can literally be changed as you want.  What about the general tone of the others?

-------------------------------------

"Note
Building an image without GNU General Public License Version 3 (GPLv3) components is supported for only minimal and base images. See the "Images" chapter for more information."

"Note
Building an image without GNU General Public License Version 3 (GPLv3) components is only supported for minimal and base images. Furthermore, if you are going to build an image using non-GPLv3 components, you must make the following changes in the local.conf file before using the BitBake command to build the minimal or base image:

     1. Comment out the EXTRA_IMAGE_FEATURES line
     2. Set INCOMPATIBLE_LICENSE = "GPLv3"
"

"Note
This functionality is only regularly tested using the following setting:

     INCOMPATIBLE_LICENSE = "GPLv3"
                    

Although you can use other settings, you might be required to remove dependencies on or provide alternatives to components that are required to produce a functional system image. 
"

" Here are some examples:

     LICENSE = "LGPLv2.1 | GPLv3"
     LICENSE = "MPL-1 & LGPLv2.1"
     LICENSE = "GPLv2+"
"
Comment 4 Mark Hatle 2014-07-03 15:15:17 UTC
I'd suggest the following changes, see inline below.

> "Note
> Building an image without GNU General Public License Version 3 (GPLv3)

or similarly licensed

> components is supported for only minimal and base images. See the "Images"
> chapter for more information."
> 
> "Note
> Building an image without GNU General Public License Version 3 (GPLv3)

, GNU Lesser General Public License Version 3 (LGPLv3) and the 
GNU Affero General Public License Version 3 (AGPL-3.0)

> components is only supported for minimal and base images. Furthermore, if
> you are going to build an image using non-GPLv3 components, you must make

you are going to build an image using non-GPLv3 and similar licensed components, you must make

> the following changes in the local.conf file before using the BitBake
> command to build the minimal or base image:
> 
>      1. Comment out the EXTRA_IMAGE_FEATURES line
>      2. Set INCOMPATIBLE_LICENSE = "GPLv3"

replace above with:

2. Set INCOMPATIBLE_LICENSE = "GPLv3 LGPLv3 AGPL-3.0"

> "
> 
> "Note
> This functionality is only regularly tested using the following setting:
> 
>      INCOMPATIBLE_LICENSE = "GPLv3"

INCOMPATIBLE_LICENSE = "GPLv3 LGPLv3 AGPL-3.0"

(We need to make sure we update the tests!)

>                     
> 
> Although you can use other settings, you might be required to remove
> dependencies on or provide alternatives to components that are required to
> produce a functional system image. 
> "
> 
> " Here are some examples:
> 
>      LICENSE = "LGPLv2.1 | GPLv3"
>      LICENSE = "MPL-1 & LGPLv2.1"
>      LICENSE = "GPLv2+"
> "
Comment 5 Scott Rifenbark 2014-07-07 07:35:27 UTC
(In reply to comment #4)
> I'd suggest the following changes, see inline below.
> 
> > "Note
> > Building an image without GNU General Public License Version 3 (GPLv3)
> 
> or similarly licensed
> 
> > components is supported for minimal and base images. See the "Images"
> > chapter for more information."

Applied: See http://www.yoctoproject.org/docs/1.7/ref-manual/ref-manual.html#build-overview

> > 
> > "Note
> > Building an image without GNU General Public License Version 3 (GPLv3)
> 
> , GNU Lesser General Public License Version 3 (LGPLv3) and the 
> GNU Affero General Public License Version 3 (AGPL-3.0)
> 
> > components is only supported for minimal and base images. Furthermore, if
> > you are going to build an image using non-GPLv3 components, you must make
> 
> you are going to build an image using non-GPLv3 and similar licensed
> components, you must make
> 
> > the following changes in the local.conf file before using the BitBake
> > command to build the minimal or base image:
> > 
> >      1. Comment out the EXTRA_IMAGE_FEATURES line
> >      2. Set INCOMPATIBLE_LICENSE = "GPLv3"
> 
> replace above with:
> 
> 2. Set INCOMPATIBLE_LICENSE = "GPLv3 LGPLv3 AGPL-3.0"
> 

All applied for this note: See http://www.yoctoproject.org/docs/1.7/ref-manual/ref-manual.html#ref-images

> > "
> > 
> > "Note
> > This functionality is only regularly tested using the following setting:
> > 
> >      INCOMPATIBLE_LICENSE = "GPLv3"
> 
> INCOMPATIBLE_LICENSE = "GPLv3 LGPLv3 AGPL-3.0"

Applied: See http://www.yoctoproject.org/docs/1.7/ref-manual/ref-manual.html#var-INCOMPATIBLE_LICENSE

> 
> (We need to make sure we update the tests!)
> 
> >                     
> > 
> > Although you can use other settings, you might be required to remove
> > dependencies on or provide alternatives to components that are required to
> > produce a functional system image. 
> > "
> > 
> > " Here are some examples:
> > 
> >      LICENSE = "LGPLv2.1 | GPLv3"
> >      LICENSE = "MPL-1 & LGPLv2.1"
> >      LICENSE = "GPLv2+"
> > "
Comment 6 Ross Burton 2014-07-11 23:14:08 UTC
> INCOMPATIBLE_LICENSE = "GPLv3 LGPLv3 AGPL-3.0"

The change in format bothers me and this should use consistent naming, the canonical SPDX names are GPL-3.0 LGPL-3.0 AGPL-3.0.

This does make me wonder if the blacklisting code handles aliases though.  I'll check the code before introducing a documentation change that breaks the feature!

Apart from that, it looks good.
Comment 7 Ross Burton 2014-07-11 23:22:28 UTC
So bug 5622 is for the aliasing not being handled.  When that's fixed we should also update the documentation to use the SPDX names.
Comment 8 Ross Burton 2014-07-21 10:38:16 UTC
The checks have been fixed now, so can the documentation be updated to reflect the canonical names: GPL-3.0 LGPL-3.0 AGPL-3.0.
Comment 9 Scott Rifenbark 2014-07-22 10:44:29 UTC
Hi, 

I changed the two examples of INCOMPATIBLE_LICENSE such that we are using the canonical names as suggested by Comment 8.  I am marking this bug as RESOLVED and changing the documentation flag to "Done."

Scott