Licensing

From Minetest Wiki
Jump to navigation Jump to search

Recently a considerable number of Minetest-based games have been appearing in the Android playstore, and Google Play. See the list of Minetest forks for examples of these.

Please look at: FlightGear as they have the same issue as Minetest has.

Complying with the License

The code of both the Minetest Engine and Minetest Game are licensed under LGPL 2.1+ free software license. Other components may be similarly licensed, however this document does not cover them. Note that this document is only intended for informational purposes, for the real legally binding terms you should read the LGPL 2.1+ license.

  • You must link to the source code behind your software
    • Which must also be licensed under LGPL 2.1 or later, or a compatible license. Also see "what if I use proprietary source code/libraries?".
    • If any modifications were made to the Minetest Engine or Game, you must state this inside of your application, and provide a means to download the **modified** source code.
    • If you did not modify any source code, you must still link to the source code behind the software - however this can be the official Minetest repo if unmodified
  • You must not remove any copyright notices.
  • You must state significant changes to the software.
  • You must not mix proprietary and LGPLv2.1+ code, see "what if I use proprietary source code/libraries?".
  • You should place the following attribution on any pages where the software can be downloaded, including but not limited to Google Play or a website:

This [app/game/...] uses the Minetest engine [and game], Copyright 2010-2018 Perttu Ahola and contributors, licensed under LGPLv2.1+

It is an infringement to only link back to the original source code if you made modifications

Where should I put any links?

  • Any locations where the software is downloaded, including but not limited to Google Play or a website.
  • You should place a link in the main menu (for example, in the credits tab).

What if I use proprietary source code/libraries?

  • Don't mix proprietary code with LGPL code. For example, if you use a proprietary ad library, then you can only call it from proprietary code.
  • Any LGPL code must be replaceable. The user must be able to use their own version of any LGPL code with your software. You must also provide documentation on how to do this.
  • Any proprietary code you wrote must not forbid reverse-compilation for the purpose of debugging modifications to the LGPL code.
  • You must fully and prominently attribute the Minetest project if your software contains any proprietary code.

This, in affect, means that you will need to completely rewrite the Java section of the app and just use Minetest as an NDK library. Make sure you include instructions on how to replace any LGPLv2.1+ code.

The legal text behind this is in section 4.

See also

What to do if I spot a program that is possibly infringing Minetest's license?

If you think that a certain program is infringing on Minetest's LGPL 2.1 license, please check with the program's website to see if it is licensed under similar terms, and if the source code is being distributed.If the license seems to be proprietary, and if the developer alleges that the program is their own work, then contact celeron55. Alternatively, join the Minetest IRC channel and report it there. It doesn't matter if anyone replies or not, it will be logged and the community will check on it themselves. There is also an attempt to list forks of Minetest at the "Making a list of Minetest forks for Android" thread in the forums. If the programm you discovered is missing there you could add it.


What not to do if a program is infringing Minetest's license

DO NOT TAKE ANY ACTION AGAINST THE DEVELOPER - You must report it to the Minetest devs instead.

Even if it is as clear as day that a certain program is using code and artwork from Minetest and is not distributing it under similar conditions, please do not attempt, or do the following:

  1. Do not launch a witch-hunt. This is the 21st century. Please behave appropriately.
  2. Do not attempt to crack, grief, or crash their servers.
  3. Do not attempt to contact the infringing program's developer. Any contact made with the developer shall be after consensus with respected members of the community at large and the Core Development Team.

The above has largely only resulted in a lot of drama, mostly ending with the infringing developer gaining the upper hand and getting away with using Minetest's code while violating the license. Please don't do it.