[OE-core] [oe-core] INCOMPATIBLE_LICENSE mechanism

Peter Kjellerstedt peter.kjellerstedt at axis.com
Thu Jul 26 20:12:54 UTC 2018


> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> core-bounces at lists.openembedded.org> On Behalf Of Richard Purdie
> Sent: den 26 juli 2018 18:14
> To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>; Jonathan Haigh
> <Jonathan.Haigh at arm.com>; openembedded-core at lists.openembedded.org
> Cc: Jeremy Johnson <Jeremy.Johnson at arm.com>
> Subject: Re: [OE-core] [oe-core] INCOMPATIBLE_LICENSE mechanism
> 
> On Thu, 2018-07-26 at 13:16 +0000, Peter Kjellerstedt wrote:
> > This is related to a similar problem we are seeing with the use of
> > “or” for licenses. We use the archiver.bbclass to export all open
> > source code we use. However, for recipes that specify multiple
> > licenses using “or”, we would like to specify the one under which we
> > are using the code. E.g., if the LICENSE is “GPL-2.0 | Proprietary”,
> > we would like to treat the code as “Proprietary”, but when it comes
> > to the archiver.bbclass, even if we have told it to ignore packages
> > with Proprietary licenses, it will include the package due to the
> > alternative GPL-2.0 license.
> >
> > The idea we have is to allow to specify a USED_LICENSE (e.g., in a
> > bbappend or a separate configuration file), which should take the
> > actually used license. This should be verified to be one of the
> > allowed licenses specified in LICENSE (in case LICENSE changes and no
> > longer allows the chosen license), and after that, LICENSE should be
> > treated as if this was the value it had been given. This does,
> > however,  not take into account the use of the same package in
> > multiple images with different licensing requirements (we only build
> > one image so that is not a problem for us).
> 
> Just thinking out loud you could have something like a
> 
> gplv3-license-incompatible.inc:
> 
> LICENSE_pn-<some-recipe> = "MIT"
> LICENSE_pn-<some--other-recipe> = "GPLv2"
> INCOMPATIBLE_LICENSE = "GPLv3"
> 
> i.e. just force the license of a set of recipes to values known to work
>  with GPLv3 exclusion?
> 
> Cheers,
> 
> Richard

Yes, I know. However, the idea with USED_LICENSE was the validation, that it 
contains one of the allowed licenses listed in LICENSE. I.e., if LICENSE is 
changed and the USED_LICENSE no longer validates, then there would be a build 
error. Without this, if we set LICENSE as per above, and the actual licensing 
changes, there is a great risk that we do not notice this and continues to 
use the code as per the old license.

//Peter



More information about the Openembedded-core mailing list