Difference between revisions of "Licensing"

From Minetest Wiki
Jump to navigation Jump to search
m (cat)
m (the forum thread got renamed)
 
(34 intermediate revisions by 10 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, 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 Luanti-based games have been appearing in the Android playstore, and Google Play. See the [[Overview of Luanti forks|list of Luanti 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 Luanti has.''
  
''Please look at: [http://www.flightgear.org/flightprosim.html FlightGear] as they have the same issue as Minetest has.''
+
== Complying with the License ==
  
== List of known Minetest forks and those recognized by the community ==
+
The code of both the Luanti 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].
  
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.
+
* 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 Luanti engine or Minetest 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 Luanti 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 Luanti engine [and Minetest Game], Copyright 2010-2018 Perttu Ahola and contributors, licensed under LGPLv2.1+</blockquote>
  
=== Freeminer ===
+
'''It is an infringement to only link back to the original source code if you made modifications'''
  
[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
+
=== Where should I put any links? ===
  
=== Minetest Classic ===
+
* 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).
  
[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.
+
=== What if I use proprietary source code/libraries? ===
  
== Minetest on Android ==
+
* '''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 Luanti project if your software contains any proprietary code.
  
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].
+
This, in affect, means that you will need to completely rewrite the Java section of the app and just use Luanti as an NDK library.
 +
Make sure you include instructions on how to replace any LGPLv2.1+ code.
  
== What to do if I spot a program that is possibly infringing Minetest's license? ==
+
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]
  
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.
+
=== See also ===
  
=== What not to do if a program is infringing Minetest's license ===
+
* 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
  
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:
+
== What to do if I spot a program that is possibly infringing Luanti's license? ==
 +
 
 +
If you think that a certain program is infringing on Luanti'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 Luanti 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 Luanti at the "[https://forum.minetest.net/viewtopic.php?p=242219#p242219 Making a list of Luanti 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 Luanti's license ===
 +
 
 +
'''DO NOT TAKE ANY ACTION AGAINST THE DEVELOPER''' - You must report it to the Luanti devs instead.
 +
 
 +
Even if it is as clear as day that a certain program is using code and artwork from Luanti 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 Luanti's code while violating the license. Please don't do it.
  
[[Category:Minetest (Root Category)]]
+
[[Category:About Luanti]]
 +
[[Category:Languages_pages]]

Latest revision as of 17:55, 27 October 2024

Languages Language: English

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

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

Complying with the License

The code of both the Luanti 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 Luanti engine or Minetest 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 Luanti 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 Luanti engine [and Minetest 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 Luanti 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 Luanti 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 Luanti's license?

If you think that a certain program is infringing on Luanti'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 Luanti 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 Luanti at the "Making a list of Luanti 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 Luanti's license

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

Even if it is as clear as day that a certain program is using code and artwork from Luanti 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 Luanti's code while violating the license. Please don't do it.