Contribuir a juegos de código abierto: lo que los educadores deben saber

Hay un momento que cambia la forma en que los estudiantes piensan sobre la tecnología. Es cuando se dan cuenta de que el software que usan a diario fue creado por personas, que esas personas toman decisiones y que ellos podrían ser una de esas personas.

Para la mayoría de los estudiantes, ese momento nunca llega. El software escolar aparece como un producto terminado. Las aplicaciones se actualizan durante la noche. El código es invisible. La tecnología es algo que ellos experimentan, no algo que moldean.

Contribuir a un proyecto de código abierto es una de las formas más directas de romper ese patrón. Y contribuir a un juego de código abierto podría ser la versión más atractiva, porque a los estudiantes ya les interesan los juegos y el trabajo se siente como un juego.

Esta guía es para educadores que piensan en integrar la contribución al código abierto en un salón de clases, club o programa extracurricular. Cubriremos por qué es importante, cómo se ve en la práctica y cómo hacerlo funcionar sin abrumarte a ti ni a tus estudiantes. Usaremos nuestro propio juego educativo, Threadbare, como ejemplo constante, pero todo lo que aquí se menciona aplica a cualquier proyecto de código abierto que elijas.

Por qué la contribución al código abierto pertenece a la educación

La propuesta de que los estudiantes contribuyan al código abierto no se trata realmente de programar. Se trata de lo que los estudiantes aprenden al ser parte de algo real.

  1. Las audiencias reales lo cambian todo. Cuando un estudiante escribe un ensayo, su audiencia es el profesor. Cuando un estudiante contribuye a un juego de código abierto, su audiencia es cada jugador de ese juego. El trabajo no es simulado. La retroalimentación no es simulada. El orgullo de ver que algo que crearon llega a usuarios reales tampoco es simulado. Esa es una experiencia educativa distinta a cualquier cosa que ocurra en un salón de clases típico.
  2. Enseña las habilidades reales que buscan los empleadores y las universidades. Git, revisión de código, leer el código de otros, escribir documentación, discutir soluciones en un hilo de problemas, aceptar críticas con madurez. Estas son las habilidades diarias del trabajo moderno en software y casi ninguna se enseña en los planes de estudio estándar. Los estudiantes que han contribuido a un proyecto de código abierto llegan a la universidad o a su primera pasantía con un portafolio real y experiencia real.
  3. Fomenta la ciudadanía digital. El código abierto enseña que internet es algo que puedes crear, no solo consumir. Los estudiantes aprenden que las herramientas que usan son mantenidas por comunidades, que esas comunidades tienen normas y desacuerdos, y que participar es una habilidad que se desarrolla con el tiempo. Para los estudiantes que pasarán sus vidas en línea, esto es fundamental.
  4. Llega a estudiantes a los que otros enfoques no alcanzan. Algunos estudiantes se entusiasman con el diseño de juegos, pero se bloquean ante la "informática". Otros son escritores que jamás se inscribirían en una clase de programación, pero que estarían encantados de aportar diálogos o ramificaciones narrativas a un juego basado en una historia. Contribuir a juegos de código abierto es una forma excepcionalmente buena de conectar con los estudiantes dondequiera que estén, ya que los juegos requieren muchos roles: artistas, escritores, diseñadores de sonido, evaluadores, traductores, defensores de la accesibilidad y, por supuesto, programadores. Con el tiempo, los estudiantes se verán expuestos a las mismas tareas que evitaban, pero en un contexto menos intimidante. 

Students seated at individual desks in a classroom using tablets for learning activities.

Qué significa realmente "contribuir" (no todo es código)

Esto es lo más importante que debes entender antes de llevarlo al aula: El código es solo un tipo de contribución entre muchas otras. Un proyecto de juego de código abierto saludable da la bienvenida a todo esto:

  • Reportes de errores. Jugar con atención, encontrar algo que no funciona y redactar un reporte claro. Esta es una contribución real y valiosa, accesible para cualquier estudiante.
  • Comentarios de pruebas de juego (playtesting). Observaciones estructuradas sobre qué es divertido, qué resulta confuso y qué es frustrante. Los estudios de videojuegos pagan por esto.
  • Documentación. Escribir tutoriales, corregir errores tipográficos en el archivo README y mejorar las instrucciones de instalación. Son excelentes primeras contribuciones.
  • Arte y recursos. Sprites de personajes, mosaicos de fondo, iconos y animaciones. Muchos juegos de código abierto están ávidos de arte.
  • Sonido y música. Efectos de sonido, pistas ambientales y actuación de voz para escenas cinemáticas.
  • Traducción y localización. Un estudiante que habla dos idiomas puede traducir la interfaz o los diálogos de un juego. Es un trabajo de gran impacto y muy visible.
  • Mejoras de accesibilidad. Subtítulos, paletas de colores para daltónicos, reasignación de controles, opciones de tamaño de fuente. Los estudiantes aprenden que la accesibilidad es parte del proceso de diseño, no algo que se añade al final.
  • Redacción y narrativa. Diálogos, descripciones de objetos, historia del juego. Ideal para clases de inglés y escritura creativa.
  • Código. Corrección de errores, nuevas funciones, mejoras de rendimiento.

Esto es importante por dos razones. Primero, significa que contribuir al código abierto no es solo para clases de informática. Un profesor de arte, de escritura o de idiomas puede dirigir una unidad de contribución significativa. Segundo, significa que cada estudiante en tu clase puede encontrar algo con qué contribuir, sin importar su nivel de habilidad al comenzar.

Cómo se ve esto en la práctica: Threadbare como ejemplo de trabajo

Creamos Threadbare, un juego de rol narrativo gratuito y de código abierto, en parte para que los educadores tuvieran un proyecto real y listo para el aula en el que los estudiantes pudieran contribuir. Creado en Godot y alojado en GitHub, Threadbare pone a los jugadores en el papel de Tejedores de Historias que restauran un mundo en ruinas recuperando relatos, tradiciones y culturas. El juego está abierto para que cualquiera pueda modificar el código, escribir narrativa, crear arte o colaborar con desarrolladores reales.

Para educadores, padres que educan en casa y programas extracurriculares que buscan una forma estructurada de llevar esto a un espacio de aprendizaje, hemos creado tres experiencias educativas en torno a Threadbare: Explore (una serie de talleres introductorios sobre diseño de juegos, el motor Godot y IA), Core (un programa de equipo de 18 sesiones donde los estudiantes lanzan una StoryQuest completa), y More (una experiencia comunitaria de creación de juegos para estudiantes avanzados).  

“Al principio, no pensé que pudiera ser diseñadora. No tenía experiencia en dibujo, pero asumir el rol me desafió a aprender, practicar y explorar nuevas habilidades. La experiencia me motivó a seguir estudiando diseño fuera del programa y a descubrir un nuevo interés creativo”. - Alexandra, estudiante de Perú. 

Pero no tienes que usar exclusivamente nuestro plan de estudios para lograr buenos resultados. Los principios a continuación se aplican a cualquier proyecto de juego de código abierto que elijas, y el resto de esta publicación trata sobre cómo hacer que la contribución estudiantil funcione en tu contexto.

Lo que necesitarás (y lo que no)

A veces, los educadores asumen que integrar contribuciones de código abierto en el aula requiere una gran experiencia técnica. En realidad, no es así. Esto es lo que realmente necesitas:

Necesitas:

  • Un proyecto que reciba bien a los estudiantes colaboradores. No todos los proyectos de código abierto lo hacen. Busca aquellos que explícitamente mencionen la educación, tengan etiquetas de "good first issue" (buen primer problema) y respondan amablemente a los principiantes. Threadbare está diseñado para esto; al igual que otros juegos educativos de código abierto.
  • Familiaridad básica con el flujo de contribución. No necesitas saber escribir el código tú mismo. Sí necesitas entender qué es branching, un pull request y un issue, lo suficiente como para ayudar a un estudiante cuando se quede atascado.
  • Una forma para que los estudiantes usen Git. Las opciones basadas en la web, como el editor web de GitHub o GitHub Codespaces, funcionan para cambios sencillos; las cuentas administradas por el aula funcionan para contribuciones más complejas.
  • Un canal de comunicación con el proyecto. La mayoría de los juegos de código abierto tienen un Discord, un foro o hilos de discusión activos. Saber dónde preguntar es la mitad de la batalla.

No necesitas:

  • Ser programador. Pero sí necesitas saber algo de programación para poder apoyar a algunos estudiantes de vez en cuando. 
  • Hardware de gama alta. La mayoría de las contribuciones a juegos de código abierto funcionan bien en una Chromebook o en una laptop escolar básica.
  • Permiso de un proveedor. Esta es una de las ventajas estructurales del código abierto: nada está restringido.
  • Un plan perfecto. La contribución al código abierto es iterativa por diseño. Empezar poco a poco y aprender junto con tus estudiantes es exactamente como funciona la propia comunidad de código abierto.

Consejos prácticos para que esto funcione

Algunas cosas que hemos aprendido al implementar esto en aulas reales.

  1. Comienza con contribuciones que no sean de código. Incluso en una clase de ciencias de la computación. Haz que todos reporten un error o escriban una pequeña parte de la documentación antes de que alguien toque el código. Esto enseña la disciplina de escribir de forma clara y concreta, y ayuda a que los estudiantes se familiaricen con las normas de comunicación del proyecto antes de que las cosas se pongan más serias.
  2. Limita las contribuciones a una o dos sesiones de clase. Las contribuciones largas estancan y desmotivan a los estudiantes. Una corrección de errores que se completa en una sola sesión vale más pedagógicamente que una función que se arrastra durante cuatro semanas. Si un estudiante quiere algo más grande, excelente, pero haz que la primera contribución sea pequeña. Ver un progreso pequeño los motivará a seguir adelante y los animará a realizar contribuciones más grandes. 
  3. Trata la revisión de código como la lección, no como el obstáculo. Cuando un mantenedor comenta en la solicitud de extracción (pull request) de un estudiante, ese comentario es la retroalimentación más valiosa que el alumno recibirá en todo el semestre, siempre y cuando el mantenedor le dedique el tiempo adecuado. Coméntenlo en clase. Lean juntos hilos de PR en proyectos reales de código abierto. La revisión de código es donde ocurre el aprendizaje real.
  4. Utiliza la comunidad del proyecto de manera reflexiva. La mayoría de los proyectos de código abierto tienen servidores de Discord o foros con personas de todas las edades. Decide con antelación si tus estudiantes interactuarán directamente con la comunidad o si canalizarás toda la comunicación a través de ti, y establece expectativas tanto con tus alumnos como con el proyecto.

Por dónde empezar

Si contribuir a Threadbare te parece adecuado para tu clase, nos encantaría contar contigo. Algunos puntos de partida:

  • Comienza con Explore si tus estudiantes son nuevos en la creación de juegos. Los talleres de 1 hora son la forma más sencilla de empezar, y pueden ser dirigidos por cualquier facilitador, sin importar su experiencia en programación.
  • Pasa a Core cuando estés listo para un programa de 18 sesiones donde los estudiantes construyen y lanzan un StoryQuest completo en equipo.
  • Únete a nuestro Discord para educadores para hacer preguntas, compartir lo que estás intentando y conectar con otros profesores que están haciendo lo mismo.

Si prefieres contribuir a un proyecto diferente, también está muy bien. Muchos de los juegos y herramientas que cubrimos en nuestra guía de motores de juegos de código abierto para educadores cuentan con comunidades activas que buscan ayuda.

Dentro de unos años, la mayoría de tus alumnos no recordará el error específico que corrigieron ni el sprite que dibujaron. Pero recordarán el momento en que vieron su trabajo publicado para usuarios reales. Recordarán la primera vez que un desconocido en internet escribió "gracias, esto me ayudó" en un pull request que enviaron. Recordarán la sensación de haber contribuido a algo más grande que ellos mismos.

Agradecemos a Heather Drolet, Directora de Experiencia de Aprendizaje en Endless Access, quien cuenta con más de 20 años de experiencia en educación, por sus consejos, comentarios y notas.

Subscribe to our newsletter
Register for Free