Browse Source
The fact that the dtc and libfdt are distributed together, but have different licenses, can be a bit confusing. Several people have enquired as to what the deal is with the libfdt licensing, so this patch adds a README clarifying the situation with a rationale. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Jon Loeliger <jdl@jdl.com>main
David Gibson
17 years ago
committed by
Jon Loeliger
1 changed files with 56 additions and 0 deletions
@ -0,0 +1,56 @@ |
|||||||
|
Licensing and contribution policy of dtc and libfdt |
||||||
|
=================================================== |
||||||
|
|
||||||
|
This dtc package contains two pieces of software: dtc itself, and |
||||||
|
libfdt which comprises the files in the libfdt/ subdirectory. These |
||||||
|
two pieces of software, although closely related, are quite distinct. |
||||||
|
dtc does not incoporate or rely on libfdt for its operation, nor vice |
||||||
|
versa. It is important that these two pieces of software have |
||||||
|
different license conditions. |
||||||
|
|
||||||
|
As the copyright banners in each source file attest, dtc is licensed |
||||||
|
under the GNU GPL. The full text of the GPL can be found in the file |
||||||
|
entitled 'GPL' which should be included in this package. dtc code, |
||||||
|
therefore, may not be incorporated into works which do not have a GPL |
||||||
|
compatible license. |
||||||
|
|
||||||
|
libfdt, however, is GPL/BSD dual-licensed. That is, it may be used |
||||||
|
either under the terms of the GPL, or under the terms of the 2-clause |
||||||
|
BSD license (aka the ISC license). The full terms of that license are |
||||||
|
given in the copyright banners of each of the libfdt source files. |
||||||
|
This is, in practice, equivalent to being BSD licensed, since the |
||||||
|
terms of the BSD license are strictly more permissive than the GPL. |
||||||
|
|
||||||
|
I made the decision to license libfdt in this way because I want to |
||||||
|
encourage widespread and correct usage of flattened device trees, |
||||||
|
including by proprietary or otherwise GPL-incompatible firmware or |
||||||
|
tools. Allowing libfdt to be used under the terms of the BSD license |
||||||
|
makes that it easier for vendors or authors of such software to do so. |
||||||
|
|
||||||
|
This does mean that libfdt code could be "stolen" - say, included in a |
||||||
|
proprietary fimware and extended without contributing those extensions |
||||||
|
back to the libfdt mainline. While I hope that doesn't happen, I |
||||||
|
believe the goal of allowing libfdt to be widely used is more |
||||||
|
important than avoiding that. libfdt is quite small, and hardly |
||||||
|
rocket science; so the incentive for such impolite behaviour is small, |
||||||
|
and the inconvenience caused therby is not dire. |
||||||
|
|
||||||
|
Licenses such as the LGPL which would allow code to be used in non-GPL |
||||||
|
software, but also require contributions to be returned were |
||||||
|
considered. However, libfdt is designed to be used in firmwares and |
||||||
|
other environments with unusual technical constraints. It's difficult |
||||||
|
to anticipate all possible changes which might be needed to meld |
||||||
|
libfdt into such environments and so difficult to suitably word a |
||||||
|
license that puts the boundary between what is and isn't permitted in |
||||||
|
the intended place. Again, I judged encouraging widespread use of |
||||||
|
libfdt by keeping the license terms simple and familiar to be the more |
||||||
|
important goal. |
||||||
|
|
||||||
|
**IMPORTANT** It's intended that all of libfdt as released remain |
||||||
|
permissively licensed this way. Therefore only contributions which |
||||||
|
are released under these terms can be merged into the libfdt mainline. |
||||||
|
|
||||||
|
|
||||||
|
David Gibson <david@gibson.dropbear.id.au> |
||||||
|
(principal original author of dtc and libfdt) |
||||||
|
2 November 2007 |
Loading…
Reference in new issue