1139776SimpLicensing and contribution policy of dtc and libfdt 266539Sbp=================================================== 351852Sbp 451852SbpThis dtc package contains two pieces of software: dtc itself, and 551852Sbplibfdt which comprises the files in the libfdt/ subdirectory. These 651852Sbptwo pieces of software, although closely related, are quite distinct. 751852Sbpdtc does not incorporate or rely on libfdt for its operation, nor vice 851852Sbpversa. It is important that these two pieces of software have 951852Sbpdifferent license conditions. 1051852Sbp 1151852SbpAs SPDX license tags in each source file attest, dtc is licensed 1251852Sbpunder the GNU GPL. The full text of the GPL can be found in the file 1351852Sbpentitled 'GPL' which should be included in this package. dtc code, 1451852Sbptherefore, may not be incorporated into works which do not have a GPL 1551852Sbpcompatible license. 1651852Sbp 1751852Sbplibfdt, however, is GPL/BSD dual-licensed. That is, it may be used 1851852Sbpeither under the terms of the GPL, or under the terms of the 2-clause 1951852SbpBSD license (aka the ISC license). The full terms of that license can 2051852Sbpbe found are in the file entitled 'BSD-2-Clause'. This is, in 2151852Sbppractice, equivalent to being BSD licensed, since the terms of the BSD 2251852Sbplicense are strictly more permissive than the GPL. 2351852Sbp 2451852SbpI made the decision to license libfdt in this way because I want to 2551852Sbpencourage widespread and correct usage of flattened device trees, 2651852Sbpincluding by proprietary or otherwise GPL-incompatible firmware or 2751852Sbptools. Allowing libfdt to be used under the terms of the BSD license 2851852Sbpmakes that it easier for vendors or authors of such software to do so. 2951852Sbp 3051852SbpThis does mean that libfdt code could be "stolen" - say, included in a 3151852Sbpproprietary fimware and extended without contributing those extensions 3251852Sbpback to the libfdt mainline. While I hope that doesn't happen, I 3351852Sbpbelieve the goal of allowing libfdt to be widely used is more 3451852Sbpimportant than avoiding that. libfdt is quite small, and hardly 3551852Sbprocket science; so the incentive for such impolite behaviour is small, 3651852Sbpand the inconvenience caused thereby is not dire. 3751852Sbp 3851852SbpLicenses such as the LGPL which would allow code to be used in non-GPL 3951852Sbpsoftware, but also require contributions to be returned were 4051852Sbpconsidered. However, libfdt is designed to be used in firmwares and 4151852Sbpother environments with unusual technical constraints. It's difficult 4251852Sbpto anticipate all possible changes which might be needed to meld 4351852Sbplibfdt into such environments and so difficult to suitably word a 4460041Sphklicense that puts the boundary between what is and isn't permitted in 4551852Sbpthe intended place. Again, I judged encouraging widespread use of 4651852Sbplibfdt by keeping the license terms simple and familiar to be the more 4751852Sbpimportant goal. 4851852Sbp 4951852Sbp**IMPORTANT** It's intended that all of libfdt as released remain 5051852Sbppermissively licensed this way. Therefore only contributions which 5151852Sbpare released under these terms can be merged into the libfdt mainline. 5251852Sbp 5377223Sru 5477223SruDavid Gibson <david@gibson.dropbear.id.au> 5577223Sru(principal original author of dtc and libfdt) 5651852Sbp2 November 2007 5751852Sbp