Участие в разработке

Возможность изучать, использовать, изменять и распространять модификации исходного кода движка - это основные права, которые предоставляет вам лицензия Godot MIT, что делает движок бесплатным ПО с открытым исходным кодом.

Таким образом, каждый имеет право изменять исходный код Godot и отправлять эти изменения обратно вышестоящему проекту в виде патча (текстовый файл, описывающий изменения готовым к применению способом) или в современном рабочем процессе, который мы используем, через так называемый "пулл-реквест" (PR), то есть предложение напрямую объединить один или несколько коммитов (патчей) Git в основную ветвь разработки.

Внесение изменений в код имеет два больших преимущества:

  • Ваш собственный код будет проверяться и улучшаться другими разработчиками и в дальнейшем будет поддерживаться непосредственно в исходном проекте, поэтому вам не придется повторно применять свои собственные изменения каждый раз, когда вы переходите к более новой версии. С другой стороны, это накладывает определённую ответственность, поскольку ваши изменения должны быть достаточно общими, чтобы приносить пользу всем пользователям, а не только вашему проекту; поэтому в некоторых случаях может оказаться уместным сохранить изменения только для вашего собственного проекта, если они слишком специфичны.

  • The whole community will benefit from your work, and other contributors will behave the same way, contributing code that will be beneficial to you. At the time of this writing, over 2,000 developers have contributed code changes to the engine!

Чтобы обеспечить хорошее сотрудничество и общее качество, разработчики Godot применяют некоторые правила для добавления кода, например, касающиеся стиля, используемого в коде C++ (отступы, скобки и т.д.) или рабочего процесса Git и PR.

Хорошее место для начала - поиск проблем, помеченных как хороший первый запрос на GitHub.

См. также

Технические подробности о рабочем процессе PR изложены в специальном разделе Механизм Pull request.

Подробная информация о рекомендациях по стилю кода и инструменте clang-format, используемом для их выполнения, изложена в Code style guidelines.

Все запросы на внесение изменений должны пройти процесс рассмотрения, прежде чем они будут приняты. В зависимости от масштаба изменений, может потребоваться некоторое время, чтобы мейнтейнер, ответственный за изменённую часть движка, предоставил свой отзыв. Мы ценим всех наших участников и просим их проявить терпение, поскольку ожидается, что в проекте с открытым исходным кодом, таком как Godot, будет гораздо больше вкладов, чем людей, проверяющих их.

Чтобы ваше время и усилия не пропали даром, рекомендуется сначала проверить идею, прежде чем реализовывать её и выставлять на рассмотрение в качестве PR. Для этого в Godot есть система предложений ` <https://github.com/godotengine/godot-proposals>`_ . Её использование поощряется для планирования изменений и обсуждения их с сообществом. Детали реализации также можно обсудить с другими участниками в чате Godot Contributors Chat.

Примечание

Предложения требуются только при работе над улучшением или новой функцией. Для устранения проблем достаточно сообщений об ошибках.

Тестирование и отчёты о проблемах

Ещё один отличный способ внести свой вклад в движок - это тестировать релизы или ветку разработки и сообщать о проблемах. Также полезно сообщать о проблемах, обнаруженных в стабильных выпусках, чтобы их можно было исправить в ветви разработки и в будущих отладочных выпусках.

Тестирование версий, находящихся в разработке

У вас есть несколько способов помочь с тестированием:

  • Скомпилируйте движок из исходного кода самостоятельно, следуя инструкциям на странице Compiling для вашей платформы.

  • Тестируйте официальные предварительные сборки, когда они анонсируются (в блогах и на других платформах сообщества), например, альфа-, бета-версии и релиз-кандидаты (RC).

  • Тестируйте "доверенные" неофициальные сборки ветки разработки; просто спросите у членов сообщества надежных провайдеров. По возможности лучше использовать официальные сборки или скомпилировать самостоятельно, чтобы быть уверенным в происхождении ваших сборок.

Как упоминалось ранее, также полезно следить за потенциальными ошибками, которые могут все еще присутствовать в стабильных версиях, особенно при использовании некоторых нишевых возможностей движка, которым разработчики могут уделять меньше внимания.

Регистрация проблемы на GitHub

Godot uses GitHub's issue tracker for bug reports. When you start filing a bug report, you’ll be given a form to fill out. Please try to follow it so that all issues are consistent and provide the required information.

Вклад в документацию

В Godot есть два отдельных ресурса, которые называются "документацией":

  • The class reference. This is the documentation for the complete Godot API as exposed to GDScript and the other scripting languages. It can be consulted offline, directly in Godot's code editor, or online at Godot Class Reference. To contribute to the class reference, you have to edit the XML file corresponding to the class and make a pull request. See Внесение вклада в справочник классов and Class reference primer for more details.

  • Учебники и документация по движку и их переводы. Эта часть, которую вы сейчас читаете, распространяется в формате HTML. Её содержимое генерируется из обычных текстовых файлов в формате reStructured Text (rst), в которые вы можете внести свой вклад с помощью запросов на исправление на репозитории godot-docs GitHub. Более подробную информацию смотрите в Вклад в документацию.

Вклад в переводы

Чтобы сделать Godot доступным для всех, включая пользователей, которые предпочитают ресурсы на своем родном языке вместо английского, наше сообщество помогает переводить как редактор Godot, так и документацию к нему на многие языки.

Дополнительную информацию смотрите здесь: Локализация редактора и документации.