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