Re: Device Tree Blob (DTB) licence
From: Yann Droneaud <hidden>
Date: 2015-05-22 19:27:23
Also in:
linux-arm-kernel, lkml
Hi, [removing Cc: licensing@fsf.org] Le vendredi 22 mai 2015 à 12:05 +0200, Yann Droneaud a écrit :
Le mardi 05 mai 2015 à 11:41 -0500, Rob Herring a écrit :quoted
On Tue, May 5, 2015 at 5:05 AM, Yann Droneaud <ydroneaud@opteya.comquoted
wrote:quoted
I believe Device Tree Blob (.dtb file) built from kernel's Device Tree Sources (.dts, which #include .dtsi, which #include .h) using Device Tree Compiler (dtc) are covered by GNU General Public Licence v2 (GPLv2), but cannot find any reference.By default yes, but we've been steering people to dual license them GPL/BSD.Can you give me the rationale behind such dual licenses requirement ? If a BSD .dts includes GPLv2 .h, the whole is covered by GPLv2, so I cannot find a case where a BSD covered .dts file could be used alone within BSD license rights.quoted
quoted
As most .dtsi in arch/arm/boot/dts/ are covered by GPLv2, and, as most .h in include/dt-bindings/ are also covered by GPLv2, the source code is likely covered by GPLv2. Then this source code is translated in a different language (flattened device tree), so the resulting translation is also likely covered by GPLv2. So, when I'm proposed to download a .dtb file from a random vendor, can I require to get the associated source code ?I believe so yes. However, you already have the "source" for the most part. Just run "dtc -I dtb -O dts <dtb file>". You loose the preprocessing and include structure though (not necessarily a bad thing IMO). Then the question is what is the license on that generated dts!That's also a good question. Is this a form a "reverse engineering" with all the legalese burden ? Anyway without a clear information attached to the DTB, it's difficult to tell which licence cover the "decompiled" version.quoted
quoted
Anyway, for a .dtb file generated from kernel sources, it's rather painful to look after all .dts, .dtsi, .h, to find what kind of licences are applicables, as some are covered by BSD, dual licensed (any combination of X11, MIT, BSD, GPLv2).I imagine the includes cause some licensing discrepancies if you dug into it.It's a pity, and it's probably something to sort out. DTB files produced as part of kernel compilation should have a well known license attached by default.
I've added licensing@fsf.ogrg in Cc: in my previous message to have an advice on this subject, but I failed to notice licensing@fsf.org is not a mailing list: I was assigned request ID [gnu.org #1017262]. Regards. -- Yann Droneaud OPTEYA