Difference between revisions of "Licensing"

From Minetest Wiki
Jump to navigation Jump to search
(→‎Minetest on Android: Added a custom build link. Can someone check this?)
(mv)
 
(29 intermediate revisions by 7 users not shown)
Line 1: Line 1:
In the past few months, especially after the community released some Android builds of the engine, apps like “Starve game”, “Lime Minetest”, and the erstwhile “BuildCraft” have been cropping up in Google Play and the App Store. Simply put, these builds are simply a repackaging of the Minetest engine and subgame. These Minetest builds are usually obsolete, often include advertisements and do not undergo the rigorous testing subject to the Minetest engine.
+
{{Languages|nocat=1}}
  
The [https://www.gnu.org/licenses/lgpl-2.1.html LGPL 2.1+ free software license], [http://wiki.minetest.net/Minetest under which Minetest is distributed] ''does'' allow implicit distribution of the compiled game, and subsequent modifications that are distributed by default.
+
Recently a considerable number of Minetest-based games have been appearing in the Android playstore, and Google Play. See the [[Overview of Minetest forks|list of Minetest forks]] for examples of these.
  
Most games that use Minetest as their source for their (non-free?) version only link back to the original source code, not the modified source code, which must be made free for all paying (or not) paying users of the program.
+
''Please look at: [http://www.flightgear.org/flightprosim.html 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 [https://www.gnu.org/licenses/lgpl-2.1.html 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 [https://www.gnu.org/licenses/lgpl-2.1.html LGPL 2.1+ license].
  
''Please look at: [http://www.flightgear.org/flightprosim.html FlightGear] as they have the same issue as Minetest has.''
+
* 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:
 +
<blockquote>This [app/game/...] uses the Minetest engine [and game], Copyright 2010-2018 Perttu Ahola and contributors, licensed under LGPLv2.1+</blockquote>
 +
 
 +
'''It is an infringement to only link back to the original source code if you made modifications'''
  
== List of known Minetest forks and those recognized by the community ==
+
=== Where should I put any links? ===
  
These are community recognized forks, or modifications to the original Minetest game, that operate under the LGPL and/or GPL, and are free to download, play and modify.
+
* 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).
  
=== Freeminer ===
+
=== What if I use proprietary source code/libraries? ===
  
[http://freeminer.org '''Freeminer'''] is an ongoing project started by ex-Minetest developers who wanted to merge some exciting features into the main engine. Unfortunately, the features they worked on caused performance issues with the game, due to which those patches were rejected. Disillusioned by the lack of innovative development,these developers split off from the main Minetest engine, and decided to create a voxel engine where perfection is not paramount, and the main target is to make new features. It is distributed under the GPLv3
+
* '''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.
  
=== Minetest Classic ===
+
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.
  
[http://minetest-classic.com '''Minetest Classic'''] is a fork of Minetest 0.3.1, which is a heavily modified version and licensed under GPL 3+, which has much more content than what the vanilla Minetest 0.3.1 contained, like farming, new biomes and more tools.
+
The legal text behind this is in [https://www.gnu.org/licenses/lgpl.html#section4 section 4].
 +
Also see [https://opensource.stackexchange.com/questions/4357/how-can-lgpl-and-proprietary-licenses-be-combined]
  
== Minetest on Android ==
+
=== See also ===
  
Minetest for the Android platform is in active development, with new builds being released regularly. While the builds are not currently deemed worthy of being published on the Google Play Store, they are playable, and can be downloaded [https://forum.minetest.net/viewtopic.php?f=42&t=9389 from this forum page]. A custom build is also available [https://forum.minetest.net/viewtopic.php?f=42&t=10460 here]
+
* https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)
 +
* https://www.gnu.org/licenses/lgpl-2.1.html
 +
* https://softwareengineering.stackexchange.com/questions/86142/what-exactly-do-i-need-to-do-if-i-use-a-lgpl-licenced-library
  
 
== What to do if I spot a program that is possibly infringing Minetest's license? ==
 
== 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 [mailto:celeron55@gmail.com celeron55]. Alternatively, join the [http://webchat.freenode.net/?channels=#minetest 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.
+
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 [mailto:celeron55@gmail.com celeron55]. Alternatively, join the [http://webchat.freenode.net/?channels=#minetest 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 "[https://forum.minetest.net/viewtopic.php?p=242219#p242219 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 ===
 
=== 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:
 
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:
  
 
# Do not launch a witch-hunt. This is the 21<sup>st</sup> century. Please behave appropriately.
 
# Do not launch a witch-hunt. This is the 21<sup>st</sup> century. Please behave appropriately.
# Do not attempt to hack, grief, or crash their servers. They will try to file a lawsuit for hacking.
+
# Do not attempt to crack, grief, or crash their servers.
 
# 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.
 
# 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.
 
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.
  
[[Category:Minetest (Root Category)]]
+
[[Category:About Minetest]]
 +
[[Category:Languages_pages]]

Latest revision as of 05:27, 16 April 2021

Languages Language: English

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. Also see [1]

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.