License

From ZDoom Wiki
Jump to: navigation, search

ZDoom uses code from several sources which varied licensing schemes.

Doom source license
This license prohibits commercial use. It naturally applies to all parts of the code originating from the Doom source code. Furthermore, the source code for Heretic and Hexen was released under Activision's standard EULA, which is inapplicable to source code. Kenn Hoekstra of Raven Software allowed to use the terms of the Doom source license instead. All three games had their source code eventually re-released under the terms of the GPLv2, but ZDoom uses the older licensing scheme since the GPL is incompatible with other licenses used by parts of ZDoom.
Note that many parts of Heretic and Hexen support were written before their source code was released, and are original independent work instead.
FMOD Ex license
ZDoom's use of the FMOD Ex audio library is covered under the terms of the FMOD non-commercial license. The license also requires that the string "FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2011." be printed by the application (you see it during startup and in the console log).
Build license
ZDoom borrows some elements from Ken Silverman's Build engine and tools, namely inline fixed point multiplication functions (mscinlines.h and gccinlines.h), some assembly code (asm_ia32/a.asm), the (unused) Polymost implementation (r_polymost.cpp), voxels rendering (r_things.cpp) and part of the decal and wall rendering code (r_segs.cpp, r_draw.cpp). The Build license is non-commercial only and requires the following text to be placed in the code:
// "Build Engine & Tools" Copyright (c) 1993-1997 Ken Silverman
// Ken Silverman's official web site: "http://www.advsys.net/ken"
// See the included license file "BUILDLIC.TXT" for license info.
Note that the code used to read Build-engine data is not itself derived from Build code.
zlib license
ZDoom includes the zlib library by Jean-loup Gailly and Mark Adler and implements several ZIP decompression protocols. The concerned files are in the zlib subdirectory. The license requests the presence of the string "deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly." in the executable or the documentation. The rest of the conditions can be seen in zlib.h.
Paul Hsieh derivative license
The hash function ZDoom uses for storing and retrieving names, found in c_dispatch.cpp, is based on Paul Hsieh's SuperFastHash algorithm.
GPL
The FraggleScript code is under the GPLv2. The GPL is normally incompatible with any non-commercial license (such as the FMOD and Build ones), and the code is therefore used with special permission from Simon Howard. Code from SMMU can be used in ZDoom or derived ports, as long as the source code remains open and the full copyright notice remains in place.
LGPL
Contrarily to the normal GPL, LGPL code can be used in non-commercial projects. Code under this license used in ZDoom include the internal TiMidity++ player (for GUS emulation) and the Game Music Emu library.
In addition, GZDoom also includes LGPL code for the hqx algorithm.
MAME license
The OPL emulator is taken from the MAME project. Reuse of parts of MAME, as is the case in ZDoom, is under a non-commercial, open-source clause:
The source code cannot be used in a commercial product without the written
authorization of the authors. Use in non-commercial products is allowed, and
indeed encouraged.  If you use portions of the MAME source code in your
program, however, you must make the full source code freely available as well.
DUMB license
The foo_DUMB code is under the DUMB license.
ZDoom code license
Code original to ZDoom is under the 3-point modified BSD license.
Since r128, the GZDoom OpenGL code adds two additional clauses to this license: if parts of this code is used outside of a GZDoom-derivative project, the terms of the LGPL applies instead; and in all cases the project must remain open source.
Personal tools
Namespaces

Variants
Actions
Navigation
ACS
DECORATE
ZDoom mods
Toolbox