Formas de contribuir

Godot Engine es un proyecto sin fines de lucro, impulsado por la comunidad, libre y de código abierto. Casi todos (excepto nuestro desarrollador líder, Juan. Más sobre esto abajo) están trabajando pro bono en su tiempo libre, por interés personal y por el amor de crear un motor libre de calidad excepcional.

Esto significa que para prosperar, Godot necesita que tantos usuarios como sea posible se involucren contribuyendo al motor. Hay muchas formas de contribuir a un proyecto tan grande, haciendo posible que todos aporten algo positivo al motor, independientemente de sus habilidades:

  • Forma parte de la comunidad. La mejor manera de contribuir a Godot y ayudar a que sea cada vez mejor es simplemente usar el motor y promocionarlo de boca en boca, en los créditos o pantalla de bienvenida de tus juegos, entradas de blog, tutoriales, videos, demostraciones, eventos de gamedev o software libre, soporte en los foros de preguntas y respuestas, IRC, Discord, etc. ¡Participa! Ser un usuario y defensor ayuda a correr la voz acerca de nuestro gran motor, que no tiene presupuesto de marketing y por lo tanto sólo puede confiar en su comunidad para llegar a ser más popular.

  • Haz juegos. No es ningún secreto que, para convencer a los nuevos usuarios y especialmente a la industria en general de que Godot es un competidor importante en el mercado, necesitamos grandes juegos hechos con Godot. Sabemos que el motor tiene mucho potencial, tanto para juegos en 2D como en 3D, pero dada su corta edad todavía nos faltan grandes lanzamientos que llamen la atención sobre Godot. Así que sigue trabajando en tus increíbles proyectos ¡Cada nuevo juego aumenta nuestra credibilidad en el mercado de desarrollo de videojuegos!

  • Involúcrate en el desarrollo del motor. Esto puede ser contribuyendo código a través de pull requests, probando los snapshots de desarrollo o directamente en la rama git master, reportando bugs o sugiriendo mejoras en el issue tracker, mejorando la documentación oficial (tanto la referencia de la clase como los tutoriales) y sus traducciones. Las siguientes secciones cubrirán cada una de esas formas "directas" de contribuir al motor.

  • Donación. Godot es un proyecto sin ánimo de lucro, pero aún así puede beneficiarse de las donaciones de los usuarios para muchas cosas. Aparte de los gastos habituales como los costes de alojamiento o el material promocional de los eventos, también utilizamos el dinero de las donaciones para adquirir hardware cuando es necesario (por ejemplo, utilizamos el dinero de las donaciones para comprar un MacBook Pro para implementar el soporte Retina/HiDPI y otras características relacionadas con el MacOS). Y lo más importante, también utilizamos el dinero de las donaciones para contratar a los desarrolladores del núcleo para que puedan trabajar a tiempo completo en el motor. Incluso con un salario mensual bajo, necesitamos un ingreso constante de donaciones para continuar haciendo esto, lo cual ha sido muy beneficioso para el proyecto hasta ahora. Así que si quieres donar algo de dinero al proyecto, revisa "nuestro sitio web" <https://godotengine.org/donate>`_ para más detalles.

Contribuyendo con el código

La posibilidad de estudiar, usar, modificar y redistribuir modificaciones del código fuente del motor son los derechos fundamentales que la licencia MIT te otorga, haciéndolo software libre y de código abierto.

Como tal, cualquier personas es El código fuente de Godot, y enviar dichas modificaciones al proyecto en forma de parche (un archivo de texto describiendo los cambios en una forma lista-para-aplicar) o - en el flujo moderno de trabajo que usamos - mediante un "pull request" (PR), es decir, una propuesta para combinar uno o mas commits de Git(parches) en la rama principal de desarrollo.

Contribuir con cambios de código hacia arriba (upstream) tiene dos grandes ventajas:

  • Tu propio código será revisado y mejorado por otros desarrolladores, y se mantendrá directamente en el proyecto upstream, por lo que no tendrás que reaplicar tus propios cambios cada vez que actualices a una versión más reciente. Sin embargo, esto también conlleva una responsabilidad, ya que tus cambios deben ser lo suficientemente genéricos para beneficiar a todos los usuarios y no solo a tu proyecto. En algunos casos, puede seguir siendo relevante mantener tus cambios solo para tu propio proyecto si son demasiado específicos.

  • Toda la comunidad se beneficiará de tu trabajo, y otros colaboradores actuarán de la misma manera, contribuyendo con cambios de código que te serán útiles. ¡En el momento de escribir esto, más de 1000 desarrolladores han contribuido con cambios de código al motor!

Para garantizar una buena colaboración y calidad general, los desarrolladores de Godot imponen algunas reglas para las contribuciones de código, por ejemplo, en lo que respecta al estilo a utilizar en el código C++ (sangría, corchetes, etc.) o el flujo de trabajo de Git y las solicitudes de extracción (PR).

Un buen lugar para comenzar es buscando problemas etiquetados como good first issue en GitHub.

Ver también

Los detalles técnicos sobre el flujo de trabajo de las solicitudes de extracción (Pull Requests o PR) se describen en una sección específica, Flujo de trabajo para los Pull request.

Los detalles sobre las pautas de estilo de código y la herramienta "clang-format" utilizada para hacer cumplir estas pautas se describen en Directrices de estilo de código.

Todos los pull requests deben pasar por un proceso de revisión antes de ser aceptados. Dependiendo del alcance de los cambios, puede llevar algún tiempo que un mantenedor responsable de la parte modificada del motor proporcione su revisión. Valoramos a todos nuestros colaboradores y les pedimos que tengan paciencia en el ínterin, ya que se espera que en un proyecto de código abierto como Godot haya muchas más contribuciones que personas validándolas.

Para asegurarse de que su tiempo y esfuerzo no se desperdicien, se recomienda primero evaluar la idea antes de implementarla y presentarla para su revisión como un pull request (PR). Para ello, Godot tiene un sistema de propuestas. Se fomenta su uso para planificar cambios y discutirlos con la comunidad. También se pueden discutir los detalles de implementación con otros colaboradores en el Godot Contributors Chat.

Nota

Las propuestas solo son necesarias cuando se trabaja en una mejora o una nueva característica. Los informes de errores son suficientes para corregir problemas.

Pruebas e informes de problemas

Otra excelente forma de contribuir al motor es probar las versiones de desarrollo o la rama de desarrollo y reportar problemas. También es útil informar problemas encontrados en versiones estables, para que puedan ser corregidos en la rama de desarrollo y en futuras versiones de mantenimiento.

Pruebas de versiones de desarrollo

Para ayudar con las pruebas, tienes varias posibilidades:

  • Compila el motor desde el código fuente siguiendo las instrucciones de la página Compilar para tu plataforma.

  • Prueba las versiones binarias oficiales previas al lanzamiento cuando sean anunciadas (generalmente en el blog y otras plataformas de la comunidad), como las versiones alfa, beta y las versiones candidatas a lanzamiento (RC).

  • Prueba "versiones no oficiales confiables" de la rama de desarrollo; simplemente pregunta a los miembros de la comunidad por proveedores confiables. Sin embargo, siempre que sea posible, es mejor utilizar binarios oficiales o compilarlos tú mismo para asegurarte de su procedencia.

Como se mencionó anteriormente, también es útil estar atento a posibles errores que aún puedan estar presentes en las versiones estables, especialmente cuando se utilizan características menos comunes del motor que podrían recibir menos pruebas por parte de los desarrolladores.

Presentar un problema en GitHub

Godot utiliza el sistema de seguimiento de problemas de GitHub para informar sobre errores y sugerir mejoras. Necesitarás una cuenta en GitHub para poder abrir un nuevo problema y hacer clic en el botón New issue (Nuevo problema).

Cuando informes de algún error, debes tener en cuenta que el proceso es similar a una cita con tu médico. Has notado síntomas que te hacen pensar que algo podría estar mal (el motor se cuelga, algunas características no funcionan como se esperaba, etc.). Es el papel del equipo de localización de fallos y de los desarrolladores ayudar a realizar el diagnóstico del problema que se ha encontrado, para que la causa real del fallo pueda ser identificada y abordada.

Por lo tanto, siempre debes preguntarte: ¿qué información relevante debo proporcionar para que otros colaboradores de Godot puedan entender el error, identificarlo y, con suerte, corregirlo? Aquí hay algunos de los datos más importantes que siempre debes proporcionar:

  • Sistema operativo. A veces, los errores son específicos del sistema, es decir, ocurren solo en Windows, o solo en Linux, etc. Esto es especialmente relevante para todos los errores relacionados con las interfaces del sistema operativo, como la gestión de archivos, la entrada, la gestión de ventanas, el audio, etc.

  • Hardware. A veces, los errores son específicos del hardware, es decir, ocurren solo en ciertos procesadores, tarjetas gráficas, etc. Si es posible, puede ser útil incluir información sobre su hardware.

  • Versión de Godot. Esto es fundamental. Algunos problemas pueden ser relevantes en la versión estable actual, pero estar resueltos en la rama de desarrollo, o viceversa. También es posible que esté utilizando una versión obsoleta de Godot y experimentando un problema conocido que se ha solucionado en una versión posterior, por lo que saber esto desde el principio ayuda a acelerar el diagnóstico.

  • Cómo reproducir el error. En la mayoría de los casos, los errores son reproducibles, es decir, es posible activarlos de manera confiable siguiendo algunos pasos. Siempre describe esos pasos de la manera más clara posible, para que todos puedan intentar reproducir el problema y confirmarlo. Idealmente, crea un proyecto de demostración que reproduzca el problema directamente, comprímelo en un archivo ZIP y adjúntalo a la incidencia (puedes hacer esto arrastrando y soltando el archivo). Incluso si crees que el problema es trivial de reproducir, agregar un proyecto mínimo que permita que todos lo reproduzcan es de gran valor añadido. Ten en cuenta que hay miles de problemas en el rastreador, y los desarrolladores solo pueden dedicar poco tiempo a cada uno.

Cuando hagas clic en el botón New issue, se te presentará un área de texto prellenada con nuestra plantilla de incidencia. Por favor, intenta seguirla para que todas las incidencias sean consistentes y proporcionen la información requerida.

Contribuyendo a la documentación

En Godot, hay dos recursos diferentes que se denominan "documentación":

  • La referencia de clases. Esta es la documentación de la API completa de Godot tal como está expuesta a GDScript y a otros lenguajes de scripting. Puede consultarse sin conexión directamente en el editor de código de Godot o en línea en Godot API. Para contribuir a la referencia de clases, debes editar el archivo XML correspondiente a la clase y hacer una solicitud de extracción (pull request). Consulta Contribuyendo a la referencia de la clase y Directrices para escribir la referencia de clases para obtener más detalles.

  • Los tutoriales y la documentación del motor y sus traducciones. Esta es la parte que estás leyendo ahora, que se distribuye en formato HTML. Su contenido se genera a partir de archivos de texto simples en formato reStructured Text (rst), a los cuales puedes contribuir mediante solicitudes de extracción (pull requests) en el repositorio de GitHub godot-docs. Consulta Contribuyendo a la documentación para obtener más detalles.

Contribución de traducciones

Para hacer que Godot sea accesible para todos, incluidos los usuarios que prefieren recursos en su idioma nativo en lugar del inglés, nuestra comunidad ayuda a traducir tanto el editor de Godot como su documentación a muchos idiomas.

Ver Localización del editor y de la documentación para más detalles.