Hay diferentes actividades que puedes realizar: leer código de buenos programadores y leer libros de programación, montar proyectos por cuenta propia, participar en desafíos de programación (en sitios como CodeForce, Spoj), entre otras cosas.
Esta vez les voy a explicar sobre cómo pueden ayudar a proyectos de la comunidad de Software Libre y pulir sus habilidades al mismo tiempo. Los conduciré paso a paso sobre cómo conseguir un proyecto amigable para novatos y realizar su primera colaboración.
La mayoría de estos proyectos tienen su código en plataformas como Github y Bitbucket. Estas páginas son interfaces gráficas de Git, un sistema de control de versión para que desarrolladores puedan colaborar en proyectos juntos, sin perder los cambios que están haciendo, y si algo sale mal, tener la habilidad de ir al “pasado” del proyecto antes de que un cambio lo afectará negativamente.
Aquí les doy las instrucciones paso a paso para Github, ya que muchas de las organizaciones más conocidas tienen sus repositorios en esta plataforma.
Recomendación: Saber sobre sistemas de control de versión como Git les ayudará mucho, Platzi tiene el Curso Profesional de Git y Github si necesitan aprender o repasar sobre el tema. También es necesario saber escribir y leer en **inglés.
Busca un proyecto amigable para novatos:
Esto significa que tienen una buena documentación en el repositorio, e idealmente un documento del estilo Contributing.md en donde expliquen cuál es la forma correcta para contribuir al proyecto. Si en la documentación aluden a que que aceptan primerizos, es muy probable que si tienes dudas de como resolver un problema, recibas ayuda.
Esta lista de [Proyectos Amigables para Principiantes en Github] (https://github.com/MunGell/awesome-for-beginners) es un buen sitio donde comenzar, tienen los proyectos clasificados en lenguajes de programación y comentarios de los mismos.
Si conoces a la Organización y has usado esa herramienta en específico es un bonus, ayudar al mantenimiento de algo que usas día a día es una gran experiencia. Normalmente organizaciones conocidas como Python y Mozilla son muy amigable**s a primerizos.
Familiarízate con el Proyecto:
Lee el código y entiende cómo está estructurado. Busca la sección de Issues (Problemas), donde también hay Features (Mejoras Sugeridas), y Pull Requests (Cambios al Código por Confirmar).
Aprende sobre el proyecto y que necesitan. Algunos proyectos buscan ayuda en áreas que no son necesariamente código, como escribir documentación de mejor calidad y ayudar con la expansión de la marca, esta es una muy buena manera de involucrarte en la comunidad si quieres contribuir de otras formas. En Issues puedes ver los problemas que están señalados como Help Wanted (buscan ayuda).
Si quieres mantenerte atento a lo que pasa en un repositorio, Github tiene un botón de “watch” con el que te llegarán al correo notificaciones de todo lo que ocurra. Ten cuidado si el proyecto es muy grande, puede que recibas muchas notificaciones.
Encuentra un bug y arreglalo:
Leíste el repositorio y te sientes listo para resolver uno de los problemas o realizar alguna de las mejoras. ¿Ahora qué?
Empieza comentando que vas a intentar resolver el problema en la página donde lo señalaron inicialmente, esto es una cortesía para que otros sepan que estás trabajando en él. Luego haz una copia local del repositorio (Fork) y ejecuta el cambio que tienes en mente de forma local, desde tu cuenta personal de github. Aunque puedes hacer esto desde el repositorio principal, es un buen hábito hacerlo desde uno local.
Cuando el cambio que realizaste este listo, realiza un Pull Request al repositorio principal, con un mensaje explicando lo que hiciste. Los que se encargan sobre mantener el proyecto verificarán el cambio y decidirán si aceptarlo o no.
¿Por qué estudiar programación? Conoce las razones.
Tú código fue aceptado/negado, siguientes pasos:
¡Felicitaciones! Hiciste tu primera sugerencia a un Proyecto de Software Libre. Ahora puedes seguir buscando problemas en otros proyectos o puedes seguir contribuyendo al mismo. Es de mucha ayuda la gente que se queda a contribuir en un proyecto por un tiempo, puede seguir mejorándolo y ayudando a gente nueva que también quiere dar su primer paso.
Estos son muy buenos artículos y materiales si quieres aprender más del tema:
First Timer’s Only (Solo Principiantes) una iniciativa para dar la bienvenida a los nuevos. Es muy recomendada porque también explica cómo hacer que tus proyectos sean amigables a principiantes.
Open Source Guide (Guía del Software Libre), tiene historias sobre las experiencias de otras personas y esta muy completa.
Your First PR (Github y Twitter) donde señalan buenos problemas para principiantes).
Este repositorio de FreeCodeCamp con muchos recursos y guías de cómo comenzar a contribuir, también tiene una sección increíble de búsqueda de bugs señalados como amigables para principiantes.
Como siempre, si tienen alguna pregunta escribanla en los comentarios y con mucho gusto les respondo. También pueden preguntarme por Twitter a @mgbohorquez. Espero que los haya motivado para dar ese primer paso a la comunidad Open Source. ¡Éxito!.
Este post vale oro! Lo compartiré con todos los principiantes que pueda 😃