Jump to content

Recommended Posts

Ownership of Formats and Description of Intent:

Mod theft is a terrible thing. For this reason, I have collected postings describing a technology that can be implemented into any mod which will increase the professionalism of the mod, protect it from mod theft, provide legal standing with which to challenge pirates, and to provide ultimate piece of mind.

 

First of all. I'm sorry. I love you Bethesda, but I really need to say something. I know it's not your fault. You wanted to give us a game that everyone could enjoy and that people on the console could finally enjoy the true depths of. Modding games on console is a revolution and you finally delivered. Unfortunately, your lawyers botched the job. They gave us such an unconscionable document that we needed to agree to, just in order to use your modding platform. I know. The lawyers made you do it. I know, you didn't know that there would be so many problems at launch. I know, you had no idea that since modding on consoles had been possible this whole time, it had attracted a crowd already that didn't care one fig about intellectual property. But many modders are afraid that their content is going to be stolen.

 

This can fix that.

 

Zenimax has made, and indeed can make, no claims on ownership of the PEX format, any more than they can make claims of ownership of the PA32+ format which the engine itself runs on. Files like these are code, running on a particular format, and don't immediately become the sole property of Zenimax unless created within the Creation Kit. Crucially in this case, F4SE mods must have their PEX created by a third party utility, and acted upon by another third party utility. The Script Extender's PA32+ binary format cannot be downloaded through Bethsoft.net, will not work on PS4, and is not allowed to be run on the XBone. And while you have to provide a PEX file for the engine to run, you don't need to provide a PSC file for the user to read. In fact, not providing the PSC file of this technology removes the possibility of anyone else claiming any ownership of your source code, because they never had it. This last fact is the key.

Central Module:
Create a holotape using a terminal script, containing a menu. This menu shall contain, but is not limited to:
- A list of credits of people the modder wants to thank and/or damn.
- A Digital Signature of the modder generated in whichever manner they see fit.

- (Bonus module) A Public key half of a Public/Private key pair to be used with this digital signature, with the public in your original copy of the source code. Do not compile the private half into the code, and keep it separate from the source code entirely. Provides double security as even if they decompile your script, they do not have the rest of this key. Bonus points for using this key to encrypt something.
- (Triple word score module) So named because console versions do not have the code words necessary to run it. Encode any command in an F4SE way, and you make this script only work on PC. Note that this does not require your mod to run F4SE code otherwise, and does not prevent usage on Bethsoft.net for mods which DO work on console.

Name the holotape with an item tag of [DRM] before the name of your mod. You want people to see this because it lets the thieves know what they're getting themselves into, but it doesn't require that they even see it.

ex: [DRM] Clean Deluxe

 

And here is the most important bit. You don't need to provide this PEX in your main file. You don't even need to link to it. It literally just needs to be in your download. None of your other scripts need to be altered to use this technology, and it stands alone. Actually providing a working terminal script is required, but needing the user to run it is unnecessary. Non F4SE mods will not suddenly be forced to have the whole main file be reliant on external libraries, and those who need to assure that F4SE is installed for proper compatibility with scripts that DO have F4SE requirements can place the checks for their mods in this module file, which can later be disabled when it is not needed. The files remain in the original download and on the user's install, even if disabled on console. These files remain with the downloader of a Bethesda.net file downloader even if the mod they are taken from is pulled from the Nexus.

 

Keep the source sacred:
By withholding the source code used to create the PEX Fragment script which this holotape will display, you eliminate the possibility of there being anyone else who could have created this file. This provides you with legal standing to prove, beyond the shadow of a doubt, that you are the party who compiled that file. Do not share this file with anyone, excepting possible members of your modding company. Keep your source code off of the internet at all times, and do not share it with anyone for any reason. I'll state it one more time, just for good measure. I'll even bold it. Don't Share The Source. Don't use anyone else's either. The point is that it's supposed to be yours. To make this work, you have to write it. I'm sorry. I want to provide you with a working module, but by its very nature, you have to write this yourself.

 

Other code can have its source shared, if you so wish. Nothing is preventing you from allowing people to view the source code of any other modules. The extent to which you want to have your mod be open source is completely in your hands, since you are the one creating this DRM. Outside of the actual Holotape itself, none of the other script matters to this scheme, and you can either share or withhold that as you deem fit. The same goes with any Blender or 3DSMax object files, Photoshop or GIMP files, Audacity files, or other source that you feel that you should or should not share with the general public. The only thing that matters is the holotape fragment script, and that is your key to all of this, along with the upload dates. More on that, later.

 

Customization:
Further modifications can be made to the DRM Holotape, such as mod settings (if you have them), change logs (please guys), shout outs (or damnations), instructions (definitely), jokes (if you're funny), cheats (if you need to git gud), or anything else that the user wants to put onto this holotape. It can be made a quest item so it cannot be dropped, you can use F4SE commands to ensure that it's PC only, and if you're really inventive you could make it as an ingestible if you can figure out a way to make it entirely in script (but seriously, why aren't more modders using the damned holotapes? I'm sick of eating my settings configurators! Bethesda gave you an integrated way to make menus on the Pip Boy, this time! USE IT!)

Extra Modules:

By implanting a private key of a private/public key pair for all to see in an in game menu, and keeping the public key privately held away from either the source code or the executable, you provide double strength protection against decompilation attacks. If the compiler never sees the private key, it cannot be extracted later on. Software capable of achieving this is easier to get than you think, and much easier to use.

 

By linking one's mod into F4SE, using the debug code to turn something crucial on only if on PC, and not providing source code for that feature, you prevent the mod from being used solely through Bethesda.net. Anyone wanting to steal that mod would have to actually be a modder to understand what had been done and how to remove it. A decade of experience from the Nexus shows that modders can steal other modders work, but that it is highly unlikely and will be the source of much controversy and public outcry against the perpetrator, and rarely damages the reputation of the person who has been the victim.

This is optional, and does not prevent Bethesda.net downloaders from installing your mod while on PC, as they can install the Script Extender like sane people too from its website, they just can't use Bethesda.net to install it for them any more than one used to be able to use the Nexus to do the same. Note that while this may break the menu on console, it will not break any other content, so can still be used to implant the digital signatures on your running mod. This content would not run on console but it would remain present in the files.

 

You can also use the F4SE option to specifically encode your F4SE menu options, so there is your Triple Word Score.

Upload widely:
Armed with a mod that contains data only you could have created, you should upload this file as widely as possible. Your signature within the mod declares it to be yours, and the source in your hand proves it. Even if you do not intend your mod to be used on console, it is recommended to upload it there, as well, and set it to private. This ensures that your signature is distributed widely, and that anyone stealing your mod will not be able to claim that they got there first. Remember, you're not giving out your source, so you're not giving them the keys to your kingdom.

Vaporware DRM:
This technology is merely a technique, and due to its nature no running file or source code can be provided, and only examples given. A template could be created at some point, but the recommendation for proper usage is to create one's own, make it theirs, and never show anyone the exact source code they used to make it. This personal and unique ownership of the source code is both the point of this technology and it's mechanism. Make it your own.

Note:
This does not prevent mods from being stolen by capable modders who understand the technology and its use. A Decade of experience in the Bethesda modding community shows that these people will be dealt with swiftly and harshly upon discovery. It does however prevent anyone from being able to claim your work as their own in a convincing manner, whether that party is a mod thief, a console kiddie, an elite modder, Bethesda, or even Zenimax. No matter what rights you have to sign away to make your mod, this technique will provide legal standing to prove that you are the creator, because you have the key.

Licensing and Copyleft:
I hereby release this technology to the people of the Nexus, to all Bethsoft.net subscribers, to all Lovers, to all scripters, to all console peasants and PC doucebags, and to all modders everywhere, with love, in perpetuity, for ever and ever, Amen. Full rights are given for redistribution and modification of this technology without limitation and without credit, just so long as you're not a douche about it. You know who you are, just drop the bomb and back away.

FAQ:

Q: Will you be making this as a release in some form?
A: No. The very nature of this technique absolutely precludes the possibility of anyone else making it for you. You can use a template of some form, but you must do the scripting and compilation yourself for this to work right.

Q: But I don't know how to script!
A: Learn. The scripting level required to create a basic, working example of this technique is extremely minor. You can learn it within a day, and do it without needing anything more than a text editor and the basic modding tools you already needed to create your mod in the first place.

Q: What if my mod only changes game settings or weapon damage? Will this still work?
A: You haven't changed anything that you can even set claim to. The only thing that you would be claiming is the DRM Holotape, itself. It still proves that you made that mod, but simple changes to the game settings aren't exactly representative of a huge amount of work on your part. You really don't need this technique, that's not your IP anyways.

Q: I hate console kiddies. I want them to die. Will this technique help me achieve that?
A: NO. It will not. You're a monster for asking. Seriously, put down the bomb.

Q: This mod broke my game.
A: No, you broke your game. Do you see the difference?

Q: What if Zenimax tries to say the mod is theirs? I'm afraid my content will be stolen for another Bethsoft game.
A: Then they won't be able to use your scripts, because that would mean they would have to include your name. Load your Holotape with something that you would need to get your mod working. Consider the source. They probably won't try to steal your content anyways, but they might get inspired by your ideas. Nothing will ever protect you from someone flattering you through imitation.

Q: Can't this all just be removed?
A: Yes, and that is why you need to make this yourself, keep the source code sacred, and upload the compiled holotape script to as many places as you can. This technique is all about providing you, the content creator, with legal standing to prove that your claim on being the creator is genuine, unique, and solid.

Q: Should this thread be stickied?
A: I think so, just so long as the comment section doesn't devolve into too much flaming. People aren't going to "like" this, but I hope enough people use it to make it worthwhile. If even one person uses this technique in a mod, I'll be happy.

 

Q: What happens if a really capable modder comes along, and puts his own DRM module on? Does that mean he now has standing?

A: No. You have the earlier file. If you have the source, and it's definitely older, and you can show that you made the mod first, and you have your standing. That said, anyone smart enough to do that would not be crazy enough to think it would work.

 

Q: But why should I add a [DRM] tag? None of the mods which tag your items contain that tag!

A: Not yet, anyway. Plus, this tag notifies any potential thieves of what you've done and why they should reconsider.

 

Q: Couldn't someone just decompile the PEX file and then grab the original key?

A: Yes they can decompile, no that doesn't give the same exact file. This would provide a way to remove your signature, but as long as you've uploaded this mod first, you still have proof that yours is the true claim. This isn't just a Holotape, it's a Holotape, the Source, and the date of upload that are the three key factors that ensure you have the ability to prove that your claim to the mod is the true one.

 

Q: Does this go against the spirit of free exchange of information?

A: The DRM can be as permissive or as restrictive as you want. You can even add an entry to the Holotape that declares what you would and would not like to happen with your mod. You can allow free distribution. You can allow modification. You could even claim that it's completely cool to steal your file and ask for donations from it without giving you any credit, if that's what you want. Anything you want to claim in that, you can. Depending upon what you claim, it may or may not be legally binding, but the entire point of this is to provide you with proof that something foul has occured, and therefore the means to do something about it.

 

Q: Are the bonus modules necessary?

A: No, but their usage is highly encouraged. Both are platform agnostic, can be used effectively on any platform, and in the case of the Public/Private key pair completely impregnable for the purposes of asserting Authorship over a file. You don't even need to share your mod to assert authorship if the private key and your copy of the source are kept safe enough.

 

Q: This isn't FOSS friendly.

A: I just linked you do a GNU product didn't I? What do I have to do, grow a neckbeard? Oh wait. I did.

 

Q: Does this require any external files, mods, or products?

A: No. You do not need to link your files to anything made by Bethesda, Valve, Zenimax, GNU, or ENB. You do not need to link to F4SE binaries unless attempting a PC-only build. You do not need to link any DLCs. If you use an external compiler, you don't even need to link to Fallout4.esm. You just need the DRM PEX file in your download, and to keep the source to it sacred.

 

Q: Does this hurt Bethesda or the Bethesda.net mod community in any way?

A: I sincerely hope not. In fact, it is my sincerest hope that Bethesda.net finds this technology useful in detecting and eliminating piracy and mod theft, and that the moderators of their download site find it useful in identifying and managing their mod collections.

Edited by Jeoshua
Link to comment
Share on other sites

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

Love it. My concern is:

 

Pex files can be decompiled back to the source code.

 

Holotape:Terminal:Fragments are just another loose .pex file.

 

A thief already has the mod open in the CK before they can upload it. It seems like marking something [DRM] is a big red flag to the pirate, look through this mod to see if there is anything you can easily remove that is already marked as DRM.

 

I like a little 'obfuscation', but rolling our own and being satisfied it's good enough just coding it yourself is mighty risky stuff.

 

I do like laying out a standard we could all many who choose to, could follow.

 

Having a standard like that is one more piece of documentation you can point to. "I adopted this practice xyz as outlined here in document abc on such and such a date, and all my mods thereafter have used the same standard".

 

I support.

Edited by MasterMagnus
Link to comment
Share on other sites

Love it. My concern is:

 

Pex files can be decompiled back to the source code.

 

Yes, they can, but not fully. This technique does not prevent people from removing the DRM module. That is why you upload your mod first. If the two mods contain the same code otherwise, and they took your DRM off or slapped their own DRM on, but yours is first, then you can prove standing. That's also why it's important to upload it even if you don't intend it to be used on that platform. That way your file with the same code is sitting on the same server, and its file date is earlier. Dates can be faked on a single computer, but anyone changing dates on Bethesda.net or Nexus.com upload times is in much deeper doo doo than stealing mods, to begin with.

 

The thief can steal your code, but you can still prove it is yours, and there is no way that anyone else could.

 

This is covered in the FAQ.

 

And as far as not coding it right, literally the only part you have to get right is the signature. Everything else is fluff and just strengthening of the agreements that everyone is already legally being held to, whether or not the EULA is present in the game files. Also, other components to this DRM, such as a No-Console feature or XBox Only module could be crafted by third parties without ruining the integrity of the technique, just so long as you write some portion of it yourself, make sure you e-sign it, and don't share your final source.

Edited by Jeoshua
Link to comment
Share on other sites

Right on. I have literally been waiting for something that made sense to me I can move on.

 

I'm in. Gonna roll the ideas around a bit.

 

Awesome. If you come up with anything interesting or any modifications you made which you felt worked better, let me know so I can try and incorporate the best and most general ideas. I plan on updating this as people use it, and make it work as good as can be hoped.

 

I have also updated the FAQ with the questions that I have been asked thus far and didn't simply anticipate, and hope they clear up some confusion over decompilation and the entire point of this technique.

Link to comment
Share on other sites

The more I think about it, the more I like it.

 

With the simplicity, straight forward nature, and lack of complicated coding, it makes it clear you are staking claim to Authorship as of the date of upload, and nothing more.

 

It helps everyone be clear your intent is not malicious, and actually covers the modder's concern of not only staking a claim but providing some well thought out documentation pieces if real legal action ever occurred.

Link to comment
Share on other sites

I did make a slight modification.

 

I do not mean to imply that this technique requires that you withhold all source for your mods from everyone, and I have edited the original post to better reflect that. The Holotape Fragment script is your key to all this, and that is the only source you need to withhold. Everything else is up the the discretion of the person implementing it. If you want to put a clause in there saying you're cool with people stealing it, and use this to provide a signature and legal way to prevent people who have reuploaded your mods from any legal repercussions, you can do that, too.

 

Just make sure you upload that one with your signature on it first, no matter what way you take it.

Edited by Jeoshua
Link to comment
Share on other sites

The simplest way to prevent a mod from being ported to console is to write all your scripts to be dependent on F4SE. I guess someone could decompile and rewrite the script to not use F4SE, but the people copying these mods are most likely way to lazy to even attempt it.

Link to comment
Share on other sites

The simplest way to prevent a mod from being ported to console is to write all your scripts to be dependent on F4SE. I guess someone could decompile and rewrite the script to not use F4SE, but the people copying these mods are most likely way to lazy to even attempt it.

 

True. And I touch on this, if your aim is to prevent people from being able to post it cross platform, as it is a very capable technique to add to the DRM module, and requires little more than adding a single F4SE command into the fragment script. This technique does not in any way preclude that, it merely gives you a vehicle in which to contain it.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...