complying_with_licenses.rst 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. .. _doc_complying_with_licenses:
  2. Complying with licenses
  3. =======================
  4. What are licenses?
  5. ------------------
  6. Godot is created and distributed under the `MIT License <https://opensource.org/licenses/MIT>`_.
  7. It doesn't have a sole owner either, as every contributor that submits code to
  8. the project does it under this same license and keeps ownership of the
  9. contribution.
  10. The license is the legal requirement for you (or your company) to use and
  11. distribute the software (and derivative projects, including games made with it).
  12. Your game or project can have a different license, but it still needs to comply
  13. with the original one.
  14. .. note::
  15. This section covers compliance with licenses from a user perspective.
  16. If you are interested in licence compliance as a contributor, you can find
  17. guidelines :ref:`here <doc_best_practices_for_engine_contributors_license_compliance>`.
  18. .. warning::
  19. In your project's credits screen, remember to also list third-party notices
  20. for assets you're using, such as textures, models, sounds, music and fonts.
  21. Free assets in particular often come with licenses that require attribution.
  22. Double-check their license before using those assets in a project.
  23. Requirements
  24. ------------
  25. In the case of the MIT license, the only requirement is to include the license
  26. text somewhere in your game or derivative project.
  27. This text reads as follows:
  28. This game uses Godot Engine, available under the following license:
  29. Copyright (c) 2014-present Godot Engine contributors.
  30. Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
  31. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  32. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  33. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  34. .. note::
  35. Your games do not need to be under the same license. You are free to release
  36. your Godot projects under any license and to create commercial games with
  37. the engine.
  38. Inclusion
  39. ---------
  40. The license does not specify how it has to be included, so anything is valid as
  41. long as it can be displayed under some condition. These are the most common
  42. approaches (only need to implement one of them, not all).
  43. .. tip::
  44. Godot provides several methods to get license information in the Engine
  45. singleton. This allows you to source the license information directly from
  46. the engine binary, which prevents the information from becoming outdated if
  47. you update engine versions.
  48. For the engine itself:
  49. - :ref:`Engine.get_license_text<class_Engine_method_get_license_text>`
  50. For third-party components used by the engine:
  51. - :ref:`Engine.get_license_info<class_Engine_method_get_license_info>`
  52. - :ref:`Engine.get_copyright_info<class_Engine_method_get_copyright_info>`
  53. For miscellaneous engine contributor information. You don't have to include
  54. these ones in your project, but they're listed here for reference:
  55. - :ref:`Engine.get_author_info<class_Engine_method_get_author_info>`
  56. - :ref:`Engine.get_donor_info<class_Engine_method_get_donor_info>`
  57. Credits screen
  58. ^^^^^^^^^^^^^^
  59. Include the above license text somewhere in the credits screen. It can be at the
  60. bottom after showing the rest of the credits. Most large studios use this
  61. approach with open source licenses.
  62. Licenses screen
  63. ^^^^^^^^^^^^^^^
  64. Some games have a special menu (often in the settings) to display licenses.
  65. This menu is typically accessed with a button called **Third-party Licenses**
  66. or **Open Source Licenses**.
  67. Output log
  68. ^^^^^^^^^^
  69. Printing the licensing text using the :ref:`print() <class_@GlobalScope_method_print>`
  70. function may be enough on platforms where a global output log is readable.
  71. This is the case on desktop platforms, Android and HTML5 (but not iOS).
  72. Accompanying file
  73. ^^^^^^^^^^^^^^^^^
  74. If the game is distributed on desktop platforms, a file containing the license
  75. can be added to the software that is installed to the user PC.
  76. Printed manual
  77. ^^^^^^^^^^^^^^
  78. If the game includes printed manuals, license text can be included there.
  79. Link to the license
  80. ^^^^^^^^^^^^^^^^^^^
  81. The Godot Engine developers consider that a link to ``godotengine.org/license``
  82. in your game documentation or credits would be an acceptable way to satisfy
  83. the license terms.
  84. Third-party licenses
  85. --------------------
  86. Godot itself contains software written by
  87. `third parties <https://github.com/godotengine/godot/blob/master/COPYRIGHT.txt>`_.
  88. Most of it does not require license inclusion, but some do.
  89. Make sure to do it if these are compiled in your Godot export template. If
  90. you're using the official export templates, all libraries are enabled. This
  91. means you need to provide attribution for all the libraries listed below.
  92. Here's a list of libraries requiring attribution:
  93. FreeType
  94. ^^^^^^^^
  95. Godot uses `FreeType <https://www.freetype.org/>`_ to render fonts. Its license
  96. requires attribution, so the following text must be included together with the
  97. Godot license:
  98. Portions of this software are copyright © <year> The FreeType Project (www.freetype.org). All rights reserved.
  99. .. note::
  100. <year> should correspond to the value from the FreeType version used
  101. in your build. This information can be found in the editor by opening
  102. the **Help > About** dialog and going to the **Third-party Licenses**
  103. tab.
  104. ENet
  105. ^^^^
  106. Godot includes the `ENet <http://enet.bespin.org/>`_ library to handle
  107. high-level multiplayer. ENet has similar licensing terms as Godot:
  108. Copyright (c) 2002-2020 Lee Salzman
  109. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  110. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  111. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  112. mbed TLS
  113. ^^^^^^^^
  114. If the project is exported with Godot 3.1 or later, it includes `mbed TLS <https://tls.mbed.org>`_.
  115. The Apache license needs to be complied to by including the following text:
  116. Copyright The Mbed TLS Contributors
  117. Licensed under the Apache License, Version 2.0 (the "License"); you may
  118. not use this file except in compliance with the License.
  119. You may obtain a copy of the License at
  120. http://www.apache.org/licenses/LICENSE-2.0
  121. Unless required by applicable law or agreed to in writing, software
  122. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  123. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  124. See the License for the specific language governing permissions and
  125. limitations under the License.
  126. .. note::
  127. If you exported your project using a
  128. :ref:`custom build with specific modules disabled <doc_optimizing_for_size>`,
  129. you don't need to list the disabled modules' licenses in your exported project.