Raven source code licensing

The Raven source code licensing issue is a problem caused by the license used by Raven Software to release the source code to their games, Heretic and Hexen.

In January 1999, the source code to both Heretic and Hexen was released by Raven, albeit under a restrictive EULA that prohibits many uses of the code and is incompatible with the GNU GPL. At the time of its release, the Doom source itself was only available under the Doom Source License, which was itself incompatible with the GPL.

The Doom source was later re-released under the GNU GPL; however, the Heretic and Hexen sources were never similarly re-released. Raven later released the Hexen 2 source under the GPL, but no effort was made to do the same for the Heretic and Hexen source.

Inappropriate license
The license itself is a standard End User Licensing Agreement, of the kind that Raven would intend to attach to one of their games. As source code is different from the binary data shipped with a commercial game, the license is inappropriate for application to the Heretic and Hexen source. It includes various terms that are nonsensical; for example, that users may not "Make copies of this Program or any part thereof", effectively denying any right to distribute copies of the source code.

Crucially, the license does not grant permissions which are essential to any source code license. For example, the license does not grant permission to redistribute the source and make derivative works.

Raven's Kenn Hoekstra made an announcement after the source code was released, recognising the mistake and essentially admitting that the license was inappropriate. However, the problem was never remedied by Raven.

GPL incompatibility
The license used for the Raven code is incompatible with the GNU GPL. As the Doom source code is only available under the Doom Source License and the GNU GPL, it is not possible to release a properly Open Source (under the Open Source Definition) source port with support for Heretic and Hexen.

Various ports address this issue in different ways:
 * Some ports refuse to include any Heretic or Hexen code, preferring to stay under the GNU GPL. Odamex is an example of this; a lengthy audit was made of the (ZDoom-based) source code to identify and remove any Raven source.
 * ZDoom places itself under the older Doom Source License, in order to provide support for Heretic and Hexen features.
 * JDoom isolates all Raven code in loadable modules that control the game behavior. As such, the core JDoom code is available under the GPL, while the Raven portions are under a separate license.
 * The Eternity Engine attempts to rewrite some of the Heretic and Hexen features from scratch, so that those games may be supported while not using any of the copyrighted code. However, it has been argued that it may essentially be impossible in some situations to write certain functions that are not identical to the original versions.

Open letter and petition to Raven
Multiple attempts to contact Raven, to ask them to relicense the code, have all failed. In response, James "Quasar" Haley wrote an open letter to Raven, asking them to relicense the Heretic and Hexen sources under the GNU GPL. The letter is signed by 35 prominent members of the Doom community, and backed by an online petition that has attracted over 900 signatures. The campaign has even been successful in acquiring the signature of Chris Rhinehart, one of the original programming team behind the games. The Free Software Foundation listed the campaign on their website to help draw attention to the issue.

Despite these efforts, Raven have not acknowledged the existence of the letter or petition or made any attempt to remedy the situation.