Licensing of mods

As I’m planning on getting a mod loader done this month for Thrive, it’s important to discuss licenses related to mods.

There have been a few mods in the past that haven’t really been explicitly licensed under any license. This means that they technically broke the licensing terms of Thrive, as the mod is a derivative work of the GPL licensed program. This situation will now get even more complex with the Steam release as that release is not GPL licensed, meaning that if there are GPL licensed mods out there, they would be a license violation to use with the Steam version of the game.

I think it isn’t good to ask all mod authors to explicitly license their mods under two licences: one proprietary one that allows loading in the Steam version, and GPL for the GPL version of Thrive. Instead I think we’ll need a

on Thrive. I think we shouldn’t use that “classpath” exception as is as I think it’s a bit too broad. Instead i think we should word the exception something like:

Linking Thrive libraries statically or dynamically with other modules,
or loading extra modules into Thrive, is making a combined work based
on the Thrive libraries. Thus, the terms and conditions of the GNU
General Public License cover the whole combination.

As a special exception, the copyright holders of Thrive give you
permission to link the Thrive libraries with independent modules
meant to be loaded dynamically into a running Thrive process to
modify or extend the program (create mods) regardless of the
license terms of these independent modules, and to copy and
distribute these independent modules under terms of your choice,
provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An
independent module is a module which is not derived from or based
on Thrive source code, except if only interface method signatures
are copied for the purpose of creating new implementations of
those interfaces.

If you modify Thrive, you may extend this exception to your version of
Thrive, but you are not obliged to do so. If you do not wish to do so,
delete this exception statement from your version.

I specifically took out the permission to distribute the combined work under any license the user wants, so if the user wants to bundle Thrive with their mods, the Thrive part will still be under the GPL. And another restriction I added is that the exception only applies to mods that dynamically link to the Thrive code and are loaded dynamically to a running Thrive process.

I don’t think we could recommend people to make MIT licensed mods, which would allow linking the mods into the GPL and Steam versions, but to make the mods people need to use the GPL licensed source code that is publicly available, so I think this is a bit of a gray area, I think? Or would this actually work as-is if mods are liberally licensed (for example MIT) without distributing the game with them? Then the separate work as the mod would be MIT licensed and it could be on the end users computer be loaded into the game, at which point the combined work is created, but no license is violated.

A few more links I found about this:

http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins
example exception: https://raw.githubusercontent.com/qcad/qcad/master/gpl-3.0-exceptions.txt

This seems to be a very comprehensive overview in the WordPress ecosystem about plugin licensing:

2 Likes

As no one replied, I’ll go with the wording I had, but I’ll change that one a bit clunky part to say extend the program (create game modifications, also known as mods).