Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
I was thinking last night how Freebuild is going to seed a TOS for mods, to outline the rights of modders and allow for protection from plagarism(to prevent the kind of fiasco that happened with TBM and blockland). As I was going over it in my head, I came up with some simple rules as a start. Let me know what you think and if there's anything I left out:



Freebuild Modding Terms of Use

By publishing or installing a modification for Freebuild, you agree to the following terms:

Usage Rights
All original content published on this site remains the property of its author, however the developers of Freebuild reserve the right to modify, disassemble and repackage your modification as we see fit. This way, anything you make for Freebuild is still yours to use in whatever other projects you want, but we get to modify and repackage mods for future versions of Freebuild if we happen to like them. Other users may also modify and repackage Freebuild modifications as long as the original author is credited, unless otherwise specified by the author, as elaborated in the "Plagiarism" section of this document.

Liability
Neither the developers of Freebuild, nor the managers of any associated websites can be held responsible for the content or stability of any Freebuild modification. If a user installs a mod, they take on full responsibility for anything it might do to their game or computer. If an author knowingly releases a mod that compromises the safety of this website or its users, that author can and will be held responsible for any damage caused, and immediate action will be taken against them, up to and including legal action if we(the developers and managers of this site) deem it necessary.

Plagiarism
Unless explicitly stated otherwise, any modification for Freebuild that is released on this site may be used by other users in their own modification projects, as long as the original author is credited. If an author uses content from another modification, and fails to credit the original source, they will be given one chance to correct the error and properly credit their source(we can add this credit ourselves if the author is unable). Continued refusal to credit the original author will result in removal of the offending product, and possible banishment of the plagiarist from this website. If a user simply re-releases or repackages another's mod and calls it their own, without any significant change, it will be removed and the offending author may be subject to punishment, including but not limited to banishment from the website. An author may protect their content from unauthorized use by stating explicitly within their mod that it may not be used without their consent. Anyone reported using said author's content will then be treated as a plagiarist, subject to the same consequences. It is at our discretion what action to take when a violation of this policy is discovered. It is up to the author of a mod to report theft of it[we may add a dedicated email address here]. We take no responsibility to actively check for plagiarism.

Open-Source Requirements
Unless we give permission to the contrary, all cs scripts used in mods published on this site must be open-source, to protect the security of our users. If for some reason you feel you must keep a script compiled in dso format to protect your work, you may email or pm any Freebuild developer[this may be changed to a specific developer(s) or dedicated email address] with your request and your reasoning behind it, along with an uncompiled cs version of the script(s) you wish locked down. If we accept your request, you will be given permission to publish your mod with the script(s) precompiled, as long as they match what we have on file(if you later update the mod, you must give us an updated source first). You have our assurances that any source scripts you send us via these means will be kept private.
I'm not very up-to-date on the Freebuild project, but this seems like a rather fair TOS. Possible concerns:

- No definition as to how those who use/modify/build upon others' mods must credit the original author -- can it be discreet and hidden, or must they share the other author's name and a link/directions to find the original mod(s) in a prominent area? Do they have to state what mod(s) they built upon, and in what fashion?

- If one modifies a mod that is unstable (knowingly to the original author but not to the modifier), who takes the blame -- the second-hand author, the first-hand author, both?

- Can authors knowingly release mods that are unstable as long as they publicly and prominently advertise it as potentially unstable?

Probably not huge concerns, but they're just questions I tried formulating that one reading this could possibly conceive when creating mods. Agreeably not big problems, but I thought you'd appreciate nitty-gritty detail checks Smile
Those are good points, we'll see what others have to say and then I'll make some changes.

EDIT- The first question is hard for me to answer at this stage, since we don't have a finalized mod subimission system. I suspect once we do, it would have a description space where credit could be placed, but there could also be a separate spot for citing previous works. For the other two questions I need the input of the other devs. I would favor allowing anything that isn't outright malicious, but the others might want to be more stringent.
Thanks for this thoughtful post. Here are some of my thoughts in response.

DShiznit wrote:
I was thinking last night how Freebuild is going to seed a TOS for mods, to outline the rights of modders and allow for protection from plagarism(to prevent the kind of fiasco that happened with TBM and blockland).

I think the best ways to prevent that kind of fiasco are
a) Don't be giant a**hats. FreeBuild isn't a commercial product, so the kinds of tensions that existed between the TBM team and Badspot shouldn't be a problem.
b) Educate modders about proper licensing options - Creative Commons for content, and MIT/BSD/LGPL/GPL for code. Many of these require attribution, so the kinds of tensions that existed between the TBM team and the AIO/RTB team shouldn't be a problem either.

Quote:

Freebuild Modding Terms of Use

By publishing or installing a modification for Freebuild, you agree to the following terms:

Usage Rights
All original content published on this site remains the property of its author, however the developers of Freebuild reserve the right to modify, disassemble and repackage your modification as we see fit. This way, anything you make for Freebuild is still yours to use in whatever other projects you want, but we get to modify and repackage mods for future versions of Freebuild if we happen to like them. Other users may also modify and repackage Freebuild modifications as long as the original author is credited, unless otherwise specified by the author, as elaborated in the "Plagiarism" section of this document.

I might be misunderstanding you here, but reserving the rights to incorporate other people's mods into our code doesn't seem like a great PR move. I also would prefer that the FreeBuild core distribution remain fairly minimalistic, and that the various game modes be distributed as mods on top of that. I do think that mods which are hosted in the Cemetech file archives should be subject to the sorts of editorial guidelines that any other content on Cemetech is. But we should obviously have support for 3rd party repositories.


Quote:
Liability
Neither the developers of Freebuild, nor the managers of any associated websites can be held responsible for the content or stability of any Freebuild modification. If a user installs a mod, they take on full responsibility for anything it might do to their game or computer. If an author knowingly releases a mod that compromises the safety of this website or its users, that author can and will be held responsible for any damage caused, and immediate action will be taken against them, up to and including legal action if we(the developers and managers of this site) deem it necessary.

This is pretty reasonable on the end-user side. On the mod-dev side, we should just have a warning that mods which act like malware are subject to the same laws as any other bit of malware.

Quote:

Plagiarism
Unless explicitly stated otherwise, any modification for Freebuild that is released on this site may be used by other users in their own modification projects, as long as the original author is credited. If an author uses content from another modification, and fails to credit the original source, they will be given one chance to correct the error and properly credit their source(we can add this credit ourselves if the author is unable). Continued refusal to credit the original author will result in removal of the offending product, and possible banishment of the plagiarist from this website. If a user simply re-releases or repackages another's mod and calls it their own, without any significant change, it will be removed and the offending author may be subject to punishment, including but not limited to banishment from the website. An author may protect their content from unauthorized use by stating explicitly within their mod that it may not be used without their consent. Anyone reported using said author's content will then be treated as a plagiarist, subject to the same consequences. It is at our discretion what action to take when a violation of this policy is discovered. It is up to the author of a mod to report theft of it[we may add a dedicated email address here]. We take no responsibility to actively check for plagiarism.

A lot of this should be handled by proper license choice from the mod developers. The important part is how the mod-archive maintainers handle dispute resolution. "Repackaging" without substantial modification should be disallowed on quality control guidelines, since in most cases my preference would be that mods that add content make proper use of the dependency system which has been developed for FreeBuild and override functions where necessary using the package mechanism built into Torque. There should be very little reason to have duplicated code in the archive.

Quote:
Open-Source Requirements
Unless we give permission to the contrary, all cs scripts used in mods published on this site must be open-source, to protect the security of our users. If for some reason you feel you must keep a script compiled in dso format to protect your work, you may email or pm any Freebuild developer[this may be changed to a specific developer(s) or dedicated email address] with your request and your reasoning behind it, along with an uncompiled cs version of the script(s) you wish locked down. If we accept your request, you will be given permission to publish your mod with the script(s) precompiled, as long as they match what we have on file(if you later update the mod, you must give us an updated source first). You have our assurances that any source scripts you send us via these means will be kept private.

I'm actually considering measures to simply prevent the engine from loading DSO files, but since mods should be self contained in zip files, I am considering a mechanism by which people could distribute mods as encrypted zip files which require a license key (and which would still have to be vetted before it was allowed to be hosted on Cemetech). Probably not at first though.


Ashbad wrote:
I'm not very up-to-date on the Freebuild project, but this seems like a rather fair TOS. Possible concerns:

- No definition as to how those who use/modify/build upon others' mods must credit the original author -- can it be discreet and hidden, or must they share the other author's name and a link/directions to find the original mod(s) in a prominent area? Do they have to state what mod(s) they built upon, and in what fashion?

- If one modifies a mod that is unstable (knowingly to the original author but not to the modifier), who takes the blame -- the second-hand author, the first-hand author, both?

- Can authors knowingly release mods that are unstable as long as they publicly and prominently advertise it as potentially unstable?

Probably not huge concerns, but they're just questions I tried formulating that one reading this could possibly conceive when creating mods. Agreeably not big problems, but I thought you'd appreciate nitty-gritty detail checks Smile

DShiznit wrote:
Those are good points, we'll see what others have to say and then I'll make some changes.

EDIT- The first question is hard for me to answer at this stage, since we don't have a finalized mod subimission system. I suspect once we do, it would have a description space where credit could be placed, but there could also be a separate spot for citing previous works. For the other two questions I need the input of the other devs. I would favor allowing anything that isn't outright malicious, but the others might want to be more stringent.

On the proper-attribution issue, I'm really going to be pushing to minimize code duplication, so mods building on or modifying other mods should utilize those as dependencies rather than duplicating their code. the zip file for each mod should contain something like this that is parsed by the game engine in the mod enable/disable gui:

Code:
NAME:   ExampleMod
AUTHOR:   CyberPrime
VERSION:   1.2 Beta
DEPENDENCIES:   TerrainFixer;
DESCRIPTION:   This is an example, simply so you get the idea of how a mod should be layed out. The descriptors (I.E. NAME:, AUTHOR: etc.) are seperated from the actual string (I.E. ExampleMod, CyberPrime etc.) by a TAB.
      Keep in mind that descriptions can be on multiple lines, and will appear as such in the "More Info" window in the game. NAME must be the same as the name of the zip file your mod is in. (I.E. ExampleMod.zip should be named ExampleMod)
      As well, there is a dummy folder hierarchy in place with things like missions, client scripts and GUIs, and server scripts. Please base your mods off these standard folder orders to simplify and make mods more uniform.
      There is also an example Key Mapping file under client/bindings/example.bind.cs that explains how to make key mapping files.
      Finally, see client/scripts/example.cs to see an example of how you can modify existing game functions, and use some basic functionality of the mod system.

Obviously some versioning ought to be part of that scheme in the final version, and other formatting stuff may need to be changed, but the basics are in place.

I think the earlier segments of my post answer my feelings about the liability issue reasonably enough.
I guess I'll wait until things have moved further along then, before writing another version of this. I like the language of "if it acts like malware, it will be treated as malware". It's simple and doesn't leave any room for misinterpretation.

For most games, any content submitted becomes the property of the developer of the game. Blockland does this, as does Portal 2 and TF2. I tried writing the usage rights such that we wouldn't take /possession/ of submitted works, but could still use them if we chose. If even that is too much, and you feel we won't need those rights anyway, I can drop that language entirely.

As for derived works, I think we should protect the rights of modders to use each others' content if its submitted to this site(and not otherwise protected). Dependencies aren't enough for some cases. For example, if modder A releases a ray gun with a cool green beam effect, and modder B wants to use a red version of that effect for his shrink ray, modder B needs to be able to repackage that part of modder A's work(and credit it accordingly). In fact, I might even go as far as to suggest all mods hosted on this site have to abide by a single unified license that outlines this as a right, so modders don't have to wade through pages of license agreements for every mod they want to use snippets from in order to know what they can and cannot use. Externally hosted mods and repositories could be licensed however the author sees fit. In this way, as long as you're only dealing with mods from this site, you already know what all the rules are(and anyone publishing here gets basic IP theft protection without having to come up with a license). Having everything hosted here follow the same simple and open license would also keep us out of any license disputes.
DShiznit wrote:
I guess I'll wait until things have moved further along then, before writing another version of this. I like the language of "if it acts like malware, it will be treated as malware". It's simple and doesn't leave any room for misinterpretation.

Smile

DShiznit wrote:
For most games, any content submitted becomes the property of the developer of the game. Blockland does this, as does Portal 2 and TF2. I tried writing the usage rights such that we wouldn't take /possession/ of submitted works, but could still use them if we chose. If even that is too much, and you feel we won't need those rights anyway, I can drop that language entirely.

So does Blizzard with their RTS map editors, which is how the dispute between Valve and Blizzard got started of DotA - Valve had one of the developers, but Blizzard owned the rights to his original work. Even though it is standard, I don't feel like we have any reason to need it, and I think it is discouraging to modders to tell them straight up that we would return at least some of the rights to their work.

Quote:
As for derived works, I think we should protect the rights of modders to use each others' content if its submitted to this site(and not otherwise protected). Dependencies aren't enough for some cases. For example, if modder A releases a ray gun with a cool green beam effect, and modder B wants to use a red version of that effect for his shrink ray, modder B needs to be able to repackage that part of modder A's work(and credit it accordingly). In fact, I might even go as far as to suggest all mods hosted on this site have to abide by a single unified license that outlines this as a right, so modders don't have to wade through pages of license agreements for every mod they want to use snippets from in order to know what they can and cannot use. Externally hosted mods and repositories could be licensed however the author sees fit. In this way, as long as you're only dealing with mods from this site, you already know what all the rules are(and anyone publishing here gets basic IP theft protection without having to come up with a license). Having everything hosted here follow the same simple and open license would also keep us out of any license disputes.


That seems somewhat reasonable. It's the model that the LDraw Steering Committee follows now. And it might even be a good idea to require that artwork be released under a compatible license (I think they use CC-BY-2.0). Whether that's the best option is something that definitely should be discussed. It might be better to use 3.0, and include one of the Non-Commercial and Share-Alike clauses as well. I'm not sure.

For code, I generally lean towards the LGPL, but I'm not terribly strongly opinionated there either. There are merits all around.
elfprince wrote:
I'm actually considering measures to simply prevent the engine from loading DSO files, but since mods should be self contained in zip files, I am considering a mechanism by which people could distribute mods as encrypted zip files which require a license key (and which would still have to be vetted before it was allowed to be hosted on Cemetech). Probably not at first though.
I think that is a very reasonable idea. What mechanism are you envisioning for those license keys? Perhaps something as simple as having them call out and check the crypto fingerprint of the mod against a stored fingerprint on the FB/Cemetech master server? Or something more complex?
KermMartian wrote:
elfprince wrote:
I'm actually considering measures to simply prevent the engine from loading DSO files, but since mods should be self contained in zip files, I am considering a mechanism by which people could distribute mods as encrypted zip files which require a license key (and which would still have to be vetted before it was allowed to be hosted on Cemetech). Probably not at first though.
I think that is a very reasonable idea. What mechanism are you envisioning for those license keys? Perhaps something as simple as having them call out and check the crypto fingerprint of the mod against a stored fingerprint on the FB/Cemetech master server? Or something more complex?


Wouldn't preventing the formation and loading of dsos only serve to increase load times(since the engine would effectively have to recompile every script every time the game is loaded)? Wouldn't this be a moot point if everything has to follow the same open-source license anyway? Anyone who wants to secure their content can do so as long as they host the files themselves(at which point its no longer our problem).
DShiznit wrote:
Wouldn't preventing the formation and loading of dsos only serve to increase load times(since the engine would effectively have to recompile every script every time the game is loaded)? Wouldn't this be a moot point if everything has to follow the same open-source license anyway? Anyone who wants to secure their content can do so as long as they host the files themselves(at which point its no longer our problem).

I'll have to do some profiling. It's a pretty simple change in the engine. But I'm not convinced that the performance impact would be significant. Also, I'm pretty sure there's some work being done on a JIT-based VM for Torquescript rather than the mess we have now. You make a good point about "not our problem" with self hosted mods.

KermMartian wrote:
I think that is a very reasonable idea. What mechanism are you envisioning for those license keys? Perhaps something as simple as having them call out and check the crypto fingerprint of the mod against a stored fingerprint on the FB/Cemetech master server? Or something more complex?


I have a lot of things bumping around in my head. Though the more they bump around in there, the less I think I want to indulge in them. DRM-like schemes aren't really what I want this to become, but they're one of the few ways to implement what I suggested.
I was going to suggest having the engine encrypt mods by hashing their names with a unique formula, but then it occurred to me that if the engine is open-source, anyone could grab the formula rendering this security measure moot.

I'm beginning to form the opinion that having an avenue to secure mods would more trouble than its worth.
DShiznit wrote:
I was going to suggest having the engine encrypt mods by hashing their names with a unique formula, but then it occurred to me that if the engine is open-source, anyone could grab the formula rendering this security measure moot.

And even if it weren't, if the mod authors knew the formula, anyone could still grab it. It's not the encrypt that's the problem, it's the decrypt.

A more secure system would have some cryptographic signature for the mod hashed together with the user name or id of the person it was authorized for, but that would only work with users who logged in through Cemetech instead of a custom login system (or none at all). And would prevent people from ever being able to change their usernames. Protection schemes that punish valid users and benefit those who try to workaround them aren't really worth having.

Quote:
I'm beginning to form the opinion that having an avenue to secure mods would more trouble than its worth.

Yeah, that's what I'm currently thinking.
Now that I think about it, there is no way to load mods into the engine that wouldn't leave them open to theft. No matter how you encrypt or authorize it, it would still be fairly trivial for any decent programmer to dump the content of a mod once it's loaded.
Which is why companies like Ubisoft rootkit your machine if they're really worried about piracy Wink
So an outline of what the TOS might look like could be something like this:

I. a. You get all rights to the content you release, etc.
b. Must comply with x license [link] if hosted here, must allow others to mod as long as credit is attributed
c. externally hosted mods can be licensed as you see fit. any issues that arise are your problem, not ours, and we'll remove dangerous mod links if necessary(which is already Cemetech policy for any malicious url).

II. a. We cannot be held liable for anything a user-created mod does
b. if it acts like malware, it will be treated as malware
c. anything that is reported to be dangerous, but isn't outright or intentionally malicious will be handled on a case-by-case basis(so simple things like memory leaks and infinite loops can be dealt with without treating the author like a villainous hacker)

III. a. simply copying another's work with little to no modification will be treated as theft.
b. failing to credit work you derived from will be handled on a case-by-case basis(usually involving just adding the appropriate attributions to the file, maybe an apology, but action could get more severe if the offense is repeated often)

Does this sound ok? Anything I missed or got wrong? I can try writing up a formal document once these things are finalized.
I think a couple of those can be handled by proper choice of license, but overall, yes.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum