Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.

Switch to OSL-3.0 license #77

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

Nolij
Copy link

@Nolij Nolij commented Sep 12, 2022

This mod is licensed under GPL-3.0. While this is usually a good thing, in the case of a Minecraft mod it actually restricts the freedom of users due to the linking restrictions (this is why the Quilt template mod default README states that it is incompatible).

There are 3 solutions to this:

  1. Switch to LGPL-3.0. This license is compatible with Minecraft due to the linking restrictions being eased.
  2. Switch to OSL-3.0. This license is similar to LGPL-3.0, but it also protects network use, so it acts like a LAGPL (I recommend this option).
  3. Switch to AFL-3.0, Apache-2.0, or some other "permissive" license (I strongly recommend one of these two though if a "permissive" license is chosen, as these provide more freedom to users than Expat licenses such as MIT or Unlicense by way of providing patent protections). I don't recommend this option, and given this mod is licensed GPL I don't anticipate it will be taken, but I'm anticipating the inevitable "yOu DiDn'T iNcLuDe A pErMiSsIvE oPtIoN" response.

The changes in this PR would use option 2, as it is my preference. I have detailed the other options though so you can understand all the options available. Links have been provided to OSL-3.0 and AFL-3.0 as they are not very well known.

@Nolij
Copy link
Author

Nolij commented Sep 12, 2022

As for "wouldn't re-licensing violate the GPL?": GPL is a license. The contributors of this project still own the copyright. They cannot take back the permissions they already gave under GPL-3.0, but they can choose to distribute it under a different license if they so choose. The only requirement is that all contributors to this project must approve this change, or their contributions must be removed/replaced.

@DarkKronicle
Copy link
Owner

DarkKronicle commented Sep 12, 2022

Ok, so all contributors need to approve this? I've been meaning to update the license but don't know if each contributor will respond. I also typically choose MPL-v2 for my other projects. Would there be a main reason OSL-3 would fit better?

@Nolij
Copy link
Author

Nolij commented Sep 12, 2022

Ok, so all contributors need to approve this? I've been meaning to update the license but don't know if each contributor will respond. I also typically choose MPL-v2 for my other projects. Would there be a main reason OSL-3 would fit better?

OSL is very similar to MPL. The primary difference is that it protects network use/SaaS like AGPL does. So if code from this mod is used in a server mod/plugin they still must give the freedoms required by the license to the players on the server. As this is a client mod, MPL should probably be fine, I just prefer OSL.

As for the contributors part, yes. As each contributor is technically the copyright holder for their contribution, you cannot distribute their copyright under a license they did not consent to it being distributed under. So, either they must approve the new license, or you need to remove/replace the parts of this mod they contributed. Unfortunately, only by removing their contributions can you even distribute only your own contributions under any other license, as otherwise you'd be violating the GPL license they licensed their contributions to you under.

TL;DR MPL good, OSL better IMO. License change requires approval of all contributors, so get their approval or remove/replace their contributions to change the license.

@gurrrrrrett3
Copy link

That seems like a massive pain in the ass for such a small change.

Also, I don't understand why you'd want to use it for something like SaaS/ on a server as this is a client side mod.

@Nolij
Copy link
Author

Nolij commented Sep 12, 2022

That seems like a massive pain in the ass for such a small change.

Also, I don't understand why you'd want to use it for something like SaaS/ on a server as this is a client side mod.

It is a pain, which is why I'm working on a drag-and-drop CLA (or something similar. Don't know if I can do that in a way that would be fair to contributors, but I'm trying to find out a way) so projects can do this more easily. As for it being a "small change", GPL being used in this project actually defeats the purpose of the GPL, as it technically means people aren't allowed to use it with Minecraft.

It'd be parts of it that would be used. In this case OSL isn't strictly speaking necessary, however licensing it under OSL does allow other OSL projects to use code from this mod more easily. As stated, MPL is perfectly fine for this mod.

Alternatively it would help people come to an agreement, the project could also be dual-licensed under MPL and OSL, making the code compatible with projects using either license. If you do end up doing that, I'd suggest throwing in LGPL too, as many Minecraft mods use LGPL. Any combination of the three, or any two could work. There are many options.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants