From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Fri, 15 Jan 2016 14:44:37 +0100 Subject: [Buildroot] Standardizing format for specifying license(s) In-Reply-To: <5698DDBE.3000402@imgtec.com> References: <5698DDBE.3000402@imgtec.com> Message-ID: <20160115144437.2d843ae1@free-electrons.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net 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 _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