Quiero contribuir, ¿por dónde empiezo?

Sobre colaborar en proyectos Open Source

Hoy vi esta charla de ashleymcnamara en la GopherCon (hablando de Go, estoy aprendiendo y escribo al respecto, quizás te interese), donde cuenta un poco de su camino como desarrolladora.

En este tipo de conferencias suele haber charlas no técnicas como esta, donde se habla de temas como los aspectos humanos del desarrollo de software, problemas con los que lidiamos más allá de las máquinas, la importancia de una comunidad.

Particularmente esta charla habla de cómo empezar a contribuir a proyectos Open Source, aunque recién estés empezando.

Contribuyendo y eliminando excusas

En un proyecto, contribuir no se trata sólamente del código.

  • “No soy buen@ programando”
  • “No tengo tiempo”
  • “No sé en qué proyecto trabajar”

Mito: tenés que ser excelente programando para poder contribuir.

En general, no es el caso.

Se necesitan contribuciones de gente de todos los niveles

Inclusive de alguien que recién está aprendiendo.

Una contribución pequeña es mejor que ninguna

Los proyectos Open Source no se limitan a gente que ya programa y tiene mucha experiencia.

Si ya usás el producto, tenés más conocimiento del que creés para empezar a contribuir.

¿Por dónde empiezo?

Preguntate qué habilidades tenés ahora que te parezcan puedan sumar. Por ahí sabés sobre diseño y podés crear un logo, o manejás bien las redes sociales y podés ayudar a darle difusión.

Escuchar es la mejor forma de saber qué es lo que se necesita. Hablá con gente que ya esté involucrada, leé blogs, suscribite a algún newsletter, buscá en reddit, googleá.

Trabajando con tickets

No todo en el mundo del desarrollo es divertido. Resolver tickets, por ejemplo.

Reportar bugs es una contribución muy importante a un proyecto, porque además de escribir código, tenemos que asegurarnos de que funcione correctamente. La descripción del bug tiene que ser detallada para ahorrarle tiempo al resto.

Cerrar bugs ya arreglados también es importante, para no perder tiempo.

Trabajando con el código

Podés hacer muchas cosas, independientemente de tu nivel:

  • Testear una versión beta y dar feedback al respecto.
  • Arreglar un bug: acá y acá podés encontrar muchos issues ideales para gente que quiere hacer su primera contribución.
  • Escribir tests.
  • Agregar comentarios al código.

Documentación

Si estás leyendo la documentación del proyecto y te parece confusa, incompleta o encontrás errores, una de las mejores cosas que podés hacer es mejorarla.

Trabajar con la comunidad

El código abierto funciona si tiene una comunidad detrás que funcione.
Por ejemplo, podés

  • Hacer y responder preguntas al respecto.
  • Escribir un post en un blog, contando tu experiencia.
  • Mejorando el sitio. Muchos programadores no tenemos talento para el diseño.

Fallar es parte del aprendizaje

No te preocupes, todos fallamos en algún momento. Lo que no está bueno es no haber aprendido de la experiencia.

En resumen

Para contribuir, el conocimiento es el último requisito. Lo que tengas que aprender, lo vas a aprender eventualmente.

Lo realmente importante es tu buena voluntad y ganas de que el proyecto siga adelante.