Skip to main content
  1. Blogs/

Cómo Hacer Que Las Personas Se Interesen en Contribuir en Tu Proyecto

·1536 words·8 mins· loading · loading ·
community

Así que tienes un proyecto que decidiste publicar bajo una licencia abierta, ¿qué sigue? ¿Cómo logras que las personas se interesen en contribuir en tu proyecto abierto?

Primero, cuando digo proyecto abierto, me refiero a cualquier proyecto publicado bajo una licencia como GPL, cualquier licencia de Código Abierto license, o una licencia Creative Commons. No todos los proyectos están relacionados con desarrollo de software. Hay proyectos sobre creación de contenido multimedia, como imágenes, texto, audio o video, y si quieres que cualquiera tenga acceso, pueda redistribuir el material o crear trabajos derivados, como sucede con el Software Libre y de Código Abierto, tendrás que usar una licencia Creative Commons, o GFDL si es un proyecto de documentación.

En mi artículo anterior, Una Guía Para Contribuir Al Código Abierto Sin Tener Conocimientos Técnicos, escribí sobre como contribuir al Código Abierto en áreas que no están relacionadas con desarrollo de software, y es algo que debe considerarse cuando se buscan personas que se unan al proyecto como contribuidores. Puedes necesitar un logo para tu proyecto, alguien que escriba la documentación o la traduzca a otro idioma.

A través de este artículo, aprenderás como preparar tu proyecto e invitar a otras personas a contribuir.

Primeros Pasos
#

Aquí hay algunos pasos a seguir para preparar tu proyecto:

  • Crea un repositorio para tu proyecto

  • Documenta tu proyecto y los procesos relacionados

    • Crea un README De acuerdo a Hillary Nyakundi, en este artículo, publicado en freeCodeCamp, un README es un archivo que le proporciona al usuario una descripción detallada del proyecto en el que has estado trabajando.

      También puede describirse como documentación con guías de como usar el proyecto. Generalmente tendrá instrucciones de como instalar e iniciar el proyecto.

      Puedes usar una plantilla para crear el README para tu proyecto: * GitHub README Templates * A template to make good README.md

      Usar el editor de readme.so

      O seguir las recomendaciones en Make a README

    • Agrega el archivo CONTRIBUTING.md Este archivo contiene instrucciones de como las personas pueden contribuir a tu proyecto, sin importar si es en el código, la documentación, traducciones u otro tipo de contribuciones.

      Algunos recursos útiles: * How to Build a CONTRIBUTING.md * Setting guidelines for repository contributors

      ¿Necesitas un ejemplo? Revisa la guía de contribución a la documentación de GitHub.

    • Agrega el archivo LICENSE Dependiendo de las características de tu proyecto, como mencioné anteriormente, puedes usar una licencia como GPL o cualquier license de Código Abierto aprovada por la Open Source Initiative, o una licencia Creative Commons para contenido multimedia, o GFDL si es un proyecto de documentación.

      Choose a License te puede ayudar a elegir la licencia correcta para tu proyecto.

    • Agrega el archivo CODE_OF_CONDUCT.md De acuerdo a la documentación de GitHub, un código de conducta define estándares sobre cómo participar en una comunidad. Señala un entorno inclusivo que respeta todas las contribuciones. También describe los procedimientos para abordar problemas entre miembros de la comunidad.

      Muchos proyectos de código abierto han adoptado el Contributor Covenant cómo su código de conducta. Revisa esta página para ver una lista de quienes lo están usando.

    • Crea la documentación técnica de tu proyecto Puedes usar cualquiera de las siguientes opciones: * Una wiki, cómo ArchWiki que usa MediaWiki * Read the Docs, usado por proyectos cómo Setuptools. Revisa Awesome Read the Docs para ver más ejemplos. * Crea un sitio web * Crea un blog, cómo la documentación de Blowfish, un tema para Hugo.

  • Configura los canales de comunicación Hay muchas opciones para configurar los canales de comunicación de tu proyecto, pero usa el menor número de opciones posibles. Para alguien sin un perfil técnico, puede ser difícil aprender a usar tantas herramientas cómo probablemente decidas usar. Mantén la comunicación tan simple cómo sea posible.

    Acá hay algunas opciones: * Listas de correos * Gitter, Slack, IRC, Telegram * Redes sociales

Crea Issues
#

De la documentación de GitLab, usa issues para colaborar en ideas, resolver problemas, y planear el trabajo. Comparte y discute propuestas con tu equipo y con colaboradores externos.

¿Cómo agregar los primeros issues a tu proyecto? Primero, haz una lista de las tareas que deben realizarse y para ello puedes usar:

Luego, agrega los issues en el repositorio de tu proyecto. Revisa las instrucciones para:

No olvides etiquetar tus issues apropiadamente. Para personas sin experiencia previa contribuyendo a proyectos de Código Abierto o cualquier proyecto abierto, debes considerar incluir issues con las siguientes etiquetas:

  • good first issue
  • help wanted
  • first timers only

Más información sobre etiquetas:

Los issues pueden ser técnicos o no técnicos, y estar relacionados a:

  • Reporte de errores
  • Solicitud de funcionalidades
  • Documentación
  • Localización
  • UI/UX
  • Diseño

¿Qué Hay en un Issue?
#

Un buen issue tiene:

  • Instrucciones de cómo empezar
  • Requisitos claros
  • Referencias a información relevante, incluyendo:
    • Guías de contribución
    • Código de conducta
    • Licencia

Tus usuarios y contribuidores también pueden crear issues para reportar errores o solicitar nuevas funcionalidades. Acá encontrarás más información sobre cómo agregar plantillas para tus issues, y pull requests o merge requests:

Cuando un nuevo contribuidor llega:

  • Responde con un mensaje de bienvenida como “¡Gracias, estoy para ayudar si tienes alguna pregunta!”, o agrega el welcome-bot
  • Comprométete a responder a las consultas

¿Qué es un pull/merge request?
#

Un pull request, cómo lo define GitHub, es una propuesta para mezclar un conjunto de cambios de una rama del repositorio a otra. En un pull request, colaboradores pueden revisar y discutir los cambios propuestos antes de que los cambios se integren a la base de código principal. Pull requests muestran las diferencias, o diffs, entre el contenido en la rama origen y el contenido en la rama objetivo.

GitLab define un merge request cómo una propuesta que incorpora cambios de una rama origen a una rama objetivo. Los merge requests incluyen:

  • Una descripción de la solicitud.
  • Cambios en el código y revisiones.
  • Información sobre pipelines de CI/CD.
  • Una sección de comentarios para hilos de discusión.
  • La lista de commits.

Asesorar Contribuidoeres
#

Issues con la etiqueta first timers only son buenos para incorporar nuevos contribuidores mediante mentoría. Muchas personas empiezan a contribuir al Código Abierto para aprender nuevas tecnologías o mejorar sus habilidades. Si tienes tiempo para guiar contribuidores, agrega tu nombre como mentor en el issue.

¿Debería continuar asesorando a este contribuidor? Acá hay algunas pautas generales al momento de elegir en que contribuidores invertir tiempo:

  • Disponible. Tiene el tiempo y quiere contribuir y aprender
  • Dispuesto a aprender. Puede aprender de ti y la comunidad
  • Apasionado. Tiene un interés genuino por el proyecto y la misión
  • Habilidades. ¿Tienen las habilidades que necesitas para tu proyecto?

Soporte Continuo
#

  • Prestar atención a los mensajes enviados a los canales de comunicación configurados para tu proyecto, y responder cualquier pregunta que pueda surgir
  • Ayuda a quienes no conocen Git mientras resuelven su primer issue Acá hay algunos recursos útiles que puedes compartir: * Getting started with Git * Learn Git
  • Dirige a las personas a issues con los que puedan empezar y realiza el seguimiento adecuado

Después de Contribuir
#

Una vez que han contribuido/enviado un pull/merge request:

  • Agradeceles por su trabajo. Puedes usar el welcome-bot
  • Proporciona comentarios buenos, consistentes y útiles durante una revisión - haz preguntas sobre lo que hicieron

Después de que su trabajo es mezclado:

  • Aprecia su trabajo. Puedes agregar la sección all-contributors al README de tu proyecto
  • Dirígeles al siguiente issue o tarea en el que puedan trabajar

¿Tienes swag para obsequiar? Stickers, camisetas, etc. Esa es otra forma de agradecer a tus contribuidores por su trabajo y el tiempo que dedican al proyecto.

Atraer Contribuidores
#

¿Quieres promover tu proyecto de Código Abierto? Dependiendo de tu disponiblidad, acá hay algunas opciones a considerar que te pueden ayudar a atraer contribuidores a tu proyecto:

  • Crea una lista de correos para mantener a tus usuarios y contribuidores actualizados sobre tu proyecto
  • Si ya te registraste a una lista de correos, envía un correo con información sobre tu proyecto y oportunidades de contribución
  • Publica información sobre tu proyecto en redes sociales
  • Usa aplicaciones de mensajería para invitar a personas
  • Escribe un artículo sobre tu proyecto
  • Crea un video y publicalo en redes sociales
  • Asiste u organiza eventos
    • Organiza un taller
    • Organiza un hackathon
    • Únete a Hacktoberfest
    • Participa cómo conferencista en una conferencia o meetup

La Regla Pac-Man
#

Asistir a eventos puede ser una oportunidad para promover tu proyecto, ya que puedes encontrar personas a las que les interesaría contribuir en tu proyecto.

Mientras asistes a un eventos y te unes a una conversación, no olvides seguir la regla Pac-Man, inventeada por Eric Holscher, y dice:

Cuando asistes cómo un grupo de personas, siempre deja espacio para que una persona se una a tu grupo

Cómo un Pac-Man.

Pac-Man

Dejar espacio para nuevas personas cuando asistes en grupo es una forma física de mostrar un ambiente acogedor e inclusivo.

Conclusión
#

A través de este artículo, aprendiste algunas formas de promover tu proyecto y hacer que las personas se interesen en contribuir en tu proyecto.

Related

Una Guía Para Contribuir Al Código Abierto Sin Tener Conocimientos Técnicos
·1629 words·8 mins· loading · loading
community
Mis Reglas Para Ser Conferencista Técnico
·2239 words·11 mins· loading · loading
community
Python: Optimización de Imagen de Docker
·447 words·3 mins· loading · loading
tutorial docker python
Rust: Optimización de Imagen de Docker con GitLab CI
·671 words·4 mins· loading · loading
tutorial docker rust gitlab
Desplegar un Clúster de MongoDB con Docker Compose
·519 words·3 mins· loading · loading
tutorial docker linux mongodb