[Buildroot] Standardizing format for specifying license(s)

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Jan 15 13:44:37 UTC 2016


Rahul,

On Fri, 15 Jan 2016 17:23:34 +0530, Rahul Bedarkar wrote:

> In package.mk, as of now, there is no standard format for specifying 
> licenses under which package is released. In some cases we comma 
> separate licenses while in others space separated list. It's difficult 
> to parse manifest file generated by legal-info target in such cases. One 
> of requirements of parsing manifest file would be checking for license 
> compatibility of dependent packages.

Makes sense. If you want to formalize the format for the <pkg>_LICENSE
variable, then what I would suggest is that you submit some patches
against the Buildroot manual, which is the ultimate reference for such
things. Then we can comment on the patch itself, and progressively
agree on defining the appropriate format, in a way that can directly be
merged into the documentation once a consensus has been reached.

> * If package is licensed under multiple licenses e.g. bluez5_utils 
> libraries and programs are licensed under different licenses. In such 
> case, comma separate licenses e.g. BLUEZ5_UTILS_LICENSE=GPLv2+, LGPLv2.1+
>    If there is clear distinction between which component is licensed 
> under what license then annotate the license with libraries or programs 
> or others keywords. e.g. BLUEZ5_UTILS_LICENSE=GPLv2+ (programs), 
> LGPLv2.1+ (libraries)

No problem with that, this is normally what we are already doing
(except of course for a few non-conforming packages that may remain
after Gustavo's cleanup on this topic).

> * If package is dual licensed e.g. dbus then slash separate licenses. 
> e.g. DBUS_LICENSE = AFLv2.1 / GPLv2+

We normally use "or" in this case:

CPPDB_LICENSE = Boost-v1.0 or MIT
GNU_EFI_LICENSE = BSD-3c and/or GPLv2+ (gnuefi), BSD-3c (efilib)
LIBICAL_LICENSE = MPLv1.0 or LGPLv2.1

etc.

To me, using a "or" makes it really explicit, much more than a "/".

> There was effort to comma separate licenses 
> https://git.busybox.net/buildroot/log/?qt=grep&q=comma+separate+licenses 
> but just comma separating licenses in many cases is not correct from 
> point of different licensing terms and parsing manifest file.

Why ? This effort done by Gustavo was only to replace cases where
different parts of the package are covered by different licenses, and
the changes done by Gustavo completely match point (1) of your specific
above.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list