summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorMichael Brown2009-04-27 15:11:59 +0200
committerMichael Brown2009-05-18 09:26:08 +0200
commita525fb7782ee41b1e9c6687ce78983ab07509892 (patch)
treea1b1fcc760d4b2b99fbd0edaef22b1f1e5d84191 /src/Makefile.housekeeping
parent[legacy] Remove long-obsolete old dhcp.h file (diff)
downloadipxe-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