Source modification

A source modification, also known as a source mod, is a modification of the from the Doom engine. The term usually denotes a modification made by fans, as opposed to any of the officially licensed versions produced by id Software or affiliated companies. Unlike a source port, they are usually made for a specific goal in mind.

Though it has become a rarity, source modifications continue to be made to this very day.

History
Source modifications were popular in the late nineties and early 2000's. They were seen as a necessity to implement new features in a time where advanced scripting was not yet available. In later years, source modifications became less common as advanced source ports gained more flexibility. Later modifications were usually done to maintain control over the code or to implement a customized feature that would not be accepted in the mainline codebase of a source port.

Practically all source modifications are derived from a port, as opposed to being based off the original Linux Doom source code.

Source modification versus source port
The differences between a source modification and a source port lay in the nuances they make and the intents of their purposes:
 * A source modification is meant for a specific goal in mind, its scope tied to implementing a subset of features needed to achieve its intended purpose, but that are not significant enough to warrant the port moniker and which generally would not be possible using existing scripting methods of the time.
 * A source port exposes several new features and constantly refines these for a general audience on top of an existing codebase, enough that its distinctively different compared to its original codebase.
 * Source modifications generally do not distribute their source code. One exception would be DoomWars, which saw its sources released.

List of source modifications
Source modifications are primarily derived from four main source ports: These are Boom, DOSDoom, Legacy and ZDoom. A summary list of source modifications is provided below.

Boom based

 * Bogreg
 * Wolfendoom (Doom)
 * XMasDoom

DOSDoom based

 * Chase
 * D2DQ
 * DeathBot
 * DdQstats
 * DoomBot
 * DoomWorld!
 * Timer
 * VSB Doom

Legacy based

 * ACBot
 * Airstrik
 * Cajun
 * DoomWars

ZDoom based

 * DoomFu
 * KGZDoom
 * Nightmare Squad
 * OPNDoom
 * Spice ZDoom
 * XMas99
 * ZCajun
 * ZDoomBot
 * ZDuck

Others

 * AutoDoom
 * CHeretic
 * CHexen
 * NBot