Thread (25 messages) 25 messages, 13 authors, 2015-06-22

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.com
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help