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
- Sigue esta guía de Atlassian
Documenta tu proyecto y los procesos relacionados
Crea un
README
De acuerdo a Hillary Nyakundi, en este artículo, publicado en freeCodeCamp, unREADME
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.mdUsar 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:
- Un pizarrón o una ventana
- Un cuaderno o notas adhesivas
- Aplicaciones para tomar notas. Acá hay una lista de aplicaciones para tomar notas en Linux
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 laregla 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.
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.