|
Packit |
2ad57b |
Licensing and contribution policy of dtc and libfdt
|
|
Packit |
2ad57b |
===================================================
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
This dtc package contains two pieces of software: dtc itself, and
|
|
Packit |
2ad57b |
libfdt which comprises the files in the libfdt/ subdirectory. These
|
|
Packit |
2ad57b |
two pieces of software, although closely related, are quite distinct.
|
|
Packit Service |
0ee8e1 |
dtc does not incorporate or rely on libfdt for its operation, nor vice
|
|
Packit |
2ad57b |
versa. It is important that these two pieces of software have
|
|
Packit |
2ad57b |
different license conditions.
|
|
Packit |
2ad57b |
|
|
Packit Service |
0ee8e1 |
As SPDX license tags in each source file attest, dtc is licensed
|
|
Packit |
2ad57b |
under the GNU GPL. The full text of the GPL can be found in the file
|
|
Packit |
2ad57b |
entitled 'GPL' which should be included in this package. dtc code,
|
|
Packit |
2ad57b |
therefore, may not be incorporated into works which do not have a GPL
|
|
Packit |
2ad57b |
compatible license.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
libfdt, however, is GPL/BSD dual-licensed. That is, it may be used
|
|
Packit |
2ad57b |
either under the terms of the GPL, or under the terms of the 2-clause
|
|
Packit Service |
0ee8e1 |
BSD license (aka the ISC license). The full terms of that license can
|
|
Packit Service |
0ee8e1 |
be found are in the file entitled 'BSD-2-Clause'. This is, in
|
|
Packit Service |
0ee8e1 |
practice, equivalent to being BSD licensed, since the terms of the BSD
|
|
Packit Service |
0ee8e1 |
license are strictly more permissive than the GPL.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
I made the decision to license libfdt in this way because I want to
|
|
Packit |
2ad57b |
encourage widespread and correct usage of flattened device trees,
|
|
Packit |
2ad57b |
including by proprietary or otherwise GPL-incompatible firmware or
|
|
Packit |
2ad57b |
tools. Allowing libfdt to be used under the terms of the BSD license
|
|
Packit |
2ad57b |
makes that it easier for vendors or authors of such software to do so.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
This does mean that libfdt code could be "stolen" - say, included in a
|
|
Packit |
2ad57b |
proprietary fimware and extended without contributing those extensions
|
|
Packit |
2ad57b |
back to the libfdt mainline. While I hope that doesn't happen, I
|
|
Packit |
2ad57b |
believe the goal of allowing libfdt to be widely used is more
|
|
Packit |
2ad57b |
important than avoiding that. libfdt is quite small, and hardly
|
|
Packit |
2ad57b |
rocket science; so the incentive for such impolite behaviour is small,
|
|
Packit Service |
0ee8e1 |
and the inconvenience caused thereby is not dire.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
Licenses such as the LGPL which would allow code to be used in non-GPL
|
|
Packit |
2ad57b |
software, but also require contributions to be returned were
|
|
Packit |
2ad57b |
considered. However, libfdt is designed to be used in firmwares and
|
|
Packit |
2ad57b |
other environments with unusual technical constraints. It's difficult
|
|
Packit |
2ad57b |
to anticipate all possible changes which might be needed to meld
|
|
Packit |
2ad57b |
libfdt into such environments and so difficult to suitably word a
|
|
Packit |
2ad57b |
license that puts the boundary between what is and isn't permitted in
|
|
Packit |
2ad57b |
the intended place. Again, I judged encouraging widespread use of
|
|
Packit |
2ad57b |
libfdt by keeping the license terms simple and familiar to be the more
|
|
Packit |
2ad57b |
important goal.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
**IMPORTANT** It's intended that all of libfdt as released remain
|
|
Packit |
2ad57b |
permissively licensed this way. Therefore only contributions which
|
|
Packit |
2ad57b |
are released under these terms can be merged into the libfdt mainline.
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
|
|
Packit |
2ad57b |
David Gibson <david@gibson.dropbear.id.au>
|
|
Packit |
2ad57b |
(principal original author of dtc and libfdt)
|
|
Packit |
2ad57b |
2 November 2007
|