Skip to content

Instantly share code, notes, and snippets.

@EnzoDiazDev
Last active August 27, 2021 12:33
Show Gist options
  • Save EnzoDiazDev/31e73d0573142d0573eb58d69a5158fd to your computer and use it in GitHub Desktop.
Save EnzoDiazDev/31e73d0573142d0573eb58d69a5158fd to your computer and use it in GitHub Desktop.
Esta es una guía enteramente práctica, paso a paso, para principiantes absolutos, sobre cómo contribuir por primera vez en Github; cómo perderle el miedo al trabajo colaborativo.

Contribuir por primera vez en Github

Esta es una guía enteramente práctica, paso a paso, para principiantes absolutos, sobre cómo contribuir por primera vez en Github; cómo perderle el miedo al trabajo colaborativo.

El motivo de este documento es explicar una serie de pasos claros, repetibles, pausables y continuables, para que los nuevos programadores puedan situarse en una etapa del desarrollo de un proyecto y tomar una decisión para realizar su aporte.
Esta no pretende ser una guía profesional ni estrictamente basada en la realidad laboral, pues tampoco abarca metodologías de trabajo ni pautas de contribución propias de una organización o una comunidad.
Además, puede esquivar tecnicismos y buenas prácticas del trabajo colaborativo, ya que no se abarcan habilidades blandas, documentación de código o arquitectura, investigación, entre otros detalles más abstractos, debido a que suelen variar según los equipos, los proyectos, la cultura y la experiencia de las personas.
Estos últimos aspectos se solucionan con el primero de todos los pasos (#criterio), y es enteramente subjetivo.

El resumen del paso a paso se lee directamente desde el indice, no es necesario leer todo el documento gracias a que los títulos son lo suficientemente explicativos. El resto del contenido puede ayudarte a entenderlo mejor.
Lee también la nota: [por donde empezar](#por donde empezar) .

Indice

  • Criterio
  • Pasos previos
    • Elegir un proyecto
    • Leer el readme
    • Leer el code of conduct
    • Leer el contributing
    • Leer la documentación disponible
    • Leer la licencia del proyecto
    • Estudiar las tecnologías que utilizan
  • Primeros pasos
    • Detectar un problema o proponer una caracteristica
    • Analizar y redactar el problema
    • Buscar problemas ya planteados por otros contribuidores
    • Realizar la propuesta del problema
    • Debatir el problema
    • Si no lo es, convertir el problema en un issue de Github
  • Previo al desarrollo
    • Elegir un issue
    • Solicitar más documentación
    • Practicar fuera de contexto
    • Planificar el desarrollo
    • Asignar el issue o trabajarlo de forma independiente
    • Si es la primera vez:
      • Crear un fork del repositorio
      • Clonar tu fork a tu entorno local
  • Desarrollo
    • Crear una nueva rama para la característica o el issue
    • Trabajar en la solución
    • Subir tu rama a tu fork remoto
    • Realizar el Pull Request
    • Esperar las reviews y discutir tu trabajo
      • Si es necesario, volver a Trabajar en la solución
  • Post desarrollo
    • Esperar al lanzamiento de la versión con tu contribución
    • Volver a **Detectar un problema o proponer una característica Elegir un issue

Criterio

Analiza la comunidad en la que deseas participar.
En qué tipo de proyectos trabajan, quienes son los miembros involucrados, de dónde es la comunidad, cuáles son sus valores, el idioma oficial, los problemas que afrontan, y las soluciones que podrías ofrecer.

Esta es una decisión personal.
Nunca debes olvidar que no tienes la obligación de colaborar, es un acto enteramente voluntario y de bajo o nulo compromiso.

Elegir comunidades sanas, con reglas claras, con maintainers dispuestos a escucharte y a aceptarte, es crucial para que puedas desenvolverte con la mayor libertad, seguridad, confianza y profesionalismo posible. Esto desemboca directamente en un proyecto de alta calidad y de mucha satisfacción.

Conversar con otros contribuidores puede ser una experiencia realmente enriquecedora, siempre puedes contar con la asesoría de todos los miembros involucrados. Nunca consideres ser una molestia para la comunidad, pues todas siempre buscan el mayor apoyo posible.
A pesar que esta guía pretende independizarte, esto es realmente imposible.
Todas las comunidades entienden este aspecto y hasta cuentan con pequeños problemas reservados para nuevos contribuidores.
Incluso el más profesional necesita asesoría para contribuir en nuevas comunidades. Simplemente ponte en contacto hasta que recibas ayuda.

@EnzoDiazDev
Copy link
Author

Este documento se desarrolla según las dudas que surjan y se corregiran los errores que haya tenido.
Este gist es a su vez un espacio de discución y aporte a la guia.

Colaboradores:
https://github.com/EnzoDiazDev

@EnzoDiazDev
Copy link
Author

Links de utilidad:
https://opensource.guide/es/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment