Discussion regarding OpenMW's licence – GPL vs MIT, etc

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
monyarm
Posts: 8
Joined: 14 Jun 2018, 18:52

Discussion regarding OpenMW's licence – GPL vs MIT, etc

Post by monyarm » 10 Sep 2020, 14:32

if this engine is ever going to become the FLOSS RPG game engine it strives to be
Unfortunately that just won't ever be truly possible with OpenMW's current license (GPL).

If someone wants to make their own RPG using OpenMW's engine, they can release it on steam, and google play, no problem there. But due to terms of service, NDAs, and other restrictions, it is not legally possible to release a GPL licensed game on IOS, PS4, XBONE or Switch.

If the engine were lgpl licensed it would still be somewhat challenging, but would be very much possible to release for the above platforms.
The best license would be something like MIT, BSD or Apache, however that's unlikely to happen.

I know there was a discussion some years back about relicensing to LGPL, would that be possible? I know that not all developers are still with us, and not all developers would be willing to relicense, but if the majority were willing (this is a big if), wouldn't it be possible to then rewrite the code from the others?

User avatar
AnyOldName3
Posts: 1939
Joined: 26 Nov 2015, 03:25

Re: The Summer in Review: June-July-August 2020

Post by AnyOldName3 » 10 Sep 2020, 15:22

The LGPL only grants extra freedoms to software that dynamically links with us, and we're not a library, we're an executable, so things don't link with us. It won't really help with anything. Also, we've had enough contributors over the years that contacting them to relicense wouldn't be feasible.
AnyOldName3, Master of Shadows

User avatar
raevol
Posts: 3088
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: The Summer in Review: June-July-August 2020

Post by raevol » 11 Sep 2020, 00:10

monyarm wrote:
10 Sep 2020, 14:32
it is not legally possible to release a GPL licensed game on IOS, PS4, XBONE or Switch
I don't really see a problem here. None of these are platforms we should be supporting.

ezze
Posts: 489
Joined: 21 Nov 2013, 13:20

Re: The Summer in Review: June-July-August 2020

Post by ezze » 11 Sep 2020, 02:50

monyarm wrote:
10 Sep 2020, 14:32
If someone wants to make their own RPG using OpenMW's engine, they can release it on steam, and google play, no problem there. But due to terms of service, NDAs, and other restrictions, it is not legally possible to release a GPL licensed game on IOS, PS4, XBONE or Switch.
We could frame it in some American friendly way, like: "we support only platforms that cares a little bit about your freedom."

User avatar
psi29a
Posts: 4917
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: The Summer in Review: June-July-August 2020

Post by psi29a » 11 Sep 2020, 13:21

monyarm wrote:
10 Sep 2020, 14:32
if this engine is ever going to become the FLOSS RPG game engine it strives to be
Unfortunately that just won't ever be truly possible with OpenMW's current license (GPL).
I do not see how the GPL makes OpenMW any less of a FLOSS RPG game engine. Keep in mind though, it is just an engine, the content and IP for example are decoupled from the engine. So you can still sell your game and license it however you want. You just have to also abide the GPL and provide a mechanism for which an end user has access to the engine.

However the injection of closed binaries (libraries) into OpenMW might be problematic, but there are examples of companies doing this with help of a shim, like Nvidia and the Linux Kernel. This however goes against the spirit of FLOSS.

Also keep in mind that the Android port compiles OpenMW as a library and then wraps it, so yes.. OpenMW can be used as a library.

User avatar
Mantar
Posts: 12
Joined: 17 Jul 2020, 23:32

Re: The Summer in Review: June-July-August 2020

Post by Mantar » 11 Sep 2020, 17:39

raevol wrote:
11 Sep 2020, 00:10
I don't really see a problem here.
I'd say the problem there is with those platforms, not OpenMW's license, and the proper fix is for people to pressure them to change their ludicrous terms that prevent GPLed software from being accepted.

monyarm
Posts: 8
Joined: 14 Jun 2018, 18:52

Re: The Summer in Review: June-July-August 2020

Post by monyarm » 14 Sep 2020, 20:49

psi29a wrote:
11 Sep 2020, 13:21

However the injection of closed binaries (libraries) into OpenMW might be problematic, but there are examples of companies doing this with help of a shim, like Nvidia and the Linux Kernel. This however goes against the spirit of FLOSS.

Also keep in mind that the Android port compiles OpenMW as a library and then wraps it, so yes.. OpenMW can be used as a library.
While using shims is possible for using closed libraries with OpenMW.

The opposite isn't possible, if what you say about the Android port is true, then the android port isn't following the GPL, unless they're also open sourcing under the GPL the rest of their code (the part that wraps around the library).

And even then, such a technique isn't usable if you need to make large changes to the OpenMW source code in order to achieve compatibility, like if you wanted to port to say the Switch or PS4.
Or even if you don't need to make changes, let's say that it compiles without any changes, the problem is that these platforms (Switch/PS4) have customized versions of SDL and other LGPL libraries. Versions which are only available to licensed developers, and due to the NDAs are not compatible with the GPL.

User avatar
psi29a
Posts: 4917
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: The Summer in Review: June-July-August 2020

Post by psi29a » 15 Sep 2020, 15:48

Correct, the Android wrapper is also GPL.
And even then, such a technique isn't usable if you need to make large changes to the OpenMW source code in order to achieve compatibility, like if you wanted to port to say the Switch or PS4.

Or even if you don't need to make changes, let's say that it compiles without any changes, the problem is that these platforms (Switch/PS4) have customized versions of SDL and other LGPL libraries. Versions which are only available to licensed developers, and due to the NDAs are not compatible with the GPL
That sounds a bit like fear mongering though, as NDAs do not mutually exclude GPL software. It depends entirely on what is in the NDA. Having had experience and access to company lawyers in the past, such things are not uncommon and perfectly legal.

Do you happen to have any concrete examples of what would prevent GPL code from running on a Switch?

https://www.nintendo.co.jp/support/oss/
Nintendo seems to be abiding by licenses of the software they use.

Everyone that works on OpenMW is _for_ the commitment to the OSS/FOSS/FLOSS ideals based on the GPLv3 license. Though we all work on it for our own reasons. A license change isn't one of them. If a system is hostile to this, then that's a pity. So unless a technological and/or legal work around is found, then yeah, there will likely be no support for that platform. Though, to be honest, we have only traditionally focused on Windows/Mac/Linux and by offshoot of interest: Android.

Update: I did do a bit of research on SDL and Nintendo Switch and came across this: https://wiki.libsdl.org/Installation#Nintendo_Switch
As for SDL2 on the Nintendo Switch, Ryan (Icculus) ported SDL2 to the Switch and you can just drop your SDL2 game into the Switch, and it "might just work". His own words: "I think they're statically linked, but regardless, you can't abide by Nintendo's NDA and the GPL at the same time, as you can't publish source code that uses their APIs at all." Their NDA doesn't allow exposure to the API... which happens when you publish the source. :roll:

Well... hopefully someone could talk with Ryan to act as a middle-man so that someone else can clean-room implement (reverse-engineer) something that could work.

monyarm
Posts: 8
Joined: 14 Jun 2018, 18:52

Re: The Summer in Review: June-July-August 2020

Post by monyarm » 20 Sep 2020, 01:04

psi29a wrote:
15 Sep 2020, 15:48

Update: I did do a bit of research on SDL and Nintendo Switch and came across this: https://wiki.libsdl.org/Installation#Nintendo_Switch
As for SDL2 on the Nintendo Switch, Ryan (Icculus) ported SDL2 to the Switch and you can just drop your SDL2 game into the Switch, and it "might just work". His own words: "I think they're statically linked, but regardless, you can't abide by Nintendo's NDA and the GPL at the same time, as you can't publish source code that uses their APIs at all." Their NDA doesn't allow exposure to the API... which happens when you publish the source. :roll:

Well... hopefully someone could talk with Ryan to act as a middle-man so that someone else can clean-room implement (reverse-engineer) something that could work.
http://sev-notes.blogspot.com/2009/06/g ... tions.html

Nintendo's NDA isn't compatible with the GPL, as the above article should explain.
Basically the NDA doesn't allow you disclose any of Nintendos corporate secrets or code, or exposure of the API as you put it. And the GPL is a copyleft license.

As for what you said about clean-room implementing, you're basically saying to reverse engineer a reverse engineered engine. Which seems kind of pointless to me. At that point it'd be better for people to make their own engine.

Look I get what you're saying. But I guess it's just a difference in opinion. I'm a fan of licenses like MIT, Apache, BSD, cause of the freedom they offer. I consider GPL to not be a truly free license, due to the fact that it puts restrictions on the use of the GPL-licensed content.

Honestly the point I was trying to get at is that, a GPL licensed engine will never see widespread adoption for actual commercial games (as one of the goals of OpenMW is creating a FLOSS game engine). Due to the restrictions it places. And it's very nature as a copyleft license.

Just look at the dozens of other "FLOSS" engines out there. The only ones that see any real adoption are ones that are either dual licensed with a proprietary license (In which case you have to contact the company that made the engine), or the ones that are released under a truly free license like MIT (Godot).

Chris
Posts: 1583
Joined: 04 Sep 2011, 08:33

Re: The Summer in Review: June-July-August 2020

Post by Chris » 20 Sep 2020, 10:53

monyarm wrote:
20 Sep 2020, 01:04
Look I get what you're saying. But I guess it's just a difference in opinion. I'm a fan of licenses like MIT, Apache, BSD, cause of the freedom they offer. I consider GPL to not be a truly free license, due to the fact that it puts restrictions on the use of the GPL-licensed content.
There is no "truly free" license. Either you're free to further restrict what users can do (MIT, BSD), or users are just as free as you are (GPL, LGPL). You can prefer whichever license you want, but they're two different and incompatible types of freedom at issue, and different people prioritize different freedoms.

Post Reply