Difference between revisions of "Raven source code licensing"

From DoomWiki.org

[checked revision][checked revision]
(update cite, links)
 
(22 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
The '''Raven source code licensing''' issue was a problem caused by the license used by [[Raven Software]] to release the source code to their games, [[Heretic]] and [[Hexen]].
 
The '''Raven source code licensing''' issue was 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 [[wikipedia:EULA|EULA]] [http://www.doomworld.com/eternity/activision_eula.txt] that prohibits many uses of the code and is incompatible with the [[wikipedia:GNU General Public License|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.
+
On January 11, 1999,{{cite web archived|url=http://www2.ravensoft.com/source/|title=Heretic and Hexen source code release page|author=Staff|publishdate=11 January 1999|publication=Raven Software website|archiveurl=https://web.archive.org/web/20010611155248/http://www2.ravensoft.com/source/|accessdate=8 August 2023|archivedat=archive.org}} the source code to Heretic, Hexen and the [[ACC]] script compiler was released by Raven, albeit under a restrictive {{wp|End-user license agreement|EULA}} [https://www.doomworld.com/eternity/activision_eula.txt] that prohibits many uses of the code and is incompatible with the {{wp|GNU General Public License|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 not similarly re-released. Raven later released the Hexen 2 source under the GPL [http://archive.gamespy.com/news/november00/hexen2/], but did not do the same for the Heretic and Hexen source.
+
The Doom source was later re-released under the GNU GPL; however, the Heretic and Hexen sources were not similarly re-released. Raven later {{archived link|http://archive.gamespy.com/news/november00/hexen2/|released the Hexen 2 source|https://web.archive.org/web/20100621021545/http://archive.gamespy.com/news/november00/hexen2/|archive.org}} under the GPL, but at the time, did not do the same for the Heretic and Hexen source. On September 4th 2008, the Heretic and Hexen sources were finally re-released under the GPL by Raven.
 
 
As of September 4th 2008, the license is no longer an issue, as the Heretic and Hexen sources were re-released under the GPL by Raven.
 
  
 
== Problems ==
 
== Problems ==
 
 
=== Inappropriate license ===
 
=== Inappropriate license ===
 +
The license itself is a standard {{wp|End-user license agreement|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.
  
The license itself is a standard [[wikipedia:EULA|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.
 
 
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 [http://www.bluesnews.com/archives/jan99-2.html].  Despite this, the problem was not remedied by Raven until September 2008.
+
Raven's Kenn Hoekstra made an announcement after the source code was released, recognising the mistake and essentially admitting that the license was inappropriate.{{cite web|author=Blue's News staff|title=Heretic/Hexen Source Code EULA Update|url=https://www.bluesnews.com/s/237919/heretic-hexen-source-code-eula-update|publication=Blue's News|publishdate=15 January 1999|accessdate=6 November 2023}} Despite this, the problem was not remedied by Raven until September 2008.
  
 
=== GPL incompatibility ===
 
=== 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 was not possible to release a properly {{wp|Open Source}} (under the {{wp|Open Source Definition}}) source port with support for Heretic and Hexen.
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 [[wikipedia:Open Source|Open Source]] (under the [[wikipedia:Open Source Definition|Open Source Definition]]) source port with support for Heretic and Hexen.
 
  
 
Various ports addressed this issue in different ways:
 
Various ports addressed this issue in different ways:
* Some ports refused 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.
+
* Some ports refused 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]] placed itself under the older Doom Source License, in order to provide support for Heretic and Hexen features.
 
* [[ZDoom]] placed itself under the older Doom Source License, in order to provide support for Heretic and Hexen features.
* [[Doomsday]] isolated all Raven code in loadable modules that control the game behavior. As such, the core Doomsday engine and the JDoom loadable module is available under the GPL, while the Raven portions are under a separate license.
+
* [[Doomsday]] isolated all Raven code in loadable modules that control the game behavior. As such, the core Doomsday engine and the Doom loadable module is available under the GPL, while the Raven portions are under a separate license.
* The [[Eternity Engine]] attempted 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.
+
* The [[Eternity Engine]] attempted 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 ==
 
== Open letter and petition to Raven ==
 +
Multiple attempts to contact Raven, to ask them to relicense the code, appeared unsuccessful. In response, [[James "Quasar" Haley]] wrote an open letter to Raven, asking them to relicense the Heretic and Hexen sources under the GNU GPL [https://web.archive.org/web/20080704134000/https://www.doomworld.com/eternity/letter.html]. The letter was signed by 35 prominent members of the Doom community, and backed by an online petition that attracted over 900 signatures [http://web.archive.org/web/20081015131857/http://www.petitiononline.com/qhhgpl/petition.html]. The campaign was even successful in acquiring the signature of [[Chris Rhinehart]], a member of the original programming team behind the games. The {{wp|Free Software Foundation}} listed the campaign on their website to help draw attention to the issue [http://www.gnu.org/server/takeaction.html].
  
Multiple attempts to contact Raven, to ask them to relicense the code, appeared unsuccessful. In response, [[James "Quasar" Haley]] wrote an open letter to Raven, asking them to relicense the Heretic and Hexen sources under the GNU GPL [http://www.doomworld.com/eternity/letter.html].  The letter was signed by 35 prominent members of the Doom community, and backed by an online petition that attracted over 900 signatures [http://www.petitiononline.com/qhhgpl/petition.html]. The campaign was even successful in acquiring the signature of [[Chris Rhinehart]], one of the original programming team behind the games. The [[wikipedia:Free Software Foundation|Free Software Foundation]] listed the campaign on their website to help draw attention to the issue [http://www.gnu.org/server/takeaction.html].
+
The Heretic and Hexen source code was eventually [[sourceforge:projects/heretic/|released under the GPL on a Sourceforge site]] on September 4, 2008 by [[James Monroe]] of Raven. Development of [[Chocolate Doom|Chocolate Heretic and Chocolate Hexen]] [https://github.com/chocolate-doom/chocolate-doom/commit/0df2cb80cf03d7259746834220d209b306a8c503 began on the same day] as a result of the release.
  
The source code was eventually released under the GPL on a Sourceforge site on September 4, 2008 by James Monroe of Raven [http://sourceforge.net/projects/heretic/].
+
The ACC script compiler source was not re-licensed, even though James Monroe indicated that he had thought it was included with the Hexen source and that he would remedy the situation. However, as of 2019, it remains under the original proprietary license.
 +
 
 +
== See also ==
 +
* [[Heretic source code]]
 +
* [[Hexen source code]]
  
 
== External links ==
 
== External links ==
 +
* {{archived link|https://www.doomworld.com/eternity/letter.html|Open Letter to Raven Software and Activision|https://web.archive.org/web/20080704134000/https://www.doomworld.com/eternity/letter.html|archive.org}}
 +
* {{archived link|http://www.petitiononline.com/qhhgpl/petition.html|Petition to Raven|http://web.archive.org/web/20081015131857/http://www.petitiononline.com/qhhgpl/petition.html|archive.org}}
 +
* [https://www.doomworld.com/eternity/activision_eula.txt Raven / Activision EULA] which the Raven source was released under.
 +
* [[sourceforge:projects/heretic/files/|Heretic and Hexen source code, at Sourceforge]]
 +
* [https://archive.org/details/Raven_source_code Heretic and Hexen source code, at archive.org]
 +
* {{idgames|id=18119|title=Heretic and Hexen source code}}
 +
 +
== References ==
 +
<references />
  
* [http://www.doomworld.com/eternity/letter.html Open Letter to Raven Software and Activision]
 
* [http://www.petitiononline.com/qhhgpl/petition.html Petition to Raven]
 
* [http://www.doomworld.com/eternity/activision_eula.txt Raven / Activision EULA] which the Raven source was released under.
 
* [http://www.3dgamers.com/dlselect/games/hexen/Thirdparty/raven_source.zip.html The Heretic and Hexen source code], as released by Raven.
 
 
[[Category:Companies]]
 
[[Category:Companies]]
 
[[Category:Community]]
 
[[Category:Community]]
 
[[Category:Code]]
 
[[Category:Code]]
 
[[Category:Events]]
 
[[Category:Events]]

Latest revision as of 07:32, 6 November 2023

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

On January 11, 1999,[1] the source code to Heretic, Hexen and the ACC script compiler was released by Raven, albeit under a restrictive EULA [1] 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 not similarly re-released. Raven later released the Hexen 2 source (archived 🏛) under the GPL, but at the time, did not do the same for the Heretic and Hexen source. On September 4th 2008, the Heretic and Hexen sources were finally re-released under the GPL by Raven.

Problems[edit]

Inappropriate license[edit]

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.[2] Despite this, the problem was not remedied by Raven until September 2008.

GPL incompatibility[edit]

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 was not possible to release a properly Open Source (under the Open Source Definition) source port with support for Heretic and Hexen.

Various ports addressed this issue in different ways:

  • Some ports refused 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 placed itself under the older Doom Source License, in order to provide support for Heretic and Hexen features.
  • Doomsday isolated all Raven code in loadable modules that control the game behavior. As such, the core Doomsday engine and the Doom loadable module is available under the GPL, while the Raven portions are under a separate license.
  • The Eternity Engine attempted 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[edit]

Multiple attempts to contact Raven, to ask them to relicense the code, appeared unsuccessful. In response, James "Quasar" Haley wrote an open letter to Raven, asking them to relicense the Heretic and Hexen sources under the GNU GPL [2]. The letter was signed by 35 prominent members of the Doom community, and backed by an online petition that attracted over 900 signatures [3]. The campaign was even successful in acquiring the signature of Chris Rhinehart, a member 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 [4].

The Heretic and Hexen source code was eventually released under the GPL on a Sourceforge site on September 4, 2008 by James Monroe of Raven. Development of Chocolate Heretic and Chocolate Hexen began on the same day as a result of the release.

The ACC script compiler source was not re-licensed, even though James Monroe indicated that he had thought it was included with the Hexen source and that he would remedy the situation. However, as of 2019, it remains under the original proprietary license.

See also[edit]

External links[edit]

References[edit]

  1. Staff (11 January 1999). "Heretic and Hexen source code release page." Raven Software website (archived 🏛). Retrieved 8 August 2023.
  2. Blue's News staff (15 January 1999). "Heretic/Hexen Source Code EULA Update." Blue's News. Retrieved 6 November 2023.