diff options
author | Michael Brown | 2009-04-27 15:11:59 +0200 |
---|---|---|
committer | Michael Brown | 2009-05-18 09:26:08 +0200 |
commit | a525fb7782ee41b1e9c6687ce78983ab07509892 (patch) | |
tree | a1b1fcc760d4b2b99fbd0edaef22b1f1e5d84191 /src/Makefile.housekeeping | |
parent | [legacy] Remove long-obsolete old dhcp.h file (diff) | |
download | ipxe-a525fb7782ee41b1e9c6687ce78983ab07509892.tar.gz ipxe-a525fb7782ee41b1e9c6687ce78983ab07509892.tar.xz ipxe-a525fb7782ee41b1e9c6687ce78983ab07509892.zip |
[legal] Add mechanism for explicit per-file licence declarations
For partly historical reasons, various files in the gPXE source tree
are licensed under different, though compatible, terms. Most of the
code is licensed under GPLv2 with the "or later" clause, but there are
exceptions such as:
The string.h file, which derives from Linux and is licensed as
Public Domain.
The EFI header files, which are taken from the EDK2 source tree and
are licensed under BSD.
The 3c90x driver, which has a custom GPL-like licence text.
Introduce a FILE_LICENCE() macro to make licensing more explicit.
This macro should be applied exactly once to each source (.c, .S or
.h) file. It will cause a corresponding zero-sized common symbol to
be added to any .o files generated from that source file (and hence to
any final gPXE binaries generated from that source file). Determining
the applicable licences to generated files can then be done using e.g.
$ objdump -t bin/process.o | grep __licence
00000000 O *COM* 00000001 .hidden __licence_gpl2_or_later
indicating that bin/process.o is covered entirely by the GPLv2
with the "or later" clause, or
$ objdump -t bin/rtl8139.dsk.tmp | grep __licence
00033e8c g O .bss.textdata 00000000 .hidden __licence_gpl2_only
00033e8c g O .bss.textdata 00000000 .hidden __licence_gpl2_or_later
00033e8c g O .bss.textdata 00000000 .hidden __licence_public_domain
indicating that bin/rtl8139.dsk includes both code licensed under
GPLv2 (both with and without the "or later" clause) and code licensed
as Public Domain.
Determining the result of licence combinations is currently left as an
exercise for the reader.
Diffstat (limited to 'src/Makefile.housekeeping')
0 files changed, 0 insertions, 0 deletions