1*b908c675SJens WiklanderLicensing and contribution policy of dtc and libfdt 2*b908c675SJens Wiklander=================================================== 3*b908c675SJens Wiklander 4*b908c675SJens WiklanderThis dtc package contains two pieces of software: dtc itself, and 5*b908c675SJens Wiklanderlibfdt which comprises the files in the libfdt/ subdirectory. These 6*b908c675SJens Wiklandertwo pieces of software, although closely related, are quite distinct. 7*b908c675SJens Wiklanderdtc does not incoporate or rely on libfdt for its operation, nor vice 8*b908c675SJens Wiklanderversa. It is important that these two pieces of software have 9*b908c675SJens Wiklanderdifferent license conditions. 10*b908c675SJens Wiklander 11*b908c675SJens WiklanderAs the copyright banners in each source file attest, dtc is licensed 12*b908c675SJens Wiklanderunder the GNU GPL. The full text of the GPL can be found in the file 13*b908c675SJens Wiklanderentitled 'GPL' which should be included in this package. dtc code, 14*b908c675SJens Wiklandertherefore, may not be incorporated into works which do not have a GPL 15*b908c675SJens Wiklandercompatible license. 16*b908c675SJens Wiklander 17*b908c675SJens Wiklanderlibfdt, however, is GPL/BSD dual-licensed. That is, it may be used 18*b908c675SJens Wiklandereither under the terms of the GPL, or under the terms of the 2-clause 19*b908c675SJens WiklanderBSD license (aka the ISC license). The full terms of that license are 20*b908c675SJens Wiklandergiven in the copyright banners of each of the libfdt source files. 21*b908c675SJens WiklanderThis is, in practice, equivalent to being BSD licensed, since the 22*b908c675SJens Wiklanderterms of the BSD license are strictly more permissive than the GPL. 23*b908c675SJens Wiklander 24*b908c675SJens WiklanderI made the decision to license libfdt in this way because I want to 25*b908c675SJens Wiklanderencourage widespread and correct usage of flattened device trees, 26*b908c675SJens Wiklanderincluding by proprietary or otherwise GPL-incompatible firmware or 27*b908c675SJens Wiklandertools. Allowing libfdt to be used under the terms of the BSD license 28*b908c675SJens Wiklandermakes that it easier for vendors or authors of such software to do so. 29*b908c675SJens Wiklander 30*b908c675SJens WiklanderThis does mean that libfdt code could be "stolen" - say, included in a 31*b908c675SJens Wiklanderproprietary fimware and extended without contributing those extensions 32*b908c675SJens Wiklanderback to the libfdt mainline. While I hope that doesn't happen, I 33*b908c675SJens Wiklanderbelieve the goal of allowing libfdt to be widely used is more 34*b908c675SJens Wiklanderimportant than avoiding that. libfdt is quite small, and hardly 35*b908c675SJens Wiklanderrocket science; so the incentive for such impolite behaviour is small, 36*b908c675SJens Wiklanderand the inconvenience caused therby is not dire. 37*b908c675SJens Wiklander 38*b908c675SJens WiklanderLicenses such as the LGPL which would allow code to be used in non-GPL 39*b908c675SJens Wiklandersoftware, but also require contributions to be returned were 40*b908c675SJens Wiklanderconsidered. However, libfdt is designed to be used in firmwares and 41*b908c675SJens Wiklanderother environments with unusual technical constraints. It's difficult 42*b908c675SJens Wiklanderto anticipate all possible changes which might be needed to meld 43*b908c675SJens Wiklanderlibfdt into such environments and so difficult to suitably word a 44*b908c675SJens Wiklanderlicense that puts the boundary between what is and isn't permitted in 45*b908c675SJens Wiklanderthe intended place. Again, I judged encouraging widespread use of 46*b908c675SJens Wiklanderlibfdt by keeping the license terms simple and familiar to be the more 47*b908c675SJens Wiklanderimportant goal. 48*b908c675SJens Wiklander 49*b908c675SJens Wiklander**IMPORTANT** It's intended that all of libfdt as released remain 50*b908c675SJens Wiklanderpermissively licensed this way. Therefore only contributions which 51*b908c675SJens Wiklanderare released under these terms can be merged into the libfdt mainline. 52*b908c675SJens Wiklander 53*b908c675SJens Wiklander 54*b908c675SJens WiklanderDavid Gibson <david@gibson.dropbear.id.au> 55*b908c675SJens Wiklander(principal original author of dtc and libfdt) 56*b908c675SJens Wiklander2 November 2007 57