iopleke / MMPLv2

Minecraft Mod Public License v2
http://jakimfett.github.io/MMPLv2/
Other
31 stars 15 forks source link

Right to Modify #36

Open maxashen opened 8 years ago

maxashen commented 8 years ago

This license is missing a section titled "Right to Modify". Therefore I have tried to construct the equivalent rights from other sections:

  1. Right to examine

The User may decompile compiled binaries of the Mod. The User may examine the Mod's source code.

Examining the Mod is the first step in modifying it. As I raised in #34 this section is missing binary (raw) or disassembled examination, although as noted binary examination is implied by technical requirements.

Codebase: The Mod source code, complete with source history and Contributor records. ...

  1. Right to contribute

The User may "fork" the Codebase. The User may compile the Codebase.

Here I must define "fork" as creating a copy of the Codebase and appending my own modifications to the source code into the source history and Contributor records. I must also assume on good faith that §6.2 will also allow me to compile the forked Codebase; although this right is never explicitly given it does not make sense to fork without compiling the fork. The right to play the compiled fork is never explicitly given. The right to distribute the modified fork and its compiled binaries is only implied in the form of Derivatives:

  1. Right to derive

The User may create Derivative(s) based on the Mod. A Derivative must contain changes which a reasonably informed person would consider significant.

The User may distribute a Derivative if the following conditions are met:

  • The Derivative does not generate revenue.
  • The Derivative provides credit to the Author.
  • The Derivative complies with the Mod license.

As mentioned above, it is implied that the Derivative may be created when a fork is compiled, if the Derivative contains "changes which a reasonably informed person would consider significant". Note that the Mod license does not explicitly apply to the Derivative until it is distributed; as such it is unclear what rights the User has to a Derivative unless it is distributed. One could make the argument that the User is their own distributor but clearer wording is preferred. The rights of the Author over a Derivative are not enumerated here but rather under §8 (assets) and §10.2 (Mod name).

  1. Right to distribute addons

The User may develop non-Derivative Addons. An Addon may include the Mod API without being considered a Derivative. The Addon may be distributed under a different license.

Addons are defined as using only the API part of the mod. It is unclear what rights if any are given or denied to the User concerning their Addon, except for the Author rights reserved under §8 and §10.2. This conclusion is only reached after making a reasonable assumption that an Addon using only the API part of the Mod is not a fork of the Mod.


Conclusion

Unfortunately the above is all I could find about the right to modify the Mod. Here is a non-exhaustive list of things not addressed:

-Modification of the Mod which a reasonably informed person would consider insignificant -Binary (raw) modification -Dissassembling and reassembling bytecodes -Reassembling modified bytecodes

jakimfett commented 8 years ago

Fantastic analysis. Let me see if I can address a few of them:
Right to modify This isn't specifically mentioned, as you said. I'm still deciding if it needs to be, as modifications will either be significant (and can be distributed/played/etc so long as it doesn't violate the rest of the license), or non-significant, which is intentionally dis-allowed to prevent people from re-posting the mod with changes like "swapped out one of the textures" or "changed the wording of some notification messages", etc.
This is complicated by the fact that while I kinda want scammy mod reposting sites to die in a nuclear fire, I also want to encourage people to play with my code for the purposes of $doing_cool_stuff or learning about mods. The whole "changes which a reasonably informed person would consider significant", from a legal standpoint, means that in court, a mod reposting site would have to convince a jury that the changes they made were both significant and non-monetized.
To put it in plain english, I'll never go after someone who changed a few things with the mod, and is distributing it for their own server...provided they aren't monetizing it.
If you have any suggestions for how to make everything I've just said clear and concise, I'm all ears.
(sorry about the partial response, I'll add the rest of my thoughts on this as soon as I have time)

maxashen commented 8 years ago

I understand that the present approach to stop mod reposts is restricting distribution. Whether or not I agree with that decision is irrelevant for this issue, because restricted distribution and free modification are compatible.

Let's take a look at the most obvious example: the Minecraft EULA. Minecraft has extremely restrictive terms of distribution, nobody can redistribute any part of Minecraft except Mojang. Mojang simultaneously allows the user to modify Minecraft with "Mods". Furthermore Mojang allows the user to distribute "Mods", under certain conditions.

Now let's talk about our license. Like the Minecraft EULA, only the Author can distribute the Mod -- unless a Derivative or Addon is made. Addons are granted free distribution while Derivatives are granted more restrictive terms.

From where I'm sitting there is no problem letting the User modify the Mod by default.