|
| 1 | +General rules and guidelines |
| 2 | +============================ |
| 3 | + |
| 4 | +This page contains guidelines relevant for contributing to any area of Godot. |
| 5 | + |
| 6 | +When contributing to any particular area, please also refer to its respective guidelines. |
| 7 | + |
| 8 | +Respect our Code of Conduct |
| 9 | +------------------------------- |
| 10 | + |
| 11 | +When you contribute to Godot, we expect that you respect our `Code of Conduct <https://godotengine.org/code-of-conduct/>`__. |
| 12 | + |
| 13 | +.. _doc_licenses: |
| 14 | + |
| 15 | +Respect intellectual property |
| 16 | +----------------------------- |
| 17 | + |
| 18 | +You must be mindful of the intellectual property of anything you submit. |
| 19 | + |
| 20 | +If your contribution was completely authored by you, this is not a problem. You can submit your contribution |
| 21 | +without reading further. |
| 22 | + |
| 23 | +However, any code, images, or ideas you took from somewhere else are "intellectual property" of the source |
| 24 | +you took it from. |
| 25 | + |
| 26 | +In this case, you need to check the license of the intellectual property. Some are permissive enough to be compatible |
| 27 | +with Godot's `MIT license <https://github.com/godotengine/godot/blob/master/LICENSE.txt>`__. You must include this |
| 28 | +license in your contribution. |
| 29 | +Examples of acceptable licenses include Apache 2.0, BSD, MIT, ISC, and MPL 2.0. |
| 30 | + |
| 31 | +However, others are not compatible with Godot's license. This includes "copy-left" licenses like GPL or LGPL, |
| 32 | +since these licenses effectively disallow static linking in proprietary software |
| 33 | +(which Godot is distributed as in most exported projects). |
| 34 | +This also applies for libraries that are only linked in the editor. |
| 35 | + |
| 36 | +Another example of incompatible licenses you should be aware of is "source-available" code. |
| 37 | +Most notably, you cannot submit code or ideas from proprietary game engines like Unreal or Unity. |
| 38 | +This includes using their code as a reference. We strongly recommend against reading any "source-available" code before |
| 39 | +making contributions to Godot, as this may impact your ability to contribute. |
| 40 | + |
| 41 | +Contribute only what you understand |
| 42 | +----------------------------------- |
| 43 | + |
| 44 | +Please only submit code that you understand and are prepared to explain to a maintainer. |
| 45 | + |
| 46 | +If you do not fully understand the code, please take extra care to test it rigorously, and disclose this in your |
| 47 | +pull request description. |
| 48 | + |
| 49 | +This especially applies if you implement the idea of another person, copy code from elsewhere, or if you use AI to |
| 50 | +assist you with your contribution. In all of these cases, you must disclose which part of your submission wasn't fully |
| 51 | +authored by you. |
| 52 | + |
| 53 | +AI assisted contributions |
| 54 | +------------------------- |
| 55 | + |
| 56 | +The use of AI to contribute to Godot is discouraged. |
| 57 | + |
| 58 | +We acknowledge that AI can be useful, but we are convinced that human effort results in better and more relevant |
| 59 | +contributions. |
| 60 | + |
| 61 | +If you do use AI, we expect that you put in effort to proofread and improve anything it generates, and that you disclose |
| 62 | +what you used the AI for. Maintainers are spending their personal time reviewing your code, it is your job to ensure |
| 63 | +that the code you submit is well-tested and functional. |
| 64 | +Please be respectful of their time and only submit something you have put thought and effort into. |
| 65 | + |
| 66 | +Contributions made entirely by AI are prohibited. |
| 67 | + |
| 68 | +.. note:: When this page refers to "AI" it means any LLM/generative |
| 69 | + AI model like ChatGPT, Claude, Grok, etc., or any other |
| 70 | + models that fulfill the same role. Using translation |
| 71 | + software and single-line code completion is acceptable. |
0 commit comments