FunkinCrew / Funkin

A rhythm game made with HaxeFlixel
https://www.newgrounds.com/portal/view/770371
Other
2.92k stars 2.27k forks source link

Bug Report: Licensing conflict #1106

Closed namazso closed 2 years ago

namazso commented 3 years ago

Here the README lists releasing source code of derivative works required: https://github.com/ninjamuffin99/Funkin/commit/2918ad1aefafdd1450dd4e86f7a7795dfb8189fd

However this conflicts with the Apache 2 license here: https://github.com/ninjamuffin99/Funkin/blob/master/LICENSE

Are people allowed to pick either? In this case it should explicitly be addressed in readme / license file

bonkmaykrQ commented 3 years ago

I suppose they could relicense it under GPL 3, that's what I'd recommend actually, but I don't think this rule can be enforced on copies that were originally given out under an Apache license. It's a tricky problem.

HTV04 commented 3 years ago

@bonkmaykrQ I explained it more on #1105, but yeah, commits before a license change would still be under the Apache license, and the new rule added to the README can't apply until the license is properly changed.

ninjamuffin99 commented 3 years ago

how's the new license look fellas

namazso commented 3 years ago

@ninjamuffin99 this doesn't grant any rights, so in effect just bans mods? I'd rather recommend picking something like GPLv3 for code and CC-NC-BY-SA for assets

ninjamuffin99 commented 3 years ago

@ninjamuffin99 this doesn't grant any rights, so in effect just bans mods?

mods arent banned nope

HTV04 commented 3 years ago

@ninjamuffin99 this doesn't grant any rights, so in effect just bans mods?

mods arent banned nope

Please just use a proper license like GPL v3 lmao

namazso commented 3 years ago

then you need to grant people rights to do things with stuff. By default no one has any rights whatsoever

ninjamuffin99 commented 3 years ago

@ninjamuffin99 this doesn't grant any rights, so in effect just bans mods?

mods arent banned nope

Please just use a proper license like GPL v3 lmao

will do something like that eventually, for now just trying to be a funny little prankster and ease the tension a little bit. I sorta added the thing to the readme offhandedly not thinking too much of it, and honestly not thinking people would take it seriously since its kinda in obnoxious all caps. I think there's a lot of weird pusharound regarding the legalities and all that when there doesn't need to be.

Right now it feels like people only take the licensing seriously when they're in the mood. There are a lot of instances where mods don't even comply with the Apache license that would've been applied at the time.

In section 4 of the Apache license

  1. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: a. You must give any other recipients of the Work or Derivative Works a copy of this License; and b. You must cause any modified files to carry prominent notices stating that You changed the files; and

But download any mod, you will very likely NOT see a copy of the apache license, or prominent notices on any modified file stating what was changed.

Let's look at the files for FNF Beach Brother explorer_YuWBZDAc5z

No copy of the apache license anywhere, not in any of those folders and not in-game.

This isn't to say "oh hey, everyone comply with every single rule in the licenses from now on please!!!", and this isn't me diverting attention to "hey guys, none of the mods comply with the license anyways", this is me just asking everyone to ease up a bit, and know that we have given everyone a LOT of permissiveness. We let people pretty much do whatever they want with the code, music, art, etc. and when we try to pull the reigns back (not even for personal gain) people start quoting 1984 and shiiiit!!!! It's not the end of the world

A lot of people expect a lot out of me and for us to know every single legality of everything, I'm just a dipshit who wants people to not lock their code away since I think it goes against the spirit of what Funkin is. Simple as that. Not an excuse for the license stuff being a fuss tho, I'm just trying to give my perspective

HTV04 commented 3 years ago

@ninjamuffin99 I see. I would recommend adding a statement to the README's build instructions that reminds mod makers that the Apache License (or whatever license you're planning to use now) must be included with any derivative works.

However, the main difference between mod makers not including the Apache License and the README rule though is that the former is the fault of mod makers violating the Apache License, while the latter conflicted with the Apache License itself. Some well-known mods are not open-source, so the announcement definitely came as a surprise. Since the rule conflicted with the Apache License, it also generated a lot of confusion on whether this rule really meant anything, and what it meant for the game's source code and mods going forward.

Your post definitely cleared some things up, which is great. I feel like a good way to fix the issue with mods being closed-source is to relicense the game under the GPL v3 or a similar license and license the art and audio under a license like CC-NC-BY-SA, as @namazso suggested. It's been pretty unclear whether it's truly okay to use the assets of the game freely for non-commericial purposes, especially since Wikipedia lists the game under its "Open-source games with non-free data" list as having proprietary assets.

Also, if you're not planning to change the license yet, I would recommend changing it back to Apache in the meantime because the latest commit you made renders the source code unusable unless mod makers use the previous commit.

ninjamuffin99 commented 3 years ago

GPL is very unlikely for CODE, since it could potentially interfere with other SECRET plans from what I have been told by someone much smarter than me. Remind me in a year to clarify this point lol!

As for assets, that will have to be consulted with the rest of the team, as I can't just willy nilly toss a license on things I havent personally made. That situation is complicated and we want to make sure we don't get screwed over by choosing the wrong thing. Just something we havent put time into, because so far we havent needed to (people make mods freely and use OG game's music/art assets in their mods and whatnot and its all cool and chill). People know the boundaries, they usually don't take the art and make shitty bootleg merch of it and take advantage of us, and those that do that everyone looks down upon. It's sorta like that, but having an actual license and legal stuff and whatnot complicates things when I want to just have one small change.

I do know about the mods that aren't open source, and I'm not exaggerating when I say those genuinely sadden me. I feel like I have worked very hard to build up the open source spirit, made it apart of the modding community, about how the community is thriving so much BECAUSE the game is open source, as well as the game's development story itself, about how one of the most popular games right now is both culturally successful, and financially successful (if u count Kickstarter). So it is painful to feel like that spirit is being thrown away at least a little bit when people take my code and the work I've put into it, they work off it, and then they keep it all locked away. Open source means a LOT to me. I know how much it has helped myself, MANY people in FNF community, and just the general programming community overall. I'm not trying to make some pity story tho, like i said earlier im jus tryin to share my perspective on it all.

FNF is very permissive and open with pretty much everything. I simply just wanted people to pay it forward and open source their work

HTV04 commented 3 years ago

GPL is very unlikely for CODE, since it could potentially interfere with other SECRET plans from what I have been told by someone much smarter than me. Remind me in a year to clarify this point lol!

You do realize that as the rightholder of FNF's code you don't have to follow the license and open-source all your code, right? lol

Anyways, I totally understand, I was just putting some ideas out there. And I totally agree with your statement about closed-source FNF mods and what open-sourcing them means to you. There is absolutely no problem with making it so that mod makers should open source their code, but there's still legal stuff that comes into play with the previous commits, since they were licensed under Apache. I would recommend using copyleft licenses in your works if you want to ensure that others can't make closed source works out of your code.

ninjamuffin99 commented 3 years ago

GPL is very unlikely for CODE, since it could potentially interfere with other SECRET plans from what I have been told by someone much smarter than me. Remind me in a year to clarify this point lol!

You do realize that as the rightholder of FNF's code you don't have to follow the license and open-source all your code, right? lol

It's a little more complicated than that.

I'll just elaborate, if we wanted POTENTIAL things for console, say Nintendo or whatev, it could potentially cause a fuss just the FACT of being GPL, even if the top secret code of all the SDKs and code or whatever WERENT GPL.

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

THIS IS JUST WHAT A TRUSTED PERSON TOLD ME ABOUT HOW IT WORKS I AM NOT A NINTENDO OR CONSOLE DEV THIS ISNT ANYTHING OFFICIAL IN THEIR TERMS OF DEVELOPMENT OR WHATEV BTW!!!!

steviegt6 commented 3 years ago

Right now it feels like people only take the licensing seriously when they're in the mood. There are a lot of instances where mods don't even comply with the Apache license that would've been applied at the time.

In section 4 of the Apache license

  1. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: a. You must give any other recipients of the Work or Derivative Works a copy of this License; and b. You must cause any modified files to carry prominent notices stating that You changed the files; and

If I had to take a guess, I'd say it's because most people just don't bother to read the license, or don't understand how licensing works. Many FNF modders are children or people that are just following tutorials that skim over specific legalities, and licensing is enough of a mess as is. Streamlining the license would be preferable, but I don't believe it would fix issues like this.

nikku4211 commented 3 years ago

I'll just elaborate, if we wanted POTENTIAL things for console, say Nintendo or whatev, it could potentially cause a fuss just the FACT of being GPL, even if the top secret code of all the SDKs and code or whatever WERENT GPL.

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

Yeah, I can understand.

Hey NinjaMuffin, what do you think about homebrew games? They're basically games not licenced by the console manufacturer, but can be completely original and use completely original code/assets. There are homebrew libraries for some consoles like the Switch(and older systems like the Wii and PS Vita if you're interested).

steviegt6 commented 3 years ago

I'll just elaborate, if we wanted POTENTIAL things for console, say Nintendo or whatev, it could potentially cause a fuss just the FACT of being GPL, even if the top secret code of all the SDKs and code or whatever WERENT GPL. GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

Yeah, I can understand.

Hey NinjaMuffin, what do you think about homebrew games? They're basically games not licenced by the console manufacturer, but can be completely original and use completely original code/assets. There are homebrew libraries for some consoles like the Switch(and older systems like the Wii and PS Vita if you're interested).

Homebrewed stuff is fun and all, but I don't see much of a reason to resort to it in this case.

RandomErrorMessage commented 3 years ago

GPL is very unlikely for CODE, since it could potentially interfere with other SECRET plans from what I have been told by someone much smarter than me. Remind me in a year to clarify this point lol!

You do realize that as the rightholder of FNF's code you don't have to follow the license and open-source all your code, right? lol

It's a little more complicated than that.

I'll just elaborate, if we wanted POTENTIAL things for console, say Nintendo or whatev, it could potentially cause a fuss just the FACT of being GPL, even if the top secret code of all the SDKs and code or whatever WERENT GPL.

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

THIS IS JUST WHAT A TRUSTED PERSON TOLD ME ABOUT HOW IT WORKS I AM NOT A NINTENDO OR CONSOLE DEV THIS ISNT ANYTHING OFFICIAL IN THEIR TERMS OF DEVELOPMENT OR WHATEV BTW!!!!

I get you're not taking this all that seriously but you've created a really weird legal situation. Your new license isn't valid, it's not even really a license. You've effectively made this repo All Rights Reserved. You've also violated the licensing agreement you've made with other contributors by removing the Apache license notice. I encourage you to just revert back to avoid creating further legal confusion. You've already voiced concern about Nintendo lawyers taking issue with copyleft and this sort of behavior is also a red flag for corporate lawyers. You absolutely should not accept any new pull requests until this situation is resolved, in fact you should make people re-submit them after it's resolved in order to ensure you have proper licensing rights to those contributions.

If I were you I'd just accept that the horse is already out of the barn and let the Apache license stand. As you said you don't want to use a copyleft license because you want to leave open the option to put Funkin on proprietary consoles.

A potential option is to make people agree to a Change License Agreement (CLA) so you could have a copyleft repository while also maintaining the rights to relicense contributions for use on proprietary platforms. Though, some contributors may take issue with this and it's a lot of legal logistics.

namazso commented 3 years ago

About the Nintendo & GPL thing:

Edit: Also, what you basically want to do is denying others from linking FNF with propreitary blobs, but allow yourself to do that, and preferably extend this right to others' code too (or at least PRs). I don't really agree with this on a moral level, but ultimately I think this still results in more freedom than the current model of closed source mods.

Oh, and any license modifications you make now will still leave the older versions as Apache 2 since those rights are irrevocable. If you wish to improve the overall state of modding & open source I'd recommend talking this over with GameBanana staff so that they can simply enforce a license / class of licenses for submitted mods (possibly whatever you'll end up with here, like a GPLv3 with exception for you), encouraging mod makers to place their mods under an open source & more permissive license.

notkaif commented 3 years ago

To be honest we can just get a license genius to deal with this. Ask them this: "Hey, there is this game that the dev(s) need help making a license for. What license do they use? They want the game to be open source (leave nothing not open source), able to be modified and portable to consoles like Nintendo Switch. Could you help them with a license? Thanks." Or we could basically try to figure this out with different points (current discussion). Tell me if my argument is correct or not.

AyeTSG commented 3 years ago

No copy of the apache license anywhere, not in any of those folders and not in-game.

This is because by default, your project.xml does not copy the license file to any build exports

steviegt6 commented 3 years ago

No copy of the apache license anywhere, not in any of those folders and not in-game.

This is because by default, your project.xml does not copy the license file to any build exports

This goes to show how neglected the license is, more than anything.

CyndaquilDAC commented 3 years ago

please just shut up about licensing. licensing is what makes me rethink pursuing game development as a career path. I want to make games, not spend hours reading over legal papers n shit to make sure people can play and contribute to my game's repository. this is why licenses like the "do whatever the fuck you want" license (real thing, look it up) exist

waspennator commented 3 years ago

please just shut up about licensing. licensing is what makes me rethink pursuing game development as a career path. I want to make games, not spend hours reading over legal papers n shit to make sure people can play and contribute to my game's repository. this is why licenses like the "do whatever the fuck you want" license (real thing, look it up) exist

As complicated as the legal stuff can get, discussion needs to happen about the license stuff so this game doesn't get slapped down later down the line, now that this game is becoming a paid product and has 2 million dollars backed onto it.

bonkmaykrQ commented 3 years ago

please just shut up about licensing. licensing is what makes me rethink pursuing game development as a career path. I want to make games, not spend hours reading over legal papers n shit to make sure people can play and contribute to my game's repository. this is why licenses like the "do whatever the fuck you want" license (real thing, look it up) exist

Okay, so you want others to take your work and make it proprietary?

Firstly, there are other licenses out there made specifically for open or closed source projects, that are easily summed up which you don't even have to read through if you don't want to. Well documented licenses that aren't hard to understand. Things only get complicated when you're the one writing a license for yourself, which in most cases isn't even necessary if you just go with an existing one.

Even writing your own license, it's still not as tiring or stupid as you think it is, or if it is, then it's unfortunately just how the adult world works.

Software licenses need to exist and they exist for a good reason, I find your take on this situation to be rather naive.

bonkmaykrQ commented 3 years ago

To be honest we can just get a license genius to deal with this. Ask them this: "Hey, there is this game that the dev(s) need help making a license for. What license do they use? They want the game to be open source (leave nothing not open source), able to be modified and portable to consoles like Nintendo Switch. Could you help them with a license? Thanks." Or we could basically try to figure this out with different points (current discussion). Tell me if my argument is correct or not.

Well, the developers should do that themselves, but if I had to provide my input, the GNU GPL 3 sounds perfect for this.

bonkmaykrQ commented 3 years ago

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

I don't understand why Nintendo would want FNF to be proprietary. It sounds like bullshit, but knowing how Nintendo is with console homebrew, their SDK secrets, and copyright, I wouldn't be entirely surprised.

I suppose you could just make the switch version proprietary and make the other ports FOSS, it's an unfortunate compromise but one that might be needed for a switch port.

HTV04 commented 3 years ago

I suppose you could just make the switch version proprietary and make the other ports FOSS, it's an unfortunate compromise but one that might be needed for a switch port.

@bonkmaykrQ I don't think the Switch port code would ever be open source, mostly because it would share a lot of code with the base game code and couldn't be compiled without Nintendo's proprietary SDK.

HTV04 commented 3 years ago

please just shut up about licensing. licensing is what makes me rethink pursuing game development as a career path. I want to make games, not spend hours reading over legal papers n shit to make sure people can play and contribute to my game's repository. this is why licenses like the "do whatever the fuck you want" license (real thing, look it up) exist

@CyndaquilDAC Wow, what an ignorant take on this. There's a reason licenses exist.

The WTFPL isn't just a license that allows anyone to do whatever they want with your code, it's also harmful to developers because of how lax it is. For reference:

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT THE FUCK YOU WANT TO.

It can hold developers liable of their code should there be any potential flaws in it, because the license allows anyone to "do whatever the fuck they want to."

This is why licenses like MIT, Apache, and GPL exist. They enforce some important ground rules while allowing freedom to those who want to use code a developer makes available.

CyndaquilDAC commented 3 years ago

please just shut up about licensing. licensing is what makes me rethink pursuing game development as a career path. I want to make games, not spend hours reading over legal papers n shit to make sure people can play and contribute to my game's repository. this is why licenses like the "do whatever the fuck you want" license (real thing, look it up) exist

@CyndaquilDAC Wow, what an ignorant take on this. There's a reason licenses exist.

The WTFPL isn't just a license that allows anyone to whatever they want with your code, it's also harmful to developers because of how lax it is. For reference:

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT THE FUCK YOU WANT TO.

It can hold developers liable of their code should there be any potential flaws in it, because the license allows anyone to "do whatever the fuck they want to."

This is why licenses like MIT, Apache, and GPL exist. They enforce some important ground rules while allowing freedom to those who want to use code a developer makes available.

I don't give a shit if there's a reason they exist, i fucking hate them

CyndaquilDAC commented 3 years ago

im done with this shit fuck licensing

steviegt6 commented 3 years ago

Damn bro, literally crying. 100% feel for 'ya.

steviegt6 commented 3 years ago

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

I don't understand why Nintendo would want FNF to be proprietary. It sounds like bullshit, but knowing how Nintendo is with console homebrew, their SDK secrets, and copyright, I wouldn't be entirely surprised.

I suppose you could just make the switch version proprietary and make the other ports FOSS, it's an unfortunate compromise but one that might be needed for a switch port.

If this is what it comes down to then that works fine, honestly. I don't see any real drawbacks from this solution that would impact anyone in the larger scope. There's never gonna be a perfect solution, but there are certainly workable ones.

bonkmaykrQ commented 3 years ago

I don't give a shit if there's a reason they exist, i fucking hate them

You gotta be more civil (and understanding) than that, @CyndaquilDAC. =w=;

HTV04 commented 3 years ago

im done with this shit fuck licensing

@CyndaquilDAC It's not hard to understand licenses. The reason they're so wordy is that they have to be for legal purposes. That's just how the law works.

You don't have to read each license entirely in order to understand what it does. To be frank, you're not really supposed to, this is all for lawyers. https://choosealicense.com/ is a good example of how licenses can easily be summed up.

The three licenses I mentioned in my post, MIT, Apache, and GPL v3, are the most common licenses for open-source code right now.

GhostSonic21 commented 3 years ago

GPL is a copyleft license, and from what I've been told, Nintendo will not want to go within 100 miles of a GPL (or otherwise coopylefted) game (at least this is what one of my game dev pal tells me). Say everything is all in order, but they might not even look in Funkin's direction if Nintendo's lawyers see 'Friday Night Funkin is GPL' and they will freak out and not trust that we did our due diligence.

I don't understand why Nintendo would want FNF to be proprietary. It sounds like bullshit, but knowing how Nintendo is with console homebrew, their SDK secrets, and copyright, I wouldn't be entirely surprised.

I suppose you could just make the switch version proprietary and make the other ports FOSS, it's an unfortunate compromise but one that might be needed for a switch port.

It's not gonna be Nintendo in particular, even Sony or Microsoft aren't going to agree to having their SDK be released under the GPL, which the GPL would require.

In theory, it should be fine to just release any console versions without open sourcing it as long as any contributions were permissively licensed or given under a CLA, but I guess the fear is that even having your game associated with the acronym "GPL" will freak out Nintendo/Sony/Microsoft lawyers. No idea how true that is, DOOM gets away with licensed console ports all the time despite ID having released the engine under the GPL decades ago, but I guess they have big corporations backing them now.

ActualMandM commented 3 years ago

No copy of the apache license anywhere, not in any of those folders and not in-game.

This is because by default, your project.xml does not copy the license file to any build exports

Including the source code is also pretty easy and barely takes up any space compared to the rest of the game's data.

aflacc commented 3 years ago

ninjamuffins speech

Thanks ninja I understand the whole situation now.

aflacc commented 3 years ago

letting my community know about this too

ghost commented 3 years ago

Would a MPLv2 license be a option?

waspennator commented 3 years ago

To be 100% perfectly honest, I think it might be better to revert the license back to how it was until someone can properly figure out how to get this license stuff changed and settled in a way that allows for mods to be open source.

Mainly so we don't get someone trying to take advantage of the placeholder license Ninja updated it too. Especially since this project now has a 2 million dollar target over it's head.

namazso commented 3 years ago

@waspennator the new license really doesn't matter until they make actual changes (like pushing week 7), mods can just fork off from 4 commits before, before the new license was applied. Also gamebanana started enforcing having to share source regardless license, so I guess the original intention was mostly achieved

waspennator commented 3 years ago

@waspennator the new license really doesn't matter until they make actual changes (like pushing week 7), mods can just fork off from 4 commits before, before the new license was applied. Also gamebanana started enforcing having to share source regardless license, so I guess the original intention was mostly achieved

True, i'm just mostly saying since i'm starting to see more people talking about the license change update Ninja made here on github.

flagrama commented 3 years ago

You should consult with a lawyer. Changing a license on code that anybody but you has contributed too is a lot more complicated legally than it seems.

Pharap commented 3 years ago

A friend of mine who is interested in developing a mod has brought this issue to my attention, so I thought I'd weigh in on the matter since I have a bit of experience with licencing.


Disclaimers

Firstly, I am not a lawyer, but I have been programming for a long time and I've done quite a bit of research into licencing over the years. The points I am going to make here are based upon that research. What I'm about to say supports some of the points that some other people (e.g. @HTV04, @namazso, @bonkmaykrQ) have already made.

Secondly, I've never actually played Friday Night Funkin. I come here having never played the game and knowing very little about it. I'm here partly because of my friend's interest and partly because I like helping other game/software developers.

Thirdly, this is going to be quite a long comment, for which I apologise, but I feel I'm making a lot of important points that should help you (the developers) make progress towards a decision. I will make some sections collapsable to make this easier to digest. (I've also bolded the most important points in case you're pressed for time.)

The Reality of Not Having A Licence

The first thing the developers ought to do is to have a read of choosealicense's No Permission document, which explains precisely why licences are needed and what happens if you don't have one.

The bottom line is that if you don't explicitly grant people rights via a licence then technically the authors have full copyright and nobody has legal permission to even redistribute the game, let alone modify it.

You can say "that sucks" or "but we'd never sue anyone" as much as you like, but that won't change the reality of what the legality of the situation is.

Open Source and Games Consoles (Dual Licencing)

Using an open source licence will not conflict with any plans to port the game to other less open platforms like the Switch or XBOX because you, the authors, still hold the copyright for the software, which means that you (but nobody else) can release different versions of the software under different licences.

This is called multi-licencing, or typically 'dual-licencing' when there are only two licences. It's not a new thing, many open source software vendors offer a 'commercial' version for business users who want to be exempt from any copyleft clauses (which would otherwise force them to share the source code of their modified versions of the code).

This means that a modified version that runs on (for example) the Switch can be released for the Switch and that version would technically be closed source, thus it would not conflict with any legal constraints arising from the use of the console's API. The existance of this alternate version which has never been released under an open source licence would have no bearing on the licence under which the PC version is released.

This would almost certainly mean that you'd have to maintain a separate repository for the closed source version, but in the grand scheme of things the inconvenience of having two different forks is probably worth it for the sake of having a console audience.

Where this could get complicated is when you factor in other people contributing via pull requests because it raises the question of who has the copyright for those contributions and whether you can include those contributions in the closed source version, but as far as I'm aware that's never been decided in any court of law, and it's unlikely to become a practical issue. If you wanted to err on the side of caution then you'd forbid incorporating 3rd party commits from the open source version into the closed source version.

What About Nintendo? I've heard many stories about Nintendo being particularly paranoid and touchy about what games they'll allow on their consoles. I have no personal experience with Nintendo so I have no way of verifying that. (All I know about Nintendo's submission system is that they supposedly have a requirement that you must have already successfully published at least one game on another platform, which I presume they take as assurance that you're capable of delivering what you promise.) It's entirely possible that Nintendo will not touch a GPL game with a barge pole, though I'd be surprised if they turned you down knowing that you're willing to dual-licence the game. If anything is likely to be an issue, I would suspect the fact you've already released the game for free elsewhere is likely to be a bigger issue. (If they're really paranoid, the fact the game is widely modded might put them off too.) If you _really_ think copyleft or the GPL specifically is going to cause an issue with Nintendo such that they won't even open a dialogue in which you discuss dual licencing, then don't use the GPL, but likewise don't get rid of your existing licence. Frankly if the reason Nintendo (allegedly) have an issue with the GPL is because it's copyleft, then using another copyleft licence isn't going to make your situation any better, so you'd best stick with the non-copyleft open source licence that you've already got (or similar). Nintendo are, however, only one vendor. I suspect other vendors would have less issue, and once one vendor has accepted you, other vendors are more likely to do the same because they will realise that you have created a closed source version and they won't be able to ignore the profits the game is making on other consoles/devices. (I'll also point out that Nintendo uses open source software in some of their games, and some of that software has been published under the LGPL, that much [I can confirm](https://www.nintendo.co.jp/support/oss/). So at the very least they're not 100% opposed to open source software.) Ultimately the only way you can know for definite what Nintendo will and won't accept is to start a dialogue with them. (Culturally speaking, that should be easier with NoE or NoA than NoJ.)
What About Steam? I can confirm that Steam has definitely accepted open source games before because I own a copy of one such game - [Battle for Wesnoth](https://store.steampowered.com/app/599390/Battle_for_Wesnoth/). So if you submitted this game to steam, that aspect isn't likely to be a problem.
Which Licence to Use In regards to actually choosing a licence, your choice boils down to whether you want to strongly encourage open sourcing mods, but still make it optional, or whether you want to legally enforce that derivatives must be open source by way of a licence. If you want to go down the permissive route of encouraging open source but not requiring it then you'd either stick to Apache 2.0 or use a simpler licence like MIT or BSD 3-clause (which don't even require a "this code is modified" notice). If you want to go down the enforced open source route then the GPL is probably the most well known example of a 'copyleft' licence. It's ridiculously long and wordy though, so you'll probably want to provide a simplified version in your README. Having read the earlier comments, I strongly suspect the latter route is what the authors are hoping to take the code down, but I mention both options for the sake of completeness.

Responses to Particular Points

No copy of the apache license anywhere, not in any of those folders and not in-game.

Firstly, that means they're technically breaching the licence terms, which means they've technically violated their permission to release the mod and you'd legally be allowed to demand they rectify that or face legal action. I'm not saying that's what you ought to do, I'm saying that's the truth of the situation.

(Though I will say a polite "could you please remember to include the licence" shouldn't do any harm. We are, I hope, civilised human beings after all.)

Secondly, the best way to prevent this is to:

The onus of enforcing the licence is on you, the author, but people who actually care about open source should comply with the rules anyway. The more people become aware of licencing and its importance, the less issues there will be and the less time people will have to spend worrying about licencing.

when we try to pull the reigns back

The problem with licencing is that pulling the reigns back in is difficult, if not impossible.

When creating software, it's always best from a legal standpoint to remove restrictions gradually, because once you've given a right to your users, you can't take it back.

people start quoting 1984 and shiiiit

Introducing an extra requirement on modders probably upset a few people, but frankly the choice is between keeping people happy and allowing closed source mods to be made or requiring all mods to be open source and upsetting people who don't want their mods to be open source.

Only you (the developers) can make that choice, but you have to make it one way or the other. Not having a licence means that technically people aren't allowed to make mods of any kind.


Hopefully you have found this useful.

If you have any questions, or would like me to clarify anything, or provide references to back up some of my claims, feel free to ask.

jbmagination commented 3 years ago

i would say this is drama for the funny but in reality this is an actual legal issue.

a few years ago, someone made an open-source PDF library with a very open license (i forget which library). later, once it got popular, they changed the license to be more restrictive. developers stopped using newer versions of the library. so, saying "once you've given a right to your users, you can't take it back" is 100% true.

while you can definitely try to make changes (and adding LICENSE to project.xml is a good idea), i think that until week 7 source can be released, this is already busted

open-source means a lot to me as well but this can't stand as-is-- either a CLA, or dual-licensing, or something because unlike big corporations, the only thing you have backing you are the numbers

if you go down the CLA path, for reference here's Google's CLA, which says that Google has permission to use contributions for their work in any way they like-- which means that console versions can be considered "proprietary" while also positively contributing to open-source (kind of like Google Chrome's relationship with Chromium)

actuallyasmartname commented 3 years ago

I say that we stay with Apache for now until an actual solution is considered, (as @waspennator has said). Many mod makers might have difficulty porting their mods to GH, or GitLab, either that they have not used it before or don't want to open-source code. The LICENSE file should be put with the files of the mods when being compiled (in my opinion)

Regarding the Nintendo Switch port stuff, it should be a closed source project, as Nintendo isn't the company where they accept open-source games requested on their platforms.

aflacc commented 3 years ago

To be 100% perfectly honest, I think it might be better to revert the license back to how it was until someone can properly figure out how to get this license stuff changed and settled in a way that allows for mods to be open source.

Mainly so we don't get someone trying to take advantage of the placeholder license Ninja updated it too. Especially since this project now has a 2 million dollar target over it's head.

i think the new license is very funny

nickplj12 commented 3 years ago

To be 100% perfectly honest, I think it might be better to revert the license back to how it was until someone can properly figure out how to get this license stuff changed and settled in a way that allows for mods to be open source.

Mainly so we don't get someone trying to take advantage of the placeholder license Ninja updated it too. Especially since this project now has a 2 million dollar target over it's head.

i think the new license is very funny

yeah but not a very good one

jbmagination commented 3 years ago

i think the new license is very funny

ah yes because the law understands humor very well

jbmagination commented 3 years ago

a few years ago, someone made an open-source PDF library with a very open license (i forget which library).

i think i found the library, it's called iText!

bonkmaykrQ commented 3 years ago

To be 100% perfectly honest, I think it might be better to revert the license back to how it was until someone can properly figure out how to get this license stuff changed and settled in a way that allows for mods to be open source.

Mainly so we don't get someone trying to take advantage of the placeholder license Ninja updated it too. Especially since this project now has a 2 million dollar target over it's head.

This