Licensing question about interactions between mods

Place to post guides, observations, things related to modding that are not mods themselves.
Post Reply
Mernom
Fast Inserter
Fast Inserter
Posts: 122
Joined: Sun Jul 15, 2018 10:05 pm
Contact:

Licensing question about interactions between mods

Post by Mernom »

Is it possible for a mod's license to protect it's entities, recipes, items, technologies, etc, from being altered by a third party mod through factorio's data.raw table? I'm 99.9% sure that the answer is no, but someone asked a question about a mod's license possibility of reading 'the mod must not be modified' as also protection it's functionality, aka the data in the prototypes.
So I want to know for clarity's sake, and so that future questions about it have a recorded answer on hand.

Pi-C
Smart Inserter
Smart Inserter
Posts: 1644
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Licensing question about interactions between mods

Post by Pi-C »

Mernom wrote:
Sun Apr 10, 2022 5:22 pm
Is it possible for a mod's license to protect it's entities, recipes, items, technologies, etc, from being altered by a third party mod through factorio's data.raw table?
How would you want to do that? Once the things have been extended to data.raw, mods usually can't tell what mod created a prototype (unless the mod has somehow marked it, setting a flag, using the mod name in the prototype names). Even then, it would mean that all other modders would have to know (a) your mod, and (b), the restrictive licence it has.

Finally, doing something like

Code: Select all

for _, prototype in pairs(data.raw[type]) do 
	…
 done
is common. If you as author of a mod don't want other mods to modify your prototypes, there are only two ways you can go:
  • Never extend your data.
  • Make sure that your mod is the last one that will ever be loaded, and create your prototypes in the final data stage.
The first way will make your mod pointless, the second will never work (sure, you can add an optional dependency on ALL other mods -- but less than five minutes after you've uploaded, another mod would be released).
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

Qon
Smart Inserter
Smart Inserter
Posts: 2119
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Licensing question about interactions between mods

Post by Qon »

Mernom wrote:
Sun Apr 10, 2022 5:22 pm
Is it possible for a mod's license to protect it's entities, recipes, items, technologies, etc, from being altered by a third party mod through factorio's data.raw table? I'm 99.9% sure that the answer is no, but someone asked a question about a mod's license possibility of reading 'the mod must not be modified' as also protection it's functionality, aka the data in the prototypes.
So I want to know for clarity's sake, and so that future questions about it have a recorded answer on hand.
I agree that it sounds like the dumbest thing ever if that was a thing. Thankfully it is not. And if someone tries that shit their license is meaningless and should be disregarded in its entirety. I encourage people to reject and violate all the terms in such a license as much as possible if you find it.

Sounds just as ridiculous as clauses that says you are not allowed to uninstall the mod, or not allowed to think thoughts that are not holy according to X deity while using the mod or whatever. The license mostly tells you about the rules regarding redistribution of the code and files written under the license. If you are not redistributing the mod then the license is meaningless in most cases. People that think they get to write laws about anything if you use some of the code they have written are scum.

Mods don't own the game. Mods don't own the entries in the data.raw table that they insert things into. I'm not a lawyer

robot256
Filter Inserter
Filter Inserter
Posts: 596
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: Licensing question about interactions between mods

Post by robot256 »

If the alterations are made by another mod within the Factorio environment, then those altered artifacts are *never distributed*. They are recreated each time the game is loaded on a particular machine. Most licenses on the mod portal only prohibit *distributing* modified artifacts.

By releasing a mod on the mod portal, there is an implicit license to execute the code in the Factorio environment. That includes compiling/reformatting Lua code, and resizing/sampling/compositing various spritesheets into graphics memory. Since mod authors do not control how Vanilla Factorio does this, I don't know how a license could permit some processing but not others.

They are within their right to use the tools given by Factorio to control for mod load order, incombatibilities, or even code that checks for interference outside of the dependency system. If someone modifies the mod's code privately to bypass these, I don't know what recourse they would have if no distribution ever took place.

DarkShadow44
Filter Inserter
Filter Inserter
Posts: 275
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

Re: Licensing question about interactions between mods

Post by DarkShadow44 »

Sounds like something more suited for a lawyer, we can really only speculate here. Although I'm pretty sure that that is not a thing. You can't ask people not to modify your things, you can only ask them to not redistribute said modifications.
In your example: Well, the mod would not be modified, only the internal representation of the mod inside the game.

robot256
Filter Inserter
Filter Inserter
Posts: 596
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: Licensing question about interactions between mods

Post by robot256 »

Right, the person concerned about licensing should be the one to contact a lawyer. The Factorio devs are honestly great about trying to protect modders from egregious plagiarism, when other platforms might simply assume ownership themselves of anything you posted. But partly as a result, there are a lot of uninformed takes on this forum about what exactly constitutes a right that can or should be protected.

pleegwat
Filter Inserter
Filter Inserter
Posts: 258
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Licensing question about interactions between mods

Post by pleegwat »

DarkShadow44 wrote:
Mon Apr 11, 2022 12:58 am
Sounds like something more suited for a lawyer, we can really only speculate here. Although I'm pretty sure that that is not a thing. You can't ask people not to modify your things, you can only ask them to not redistribute said modifications.
In your example: Well, the mod would not be modified, only the internal representation of the mod inside the game.
You can definitely tell people they cannot modify your things. Though in factorio context, I suspect only mods which actually depend on your mod could be affected.

IANAL, of course.

Pi-C
Smart Inserter
Smart Inserter
Posts: 1644
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Licensing question about interactions between mods

Post by Pi-C »

pleegwat wrote:
Mon Apr 11, 2022 4:49 pm
You can definitely tell people they cannot modify your things. Though in factorio context, I suspect only mods which actually depend on your mod could be affected.
Some slippery road ahead there! Say mod A forbids modifying their prototypes. Mod B adds a dependency on A -- it's safe to assume the author knows the forbidding mod and had a chance to know it's licence. Mod C adds a dependency on B, and mod D depends on C. Thus, mod A will be loaded before all of B, C, and D. D may not know about mod A, and but there's a dependency chain from D back to A, so technically it does depend on A as well. If D could be sued because they violate a licence they didn't even know about -- wouldn't that put an end to adding dependencies altogether, as there would always be the risk that you inadvertently violated somebody's licence? No, it just doesn't make sense at all!
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

DarkShadow44
Filter Inserter
Filter Inserter
Posts: 275
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

Re: Licensing question about interactions between mods

Post by DarkShadow44 »

Well sure, you can tell people not to modify your things. The question is, how enforceable is it? Heavily depends on your jurisdiction.

robot256
Filter Inserter
Filter Inserter
Posts: 596
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: Licensing question about interactions between mods

Post by robot256 »

Dependencies have nothing to do with it. There are a dozen reasons to add a dependency that never touch another mod's definitions. There are also a dozen reasons to change other mods' definitions without any dependency at all. I have written mods that do both.

Mernom
Fast Inserter
Fast Inserter
Posts: 122
Joined: Sun Jul 15, 2018 10:05 pm
Contact:

Re: Licensing question about interactions between mods

Post by Mernom »

Personally, I don't believe such a license is viable, but the question came up, so I want to have a semi-reliable thread to point to in case it does so again.
Hopefully a dev, or someone high up there, can pop in and give a more or less definitive answer.

DarkShadow44
Filter Inserter
Filter Inserter
Posts: 275
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

Re: Licensing question about interactions between mods

Post by DarkShadow44 »

As noted, I don't think there is a definitive answer, since it depends on the exact wording and your jurisdiction. Although I guess Wube could force modders to allow certain uses as terms of using the API, though I'm not sure about that either...

User avatar
ickputzdirwech
Filter Inserter
Filter Inserter
Posts: 768
Joined: Sun May 07, 2017 10:16 am
Contact:

Re: Licensing question about interactions between mods

Post by ickputzdirwech »

I think this is a reasonable answer:
robot256 wrote:
Sun Apr 10, 2022 8:49 pm
If the alterations are made by another mod within the Factorio environment, then those altered artifacts are *never distributed*. They are recreated each time the game is loaded on a particular machine. Most licenses on the mod portal only prohibit *distributing* modified artifacts.

By releasing a mod on the mod portal, there is an implicit license to execute the code in the Factorio environment. That includes compiling/reformatting Lua code, and resizing/sampling/compositing various spritesheets into graphics memory. Since mod authors do not control how Vanilla Factorio does this, I don't know how a license could permit some processing but not others.
To put it more simply:
  • A mod that changes the prototypes of another mod doesn’t distribute an altered version of the mod. It is merely a tool for each individual to modify their own original copy of the mod.
  • And you can’t limit what people do with the mod for their personal use.
  • This also applies to servers, as again each player has their own sets of prototypes.
Also have a look at https://factorio.com/terms-of-service
By uploading a mod to the mod portal, you grant us the irrevocable right to reproduce, adapt and distribute the mod and its content as necessary to operate the mod portal and provide the service to our users.
Mods: Shortcuts for 1.1, ick's Sea Block, ick's vanilla tweaks
Tools: Atom language pack
Text quickly seems cold and unfriendly. Be careful how you write and interpret what others have written.
- A reminder for me and all who read what I write

mmmPI
Smart Inserter
Smart Inserter
Posts: 2728
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Licensing question about interactions between mods

Post by mmmPI »

It seem impossible to technically prevent someone from doing it. ( altering a mod ) from what people with more knowledge than me said in the comments.

It seem unlikely that any jurisdiction in any country would spend time instructing a legal case when there is no financial implication ( from my personnal knowledge :).)

Mods being free to download and to use it seem unlikely there would ever be a financial implication related to it.

Though there could be some cases where it becomes not true.

Say i become famous influencer with billions of suscribers and my avatar is a piece of screenshot from the factorio game that is showing only a cropped modded vehicule that look very good and that a person took hours to make. And then i start selling tee-shirt with my avatar on it.

In this case there is a financial implication, you couldn't just say "i read on the forum it was ok" because one is not allowed to ignore the law that's why it's called the law, you are supposed to make sure what you do is legal before you do it, or at least to pay enough money to a lawyer to show your good faith and blame the lawyer for letting you do the thing.

There could be less extreme cases of "bad faith" where say i act like an asshole and create a mod that's just simpler receipe for another great overhaul mod where it's not very clear i'm not the author of the great overhaul mod but just the 1 simple receipe addon, and try to bait people into giving me donation through crowdfunding website by updating my mod twice a week possibly downloading it myself a lot to make it look like its popular.

The "showing good faith" ( from the old latin concept of "bona fides" ) i think in this case would be contacting the original mod author, even if you don't receive any answer, showing that you tried to get its approval before modifying its mod, it DOES count in legal cases in many jurisdictions around the world even if it's called differently.

I can understand why people would write crazy restrictive license, it would be like stating your preferences, if you read something is explicitly forbidden by the license and you still do it, you can't claim you are acting to help the original author in good faith / respecting the license. Your argument become a legal argument where you will have to refute the claim of the person who open the case against you. ( either the license is not legal in its wording or you didn't breach any of the points or it doesn't apply to you and so on .... )

My personnal observation is that companies tries to avoid going to court because on those matter of Intellectual Property if your case is a little off beaten path, the decision is still difficult to predict, and a deal/negociation is always attempted between the parties. And that individuals do not have enough money or time to get their case heard due to potential reparation being peanuts compared to the salary of the person that will instruct the case.

Post Reply

Return to “Modding discussion”