diff --git a/engine/guidelines/best_practices.rst b/engine/guidelines/best_practices.rst index ad90ca7..30018c7 100644 --- a/engine/guidelines/best_practices.rst +++ b/engine/guidelines/best_practices.rst @@ -230,11 +230,5 @@ As a result, we are very picky with what goes in, and we tend to prefer smaller libraries (single header ones are our favorite). We will only bundle something larger if there is no other choice. -.. _doc_best_practices_for_engine_contributors_license_compliance: - Libraries must use a permissive enough license to be included into Godot. -Some examples of acceptable licenses are Apache 2.0, BSD, MIT, ISC, and MPL 2.0. -In particular, we cannot accept libraries licensed under the GPL or LGPL since -these licenses effectively disallow using it in proprietary software -(which Godot is distributed as in most exported projects). This -also applies for libraries that are only linked in the editor. +For more information, see :ref:`doc_licenses`. diff --git a/index.rst b/index.rst index 7b87c86..35a9306 100644 --- a/index.rst +++ b/index.rst @@ -25,6 +25,7 @@ for your topic of interest. You can also use the search function in the top-left organization/how_to_contribute organization/areas organization/pull_requests/index + organization/general_rules_and_guidelines .. toctree:: :hidden: diff --git a/organization/general_rules_and_guidelines.rst b/organization/general_rules_and_guidelines.rst new file mode 100644 index 0000000..85440f9 --- /dev/null +++ b/organization/general_rules_and_guidelines.rst @@ -0,0 +1,67 @@ +General rules and guidelines +============================ + +This page contains guidelines relevant for contributing to any area of Godot. + +When contributing to any particular area, please also refer to its respective guidelines. + +Respect our Code of Conduct +--------------------------- + +When you contribute to Godot, we expect that you respect our `Code of Conduct `__. + +.. _doc_licenses: + +Respect copyright +----------------- + +You must be mindful of the copyright and patent rights of anything you submit. + +If you authored every part of your contribution and own the rights, this is not a problem. +You can submit your contribution without reading further. + +However, any code or assets you took from somewhere else — including code generated by AI — may be subject to copyright +or patent rights, which you must respect. In such cases, you need to check the license of the material. Some licenses +are permissive enough to be compatible with Godot's `MIT license `. +You must include this license in your contribution. +Examples of compatible licenses include Apache 2.0, BSD, ISC, MPL 2.0, and MIT itself. + +Most other licenses are not compatible with Godot's license. This includes "copy-left" licenses like GPL or LGPL, +since these licenses effectively disallow static linking in proprietary software +(which Godot is distributed as in most exported projects). +This also applies for libraries that are only linked in the editor. + +"Source-available" is **not** "open-source". For example, you cannot submit exclusive code or ideas from proprietary +game engines like Unreal or Unity, nor use their code as inspiration. We strongly recommend against reading any +"source-available" code before contributing to Godot. + +Contribute only what you understand +----------------------------------- + +Please only submit code that you understand and are prepared to explain to a maintainer. + +If you do not fully understand the code, please take extra care to test it rigorously, and disclose this in your +pull request description. + +This especially applies if you implement the idea of another person, copy code from elsewhere, or if you use AI to +assist you with your contribution. In all of these cases, you must disclose which part of your submission wasn't fully +authored by you. + +AI-assisted contributions +------------------------- + +The use of AI to contribute to Godot is discouraged, and contributions made entirely by AI are prohibited. + +We acknowledge that AI can be useful, but we are convinced that human effort results in better and more relevant +contributions. + +.. note:: "AI" in this page refers to any LLM/generative + AI model like ChatGPT, Claude, Grok, etc., or any other + models that fulfill the same role. Using translation + software to communicate is fine, and single-line code + completion does not have to be disclosed. + +If you do use AI, we expect that you put in effort to proofread and improve anything it generates, and that you disclose +what you used AI for. As maintainers spend significant time reviewing your code, please make sure +that the code you submit is well-tested and functional. +Please be respectful of their time and only submit something you have put thought and effort into.