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