Source management and Licensing for Mods

Place to post guides, observations, things related to modding that are not mods themselves.
User avatar
Gandalf
Filter Inserter
Filter Inserter
Posts: 294
Joined: Fri Dec 19, 2014 10:15 pm
Contact:

Re: Source management and Licensing for Mods

Post by Gandalf »

A bit late but I'd still like to reply to this post as I'm sure there are many others with similar questions.
Hellaciouss wrote:For me, I just mod for fun, all this licencing crap to me is confusing and seems dumb (to me). I just like to do random stuff, I don't expect to ever get payed for it. I do it to add things into the game I feel should be in the game, or make balancing adjustments. I then openly share those changes with people who might think it's cool. Why should someone like me care what licence to use or even care about licensing? It seems like a huge headache that I'd rather avoid.
It's a very short headache, you only have to make that decision once. There are a couple of options out there but if you don't particularly care what happens with your code just copy the MIT licence in there and be done with it. It really is that simple.

However if you don't spend those few minutes of your life you are essentially forbidding everybody from doing anything with your mod other than using it for themselves. It has nothing to do with getting payed (In fact expecting to make money off a mod would be one of the few reasons not to include an open licence). If you don't include an open licence it means I am legally forbidden from putting your mod on a USB drive and give it to a friend. Or host it on my local server and automatically send it to people who want to join my game. It severely limits the ways I can use your mod. It's like giving someone a toy and forbidding them to put in new batteries when they run out (which is ironically exactly how Apple marketing works…). And obviously it also completely forbids me from publishing any changes I might make to your mod. All of those limitations exist automatically and can only be resolved if you actively specify an open licence.

This might actually be a reason why the upcoming mod portal will require a licence. Without it there could be legal problems when the mod portal automatically shares mods. (Not sure about this)
Hellaciouss wrote:Secondly, GitHub. This also seems like a huge headache to me. It looks like a bunch of extra stuff I have to do that I'd also like to avoid. I do this for fun, not to be super serious about all the etiquette super serious modders follow. Why should someone like me care about it? Why should I go through all the extra headaches when I can just make changes to the code on my computer and eventually upload the updated mod with a readme of what was changed?
Git, as well as most other version control tools, is quite easy to learn. What scares you in those screenshots of the Github homepage is the fact that git is typically used via command line. Many users, especially on Windows, are not used to command line tools, so they look scary and complicated. They are not, it's just an unfamiliar way of communicating with your computer. Instead of clicking buttons you type words. It's basically like writing code, which you're already doing, except the code gets executed immediately. And even if you still find it too intimidating there are a wide range of easy to use graphical interfaces for git for all platforms.

Learning the basics of git takes less then an hour. After that you can take your time getting to know it better as you see fit. The great thing about git is that once you know how to use it it actually save you a great deal of time. For example, consider all the steps you have to take every time you make an update to your mod with your manual workflow: You have to create a zip of the folder, open up the forums in a browser, find your thread, upload the new zip file, and edit the thread (or create a new one) with the link to the new version. Compared to that with git you have to type two simple lines ("git commit" followed by "git push"). Or click two buttons, if you're using a graphical interface. 99% of the time this will be faster than manually zipping and uploading.

And so far I've only highlighted the reasons why git is easy and fast, the real reasons come into play when your project grows (which is almost never what the creators of big projects were expecting).

Edit: xkcd is always relevant (https://xkcd.com/1597/):
Image
Last edited by Gandalf on Fri Jun 03, 2016 10:54 pm, edited 1 time in total.
OS: Linux Mint 19 x64 | desktop: Awesome 4.2  |  Intel Core i5 8600k  |  16GB DDR4  |  NVidia GTX 1050 Ti (driver version: 410.104)    (2019-03)

silverkitty23
Fast Inserter
Fast Inserter
Posts: 117
Joined: Wed May 11, 2016 6:52 am
Contact:

Re: Source management and Licensing for Mods

Post by silverkitty23 »

My biggest gripe with Git is Github: it seems that either there is no way, or no one seems to have figured out the way, to make it download zips with the right names - it likes to assert its own format for filenames, so when I get a mod from Github, I always have to rename it to the way Factorio likes (usually changing _master to _x.y.z).
I assume, though, if the mod portal is going to be insisting on Github instead of just letting people upload zips, they'll probably take that into account in the 0.13 code somehow.

What I don't understand is how are they going to prevent people from distributing mods the old fashioned way? Like, if I'm developing a mod, I have to put it on Github to fetch it back to my computer everytime I make a change? Or will it still accept random zips in the mods folder so I can edit the mod "in place" for myself? But if I can make my own mods work as random zips in my mods folder, then I can just put a zip I got off the forums into the mods folder, because there's no way to tell the difference.

Choumiko
Smart Inserter
Smart Inserter
Posts: 1352
Joined: Fri Mar 21, 2014 10:51 pm
Contact:

Re: Source management and Licensing for Mods

Post by Choumiko »

silverkitty23 wrote:What I don't understand is how are they going to prevent people from distributing mods the old fashioned way? Like, if I'm developing a mod, I have to put it on Github to fetch it back to my computer everytime I make a change? Or will it still accept random zips in the mods folder so I can edit the mod "in place" for myself? But if I can make my own mods work as random zips in my mods folder, then I can just put a zip I got off the forums into the mods folder, because there's no way to tell the difference.
Why should they even try to prevent it? The portal/browser is only a convenience feature.

About the licensing:

I'm using quite a few Factorio graphics combined/recolored into new ones. All my mods that have a license stated somewhere are MIT. Is this even valid if i use/distribute graphics from Factorio or do i have to choose another license or include a different license in the graphics folder?

bNarFProfCrazy
Fast Inserter
Fast Inserter
Posts: 194
Joined: Sat Apr 23, 2016 7:11 am
Contact:

Re: Source management and Licensing for Mods

Post by bNarFProfCrazy »

TheSAguy wrote:The Mod licence says: "Blab blah is licensed with the CC BY-NC-ND license.

My question is, is it okay if I use the code from this mod, modify it slightly to fit my needs?
IANAL, well you can do almost everything you want on your private computer.
But you will end up illegally using the mod.

Here are some pseudo borders that you could (accidentally) cross when doing this:
1) PRIVATE modifications either via directly editing the mod OR using a new mod to alter that mods content.
Please note, if you have a mod like "expensive crafting" that alters all recipes including one recipe of that mod you already violated the license.
Usually no author or lawyer will cry at this level. IANAL the court will probably won't accept any attempts by lawyers in this direction. (Damage too low)
2) Making the altered mod available to anyone, including your chosen friends, parents, brother or just giving them access to the file, because they use the same computer. Is a worse violation of that license.
In some countries even sending it via email/dropbox/internet to yourself or printing the source is considered "making it available".
Usually no author or lawyer will cry at this level. But if someone does, they might actually get your ass. And can force you to sign a "declaration to cease and desist"(?) and pay for the lawyers effort (up to 1000 $/€ different from country to country).
3) Making it semi-publicly available. For example on some kind of website/TS. This is a really worse violation of the license.
Usually author or lawyer will cry at this level.
And every court will sentence you "harshly". Don't ever do this unless you like paying a lot of money for lawyers and compensation or loose your hand (because of being a thief).

Every three steps are actual violations of the license, so be careful.

IMPORTANT NOTICE:
Using a mod marked with "non-commercial" bans/prohibits donations and your friends' payments for your server where that mod is installed.
Some authors or lawyers will cry at this level (Bigger server => higher probability). And if they do, they will get your ass and these violations will cost you very much. Don't ever do this unless you like paying a lot of money for lawyers and compensation.

I am NOT a lawyer. (If you think my statement is to pessimistic, then) I would recommend you to read the laws of your home country and seeking legal advice. AFAIK there are laws for this in the USA and some countries in the EU including Germany, UK, France.

-----------------------------------------

Back to topic:
I use git for most of my projects as well. Its just a easy to learn mod backup and download platform.
For new developers I definitely recommend it although you should write a simple mod first.
Otherwise you will have to much work / to slow success feelings.

For licensing:
I don't like GPL due to its infectious nature. (All source code of software using/containing this mod must be published)
IMO Apache Software License v2 (ASL) is also a possible choice.
MIT is good, public domain too.
A license is important. If you choose one, make sure your license includes something like this:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Source: https://tldrlegal.com/license/mit-license

PS: I am NOT a lawyer. This is no legal advice.

bNarFProfCrazy
Fast Inserter
Fast Inserter
Posts: 194
Joined: Sat Apr 23, 2016 7:11 am
Contact:

Re: Source management and Licensing for Mods

Post by bNarFProfCrazy »

Choumiko wrote: About the licensing:

I'm using quite a few Factorio graphics combined/recolored into new ones. All my mods that have a license stated somewhere are MIT. Is this even valid if i use/distribute graphics from Factorio or do i have to choose another license or include a different license in the graphics folder?
Do you ship altered graphics from base?
If yes then name those files in the licence file in the root folder and you probalby move them to their own filter with a separate Licence files quoting the ownership. (Ask for permission)

Do you just use graphics from base for your buildings?
If yes, then can quote that this mod uses content where the MIT license does not apply.
But IMO its obvious that its not released under that licese since the files are shipped separetely.

MIT is a very permissive license so you can use it.

IANAL. This is no legal advice.

User avatar
Blu3wolf
Fast Inserter
Fast Inserter
Posts: 202
Joined: Thu Apr 09, 2015 5:20 am
Contact:

Re: Source management and Licensing for Mods

Post by Blu3wolf »

Using two mods at the same time is never a violation of a CC license. You are not editing the mod by running a second mod, you are altering the values used by factorio at runtime - something factorio is designed for, and something both mods do.

Modifying someone elses ND work on your own computer for your own personal use is not prohibited by the CC ND licenses. Distributing that work specifically is prohibited. Making a mod which is dependent on an ND work but does not actually distribute any of it is not a derivative work and thus not a problem to distribute.

A mod which modifies the effects of another mod when its loaded is not a derivative work of that mod either, so long as it does not contain parts of that mod.

As far as NC - perhaps there are some countries like that, but not Australia. You can have money changing hands in a non commercial enterprise. If your server is hosting legal works which are NC, nothing stops you puttings ads on the download page for revenue, or accepting donations for the server, so long as the server is operated as a non commercial entity. The easiest way to do that is to register it as a not for profit organisation.

Post Reply

Return to “Modding discussion”