| 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 |