Jump to content
The Dark Mod Forums

Recommended Posts

Posted (edited)
On 2/25/2024 at 3:26 PM, Fiver said:

"def files" are CC-BY-NC-SA according to the TDM license. Does anyone know which license the core scripts are?

@Fiver - Old thread I know, but in light of my own recent attempts I can say that all the core scripts are GPL3 apart from these six files:
tdm_grandfather_clock.script
tdm_turret.script
tdm_audiograph.script
tdm_camgoyle.script
tdm_safe_lock.script
tdm_safe.script
These are not essential scripts in regards to the engine loading and being able to run round an empty test map.

The below .def files can (and were) recreated as their default values are in the source code:
tdm_soundprop.def
tdm_ai_base.def

However, the following .def files are essential and unfortunately cannot be recreated without actually looking in the files themselves (or using Dark Radiants' entity class tree list, but I'm guessing this information is gathered from the .defs @OrbWeaver? so is still under the CC_BY_NC_SA_3 licence?) to see what information/entity definitions they contain:
tdm_base.def
tdm_ai_head_base.def
tdm_ai_heads_springheel.def
tdm_difficulty.def
tdm_inventory_loot.def
tdm_player_thief.def
tdm_weapon_base.def
tdm_weapon_unarmed.def

I believe the above files were created by both @greebo and @Springheel so, if they said it was okay to recreate them based on the values/variables within them (or if multiple authors of the .def files gave permission) then it would be possible to get a basic playable version (by which I mean running round a test map).

I do know from my testing that if you mess up a definition you crash the engine 🙂

Anyway, attached is an image showing the most basic of basic setup for getting the engine running a test map with all of the non-GPL3 content (by which I mean core engine files - not the whole TDM file structure of tetxures,sounds,models, etc. just to clarify) removed and replaced with permissively licenced assets (the only non-permissive files still used being those 8 .def files mentioned above).

The lightgem does work, but I of course had to replace the UI and never put any gui:: calls in, also the cursor is stuck on screen all the time and all my white backgrounds on my simplistic custom main menu turned black.

@MirceaKitsune thanks to you releasing your character pack under CC0 it gave a test player model (though as you can see the original player_thief def file does break it somewhat).

Screenshot_20250308_232941.jpg

Edited by whoozzem
  • Like 1
  • Thanks 1
Posted (edited)

Thanks for that notice and observations! Is that my port of the anthro characters? The originals weren't created by me but I integrated them myself, their author released them as CC0 and I kept the license for my fork.

Scripts and defs are an interesting question: If they count as code, they need to be GPL as one of its clauses is all code distributed with the source code must also be GPL. Of course definitions may not count as code depending on who you ask, plus the engine code and game code may not be distributed in such a way as to trigger that requirement.

A fun aspect is how the defs can be rewritten from scratch to say the same thing while being unique: When is it no longer licensed to the old author? Maybe if I just change the default health value on an AI it's technically my own definition... if not then I may need to redefine all parameters and make them uniquely mine, or something in between. Since no one knows what I'm copying in my local text editor, no one can truly say when a configuration block becomes unique and can be relicensed.

Edited by MirceaKitsune
Posted (edited)

Yes it is the anthro character.

In terms of the scripts, most have the GPL3 header in the file, those that don't (created by @Obsttorte and @Dragofer)  therefore fall under the other licence.

10 hours ago, MirceaKitsune said:

if not then I may need to redefine all parameters and make them uniquely mine

But, without first knowing the contents of the file how could you redefine any undocumented parameters, an example being the difficulty entity - it's a spawnclass of idStatic, but you don't know that without first looking in the definition file as there's no documentation, source code references etc. to gain this information from (unless maybe you can add one in Dark Radiant as a map entity, but even then you wouldn't know the required strings for that entity unless you looked at the file).

If you did look at the file, wouldn't any new creations then be building upon the CC_NC_SA licenced work, which would then put it under that licence? (isn't trying to understand licences fun!).
 

On the flip side, due to the way the game was structured, if these TDM .def files were announced to be GPL3:

  • atdm:ai_bark_priority
  • atdm:ai_base
  • atdm:melee_set_base
  • atdm:ambient_ai_base
  • atdm:ambient_head_base
  • atdm:attachment_point_swinging
  • atdm:attachment_point_swinging_LOD
  • atdm:campaign_info
  • atdm:entity_base
  • atdm:flag_waving_pirate
  • atdm:hanging_laundry_anim01
  • atdm:hanging_sheets01_anim01
  • atdm:longbanner_anim01
  • atdm:propgated_sound_base
  • atdm:shop
  • atdm:team_relations_default
  • atdm:vine_piece

    Then I believe just about every def file created (unless they came off some of the damage defs which I didn't list) by anyone would automatically become GPL3 (whether the authors of other .def files wanted it or not) because these are all the parent entity definitions from which all others are children, so they would (due to the way the GPL3 licence works) also inherit that licence.
Edited by whoozzem
  • Thanks 1
Posted

DEF files are obviously code; I don't see how it makes any sense to have them under an "artistic" license. They are not simply aesthetic aspects of the game, they are functional elements, without which the game will not work. It makes even less sense to have some DEF files under GPL3 and others under CC.

The only things which should be under a CC license are purely artistic elements like textures, models or sounds.

Posted (edited)
On 3/10/2025 at 11:32 AM, OrbWeaver said:

DEF files are obviously code; I don't see how it makes any sense to have them under an "artistic" license.

While I agree with you, there's no getting round the fact that the licence itself specifically lists DEF files (and likewise all sound/material shaders etc. since they're also non-software components) as being under the artistic licence:

Quote

All maps, textures, models, def files, audio assets, and all other
non-software components of The Dark Mod are licensed under the
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

So, only DEF files that were worked on by specific people, who can still be contacted (since aside from out of date contact information, Grayman worked on some of them) to gain permission could either be used in full or information used from them based on the above.

Edited by whoozzem
  • Thanks 1
Posted

That's a pity, and rather an oversight in my opinion (although not very surprising, most of the licensing stuff wasn't really thought about very much until far too late in development).

A couple of possible ways around it:

  • Anything that came directly from vanilla Doom 3 would be covered by the id software license, which might be GPL for everything. In this case, the license cannot legally be changed by TDM and must be the original GPL license. For example, the func_static entity def has obvious references to "demonic" which suggests it is based on the original D3 definition.
  • In many or most jurisdictions, purely functional elements which do not contain any creative or original content, or are needed for interoperability, are excluded from copyright protection altogether. This is how WINE is allowed to implement the Win32 API without permission from Microsoft, for example. This might make it possible to use certain entity definitions by stripping them down to the bare bones, and removing all original content such as documentation.
  • Some entity definitions might not be as important as you think: atdm:entity_base, for example, only contains editor documentation for the various spawnargs (which could be re-written from scratch using original language, or just left out altogether).
  • Thanks 1
Posted (edited)

More insight on what I meant earlier with definitions being hard to attribute: Suppose you have a definition of the form...

atdm:something
{
    "a" "1"
    "b" "2"
    "c" "3"
}

I decide to reimplement it. I open a text editor to do so. Given its simplicity, I end up writing the exact same thing by hand since that's what makes the entity work. I can't prove or disprove that I didn't copy it since no one knows what I did on my machine. Even if I did, the result is the same anyway... would it even make a difference if I retyped it from memory?

What I could do is change a few of the parameters so it's more original; Say a = 3, b = 2, c = 1. Or I remove c. Or I add d = 4. Or write them in reverse as c, b, a. What counts as good enough? There's no clear line that I can think of! Not unless it's a long definition with a lot of parameters, so it has a clear structure attributed to someone writing it... in which case one could just shuffle them, change a few values, add or remove some parameters, use original code comments and it can't be traced back via any specific elements.

Other assets can be attributed as they have much more complexity and chances at being different. Like if I draw over an existing texture to change a few pixels, you can tell it's the same texture and I used large parts of it without making them myself. Of course if my texture was just a single color (1x1) I could post a copy and believably claim I made it myself and just happened to get the same one color, as it would be silly for anyone to copyright any value within the range 255x255x255 that's already been used by someone somewhere countless times.

Edited by MirceaKitsune
  • 2 months later...
Posted
On 3/14/2025 at 10:47 PM, MirceaKitsune said:

Given its simplicity, I end up writing the exact same thing by hand since that's what makes the entity work.

If it is too simple, it may not be copyrightable at all. Have a look at The De Minimis Rule. It refers to small lists and copyright, but may nevertheless give an indication.

Posted

When I was compiling TDM, the github repositories never gave me all the files TDM required to compile (such as scripts/def) possibly because I wasn't cloning the repository but just downloading the github zip file, so maybe if I had cloned it then it would have pulled in other items.

However the source.zip file did include everything required @Fiver

https://www.thedarkmod.com/sources/thedarkmod.2.13.src.7z

I gave it all up as a lost cause in the end, the engine relies too heavily on scripts and definitions taken and/or based on from Doom3, and those files are still under the original games eula, they were never added to idsoftwares github for download.

The only option truly available would be if someone contacted idSoftware (or possibly Microsoft) and asked nicely - but that's not something I personally intend to do.

On the flip side, the Quake3 engine hasn't got these issues, so you just need to backport TDM to Q3 ;)

  • Thanks 1
Posted
1 hour ago, whoozzem said:

those files are still under the original games eula, they were never added to idsoftwares github for download.

The only option truly available would be if someone contacted idSoftware (or possibly Microsoft) and asked nicel

Would that omission most likely be attributed to an intention or a mistake at the time of them releasing the source?

Posted

I suspect intentional, since the release appears to be more about modifying Doom 3/BFG to see what enhancements can be made to its engine base for the game and less about it being a release of the idTech 4 engine.

As to why I believe this is likely the case, below is the Doom3-BFG repositories read me:

Quote
This source release does not contain any game data, the game data is still
covered by the original EULA and must be obeyed as usual.

You must patch the game to the latest version.

So, I'd say they still wanted you to own the game since the scripts and def files are game data.

  • Thanks 1
Posted
13 hours ago, whoozzem said:

I gave it all up as a lost cause in the end

Sad, but thanks for trying! I appreciate it!

13 hours ago, whoozzem said:

the engine relies too heavily on scripts and definitions taken and/or based on from Doom3

Would it be feasible to re-write them? I don't see why the original files can't be used as references (and stubs) during such a work. As long as they are not outright copied.

Posted
4 hours ago, Fiver said:

I don't see why the original files can't be used as references (and stubs) during such a work. As long as they are not outright copied.

The responsible thing would be to consult an IP lawyer in your jurisdiction first. Ultimately there is always a certain degree of risk any time you build off someone else's intellectual labor. Who if anyone actually can exercise property rights over information cannot be definitely answered except in a court room, because at the end of the day it's all just a bunch of arbitrary and fuzzy labels being incompetently rationalized by halfwit bipedal apes.

Posted (edited)
7 hours ago, ChronA said:

The responsible thing would be to consult an IP lawyer in your jurisdiction first.

Or, just get in contact with the owners of the IP and ask them since just because an IP lawyer in one jurisdiction says it would be okay, doesn't mean it would be okay globally.

1 hour ago, datiswous said:

Could it be that dhewm3 has files that could be used instead?

There are several packs out there of scripts/definition files which are licenced under free licences (CC0 and WTFPL mostly) and claim their freedom by recreating them using "clean-room way".

In fact, I used them in getting TDM running with mostly free licenced files by selectively choosing which had clearly been written from scratch albeit with reference to the originals, and which were just direct copy and paste with claimed free licences (I didn't use them).

Then it was a case of finding/replacing the core engine textures, sounds, etc. the engine required to launch with free alternatives (again checking the packs since some were just copied direct from the game files and claiming to be free).

In the end, the only non-free licenced files that were still required were those from TDM itself. The result of this TDM version is the screenshot I posted some posts ago here:

https://forums.thedarkmod.com/index.php?/topic/22346-libre-version-of-tdm/page/3/#findComment-500642
 

However, you will notice the giant cursor on the screen in the screenshot, why? because the only reference to hiding the cursor is within the UI files which come under the game eula, so I didn't add in the command to hide it in game.

In the case of the script/def files, this  "clean-room" approach has stood up in a court of law when I looked online, however you wouldn't really want to end up being in the position of ending up in court defending yourself in the first place.

The flaw in the def/scripts that were recreated are that they all wrote their files using the originals as reference.

So if the originals are under the game eula, and if the information contained is in some way protected, then all these "clean-room" files revert to the original game eula, as the authors didn't have the right to change the licence.

I believe (with a pinch of salt ;) )that if the core scripts/files were made GPL by idSoftware/Microsoft then as files based off of or using them as parents (basically all TDM scripts/defs as far as I can make out) then all of the TDM scripts and def files would automatically become GPL as their authors could also not claim their work was NC-BY since it was then based on GPL work.

Edited by whoozzem
  • Thanks 1
Posted (edited)

May I ask why a libre version is necessary in the first place? Right now TDM already is a free standalone game. According to the first post the advantage would only be to add it to some repositories that I never even heard before. Would this be worth the effort?

Edited by wesp5
Posted (edited)
On 6/2/2025 at 12:09 PM, wesp5 said:

the advantage would only be to add it to some repositories that I never even heard before

The proposal for a TDM libre is not about inclusion in a specific repository, or publication. I provided two just as examples.

On 6/2/2025 at 12:09 PM, wesp5 said:

May I ask why a libre version is necessary in the first place?

My hypothesis is this:
A TDM libre will cater to a different audience than TDM regular.
If a TDM libre can be provided in addition to TDM regular then the reach will be greater and the total audience will be larger.
A larger audience will drive recruitment of contributors, to both versions.
More contributors will drive quantity and quality of content, which in turn will further increase reach and audience in a positive spiral.


As I understand it, if a software is included in a libre project (e.g. Debian), and they fix a defect in it that one of their users reported to them (because it is part of their distro), they will provide patches upstream to us which will then benefit all users, regardless of operating system.
All contributions to TDM libre can be added to TDM regular.


I also see TDM libre as a product associated with lower risks long term.

Edited by Fiver
Clarify
Posted
8 hours ago, whoozzem said:

I believe [...] that if the core scripts/files were made GPL by idSoftware/Microsoft then [all] files based off of or using them as parents [...] would automatically become GPL

I'm afraid it doesn't work that way. If agent A publishes a work W under a license L1 that allows agent B to build on the work as long as B publishes the derivative work under L1, then if A later decide to also offer W under another licence L2 (with similar stipulations about publishing derivative works under L2) then B can choose if their additions to W should be licenced under L1 or L2 or both.

However, if the scrips in question were released as GPL then it would significantly reduce the risk of publishing derivative works based on them.

Posted
19 minutes ago, Fiver said:

A TDM libre will cater to a different audience than TDM regular.

And what would this be? Some hardcore Linux gamers that don't have a backup Windows machine? How many of those would play the game compared to all the normal gamers who had access to TDM for decades? Does anybody even know how many people regularily play TDM missions?

  • Sad 1
Posted
9 minutes ago, wesp5 said:

Some hardcore Linux gamers that don't have a backup Windows machine?

That's possibly the first time anyone insinuated I was hardcore anything. I think I like it. 😉

11 minutes ago, wesp5 said:

How many of those would play the game compared to all the normal gamers who had access to TDM for decades?

It's not only about gamers having access. It's also about TDM getting access to distribution channels otherwise not available.

Also, I think I mentioned it before, potential contributors may choose not to participate due to the lack of a libre alternative, whereas the opposite, someone choosing not to participate based on the existance of a libre option seems a lot less likely.

Posted (edited)
40 minutes ago, Fiver said:

then B can choose if their additions to W should be licenced under L1 or L2 or both.

Yes, I did muddle that one up a bit, however this does mean that if B continues to keep the NC-BY licence, then you as C would be stuck since B chose the values and names (which are then expected by the engine) so in this hypothetical scenario I suppose you still could not use them.

Also as mentioned previously, some people who worked on TDM are no longer with us, so naturally in some cases B cannot give permission for the licence to change, which means their work then falls under copyright law which is different between countries.

Edited by whoozzem
Posted
15 hours ago, whoozzem said:

B chose the values and names (which are then expected by the engine) so in this hypothetical scenario I suppose you still could not use them.

From an earlier post:

On 3/14/2025 at 9:19 PM, OrbWeaver said:

purely functional elements [...] needed for interoperability, are excluded from copyright protection altogether. This is how WINE is allowed to implement the Win32 API without permission from Microsoft

 

Posted (edited)
On 6/2/2025 at 8:25 PM, wesp5 said:

And what would this be? Some hardcore Linux gamers that don't have a backup Windows machine? How many of those would play the game compared to all the normal gamers who had access to TDM for decades? Does anybody even know how many people regularily play TDM missions?

There are multiple mappers and active users using Linux. You want less missions?

Also: Windows costs money. You ask people to buy Windows for a backup pc, while TDM is in fact multiplatform.

I don't know how long tdm is multiplatform, but it must be a while.

 

Listen Valve, Wesp says: Linux gamers are not normal gamers.

 

On 6/2/2025 at 8:25 PM, wesp5 said:

Does anybody even know how many people regularily play TDM missions?

Why is this relevant?

Edited by datiswous

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • JackFarmer

      Update HHTLC now available!

      - main title in higher resolution
      - briefing video (part 1) in higher resolution
      - subtitles for briefing videos, all conversations and all in-game comments, thanks to @datiswous
      · 0 replies
    • datiswous

      Idea I had for a mission center which loads different submissions from it without set order.
      I add it to my list of things to add to a (first?) mission..
      · 0 replies
    • datiswous

      I started using Unexpected Keyboard for Android phone.
      It's pretty cool, because it has an actual Ctrl key, which you can use to do cut, copy and paste actions via x, c and v. pretty handy in the forums, to move quoted text around for example.
      · 0 replies
    • STiFU

      New home, who dis? 🙂
      · 3 replies
    • Xolvix

      Dammit there are too many missions available now. That's what I get for being away for so long. Such a first-world problem.
      · 1 reply
×
×
  • Create New...